JPWO2017154565A1 - 共同作業システム、編集制御プログラム及び編集制御方法 - Google Patents

共同作業システム、編集制御プログラム及び編集制御方法 Download PDF

Info

Publication number
JPWO2017154565A1
JPWO2017154565A1 JP2018504347A JP2018504347A JPWO2017154565A1 JP WO2017154565 A1 JPWO2017154565 A1 JP WO2017154565A1 JP 2018504347 A JP2018504347 A JP 2018504347A JP 2018504347 A JP2018504347 A JP 2018504347A JP WO2017154565 A1 JPWO2017154565 A1 JP WO2017154565A1
Authority
JP
Japan
Prior art keywords
editing
terminal
server
predetermined object
determined
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.)
Pending
Application number
JP2018504347A
Other languages
English (en)
Inventor
俊介 ▲高▼村
俊介 ▲高▼村
真也 荻布
真也 荻布
一真 竹内
一真 竹内
浅井 克彦
克彦 浅井
新 勇一
勇一 新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
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 Konica Minolta Inc filed Critical Konica Minolta Inc
Publication of JPWO2017154565A1 publication Critical patent/JPWO2017154565A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Digital Computer Display Output (AREA)
  • Document Processing Apparatus (AREA)

Abstract

複数の端末間での共同作業において、ある端末で行われた編集を迅速かつ適切に他の端末の表示データに反映させて、端末間の表示の同期のパフォーマンスを向上させる共同作業システム、編集制御プログラム及び編集制御方法を提供する。共同作業を行う各クライアント端末の制御部(編集制御プログラム)は、1又は複数のオブジェクトを表示するための表示データをサーバから受信し、表示データに基づく画面を表示部に表示させ、操作部による操作を受け付けて、所定のオブジェクトに対する編集操作が行われたかを判定し、所定のオブジェクトに対する編集操作が行われたと判定した場合に、編集操作の内容を示す編集情報をサーバと他の端末とに送信する制御を行い、他の端末は、サーバから受信した表示データと端末から受信した編集情報とに基づいて、所定のオブジェクトを編集した画面を自端末の表示部に表示させる。

Description

本発明は、共同作業システム、編集制御プログラム及び編集制御方法に関し、特に、複数の端末を用いて共同作業を行う共同作業システム、各々の端末における編集を制御する編集制御プログラム及び共同作業システムにおける編集制御方法に関する。
サーバに保存されたデータを複数の端末にて同時に共有表示し、共同で編集できるようにすることにより、遠隔会議等でコンテンツ共有を実現する共同作業システムが提案されている。この共同作業システムにおいて、複数の端末での共同作業を円滑に進めるためには、ある端末で操作を行った内容が他の端末にリアルタイムに伝わることが重要である。特に、ある端末でユーザが共有表示されているデータの編集を開始した時に、他の端末でも同時に別のユーザが共有表示されているデータの編集を開始してしまうと編集操作の競合が発生し、他の端末での操作のデータへの反映が遅れれば遅れるほど、この競合が発生しやすくなることから、端末間での表示の同期のパフォーマンスを向上させることが重要である。
このような共同作業システムに関して、例えば、下記特許文献1には、複数のユーザが利用するための複数のクライアントと、サーバとを有し、複数の前記クライアントの複数のユーザによる共同作業を支援する共同作業支援システムが開示されている。前記サーバは、共同作業に参加するユーザの前記クライアントの画面上に表示させる部品に対応する所定の対象の属性情報と、前記対象に関するアドレス情報とを含む部品情報を記憶する部品情報記憶手段と、前記部品情報を前記共同作業に参加する前記ユーザの前記クライアントに対して送信する送信手段とを有する。また、前記クライアントは、前記部品情報を受信する受信手段と、前記部品情報に基づいて、前記部品を前記画面に表示させる表示制御手段とを有する。
また、複数の端末をネットワークで接続するシステムにおけるパフォーマンスを向上させる技術に関して、下記特許文献2には、以下の情報処理装置が開示されている。即ち、複数の情報処理装置から構成されるシステムであって、互いに通信が可能な組み合わせの情報処理装置が接続し情報通信を行う事が可能な状態において、当該情報処理装置は、その時点の転送状況にあわせて最適化した情報を送受信しながら通信を行う。
また、下記特許文献3には、自端末と他の端末との間のネットワーク状態を計測するネットワーク状態計測手段と、自端末および他の端末の処理性能を計測する処理性能計測手段と、ユーザの操作に応じて発生する操作イベントのサンプリング間隔と、前記ネットワーク状態および前記処理性能の計測結果とに応じて最適データ削減率を決定するデータ削減率計算手段と、前記最適データ削減率に基づいて、他の端末に送信する操作共有データを削減するデータ削減手段と、を含む端末が開示されている。
特開2011−034491号公報 特開2004−355303号公報 WO2013/073125号公報
特許文献1のように、各端末が、データを保存しているサーバからデータを取得して閲覧し、また、いずれかの端末でデータの編集を行った場合は、編集情報をこの端末からサーバに送信し、サーバから各端末に編集情報を送信するシステムでは、編集情報はサーバを介して2回送信されることになるため、他の端末で表示されているデータに編集が反映されるまでに時間がかかる。
また、特許文献2のように、通信状況に応じて送信する際のデータ形式を変える(負荷が高い時はデータサイズがより小さくなる形式で送る)方法や、特許文献3のように、ネットワーク負荷に応じて通信するデータを間引く方法を採用したとしても、操作を行った端末からサーバ、サーバから他の端末という2回の編集情報の通信が発生している点については改善されないため、他の端末で表示されているデータに編集が反映されるまでの時間を効果的に短縮することができない。
すなわち、従来の、サーバを介したデータ共有により複数の端末間での共同作業を実現する共同作業システムでは、端末間の表示の同期のパフォーマンスが悪いという問題がある。
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、複数の端末間での共同作業において、ある端末で行われた編集を迅速かつ適切に他の端末の表示データに反映させて、端末間の表示の同期のパフォーマンスを向上させることができる共同作業システム、編集制御プログラム及び編集制御方法を提供することにある。
本発明の一側面は、1又は複数のオブジェクトを表示するための表示データを管理するサーバと、前記サーバから前記表示データを受信する複数の端末と、を備え、前記サーバと前記複数の端末とが互いに通信ネットワークで接続され、前記複数の端末で前記1又は複数のオブジェクトを閲覧し、編集することによって共同作業を行う共同作業システムであって、各々の前記端末は、前記表示データに基づく画面を表示する表示部と、前記1又は複数のオブジェクトに対する編集操作を受け付ける操作部と、前記操作部から出力される操作信号に基づいて、前記1又は複数のオブジェクトのうち所定のオブジェクトに対する編集操作が行われたかを判定する操作判定部と、前記所定のオブジェクトに対する編集操作が行われたと判定された場合に、前記編集操作の内容を示す編集情報を、前記サーバと他の端末とに送信する通信制御部と、を備え、前記他の端末は、前記サーバから受信した前記表示データと、前記端末から受信した前記編集情報と、に基づいて、前記所定のオブジェクトを編集した画面を自端末の前記表示部に表示させることを特徴とする。
本発明の一側面は、1又は複数のオブジェクトを表示するための表示データを管理するサーバと、前記サーバから前記表示データを受信する複数の端末と、が通信ネットワークで接続され、前記複数の端末で前記1又は複数のオブジェクトを閲覧し、編集することによって共同作業を行う共同作業システムにおける、各々の前記端末で動作する編集制御プログラムであって、各々の前記端末に、前記サーバから前記表示データを受信する受信処理、表示部に、前記表示データに基づく画面を表示させる表示処理、前記1又は複数のオブジェクトに対する編集操作を受け付ける操作部から出力される操作信号に基づいて、前記1又は複数のオブジェクトのうち所定のオブジェクトに対する編集操作が行われたかを判定する判定処理、前記所定のオブジェクトに対する編集操作が行われたと判定した場合に、前記編集操作の内容を示す編集情報を、前記サーバと他の端末とに送信する送信処理、を実行させ、前記他の端末は、前記サーバから受信した前記表示データと、前記端末から受信した前記編集情報と、に基づいて、前記所定のオブジェクトを編集した画面を自端末の前記表示部に表示させることを特徴とする。
本発明の一側面は、1又は複数のオブジェクトを表示するための表示データを管理するサーバと、前記サーバから前記表示データを受信する複数の端末と、が通信ネットワークで接続され、前記複数の端末で前記1又は複数のオブジェクトを閲覧し、編集することによって共同作業を行う共同作業システムにおける編集制御方法であって、各々の前記端末は、前記サーバから前記表示データを受信する受信処理と、表示部に、前記表示データに基づく画面を表示させる表示処理と、前記1又は複数のオブジェクトに対する編集操作を受け付ける操作部から出力される操作信号に基づいて、前記1又は複数のオブジェクトのうち所定のオブジェクトに対する編集操作が行われたかを判定する判定処理と、前記所定のオブジェクトに対する編集操作が行われたと判定した場合に、前記編集操作の内容を示す編集情報を、前記サーバと他の端末とに送信する送信処理と、を実行し、前記他の端末は、前記サーバから受信した前記表示データと、前記端末から受信した前記編集情報と、に基づいて、前記所定のオブジェクトを編集した画面を自端末の前記表示部に表示させることを特徴とする。
本発明の共同作業システム、編集制御プログラム及び編集制御方法によれば、複数の端末間での共同作業において、ある端末で行われた編集を迅速かつ適切に他の端末の表示データに反映させて、端末間の表示の同期のパフォーマンスを向上させることができる。
その理由は、共同作業を行う各クライアント端末の制御部(編集制御プログラム)は、1又は複数のオブジェクトを表示するための表示データをサーバから受信し、表示データに基づく画面を表示部に表示させ、操作部による操作を受け付けて、所定のオブジェクトに対する編集操作が行われたかを判定し、所定のオブジェクトに対する編集操作が行われたと判定した場合に、編集操作の内容を示す編集情報をサーバと他の端末とに送信する制御を行うからである。さらに、他の端末から編集情報を受信した際に、サーバから受信した表示データと他の端末から受信した編集情報とに基づいて、所定のオブジェクトを編集した画面を自端末の表示部に表示させるからである。
共同作業システムの動作(共同作業開始時)を説明する模式図である。 従来の共同作業システムの動作(編集時の動作)を説明する模式図である。 本発明の一実施の形態に係る共同作業システムの動作(編集時の動作)を説明する模式図である。 本発明の一実施例に係る共同作業システムの構成を示す模式図である。 本発明の一実施例に係る共同作業システムの構成を示す模式図である。 本発明の一実施例に係るクライアント端末の構成を示すブロック図である。 本発明の一実施例に係るクライアント端末の構成を示すブロック図である。 本発明の一実施例に係るサーバの構成を示すブロック図である。 本発明の一実施例に係るサーバの構成を示すブロック図である。 本発明の一実施例に係るクライアント端末の動作を示すフローチャート図である。 本発明の一実施例に係るサーバの動作を示すフローチャート図である。 本発明の一実施例に係る編集情報と編集情報の送信先の一例である。 本発明の一実施例に係る編集制御の一例を示す模式図である。 本発明の一実施例に係る編集制御の他の例を示す模式図である。 本発明の一実施例に係る編集制御の他の例を示す模式図である。 本発明の一実施例に係る編集制御の他の例を示す模式図である。 本発明の一実施例に係る編集制御におけるデータ削減量を説明する図である。
背景技術で示したように、サーバに保存されたデータを複数の端末にて同時に共有表示し、共同で編集できるようにする共同作業システムでは、複数の端末での編集操作が競合しないようにするために、端末間での表示の同期のパフォーマンスを向上させることが重要である。
しかしながら、特許文献1のように、編集を行った端末が編集情報をサーバに送信し、サーバから各端末に編集情報を送信する方法では、編集情報は2回送信しなければならいため、他の端末で表示されているデータに編集が反映されるまでに時間がかかる。また、特許文献2のように通信状況に応じて送信する際のデータ形式を変えたり、特許文献3のようにネットワーク負荷に応じて通信するデータを間引いたりしたとしても、端末とサーバ間の2回の編集情報の通信が必要であるため、他の端末で表示されているデータに編集が反映されるまでの時間を効率的に短縮することができない。すなわち、従来の共同作業システムでは、端末間の表示の同期のパフォーマンスが悪いという問題がある。
そこで、本発明の一実施の形態では、サーバと複数の端末とを備える共同作業システムにおいて、各々の端末はサーバから1又は複数のオブジェクトを表示するための表示データを受信し、表示部に受信した表示データに基づく画面を表示させる。そして、いずれかの端末において、オブジェクトに対する編集操作が行われたと判定した際に、編集操作の内容を示す編集情報を、サーバと他の端末とに送信する。即ち、サーバを介して他の端末に編集情報を送信するのではなく、編集操作が行なわれている端末から、同期している他の端末に編集情報を直接送信するようにして、1回の通信で他の端末の表示部に表示されている画面に編集内容を反映できるようにする。
以下、図1乃至図3を参照して、従来の編集制御を用いた共同作業システムの基本動作と本発明の一実施の形態の編集制御を用いた共同作業システムの基本動作について概説する。なお、ここでは、2台の端末(端末TA及び端末TB)とサーバとを用いて、共同作業を行うものとする。また、共同作業の際に端末の表示部に表示する文書や画像、手書き情報などをオブジェクトと呼び、1又は複数のオブジェクトで構成される共同作業のデータを表示データと呼ぶ。また、編集情報は、表示データ中の1又は複数のオブジェクトの表示形態(位置やサイズなど)を変化させる場合は、編集対象のオブジェクトを特定する情報と編集後のオブジェクトの表示形態を特定する情報などを含み、オブジェクトを追加する場合は、追加するオブジェクトのデータと当該オブジェクトの表示形態を特定する情報などを含む。
[共同作業開始時]
図1に示すように、端末TA及び端末TBは、それぞれ、表示部DSA、DSB及び操作部OPA、OPBを有する。端末TA及び端末TBは、共同作業開始時にサーバSRVから表示データD0を取得し(図中のS11参照)、自端末の記憶部などに表示データのコピーD1、D2を作成すると共に、表示データのコピーD1、D2に基づいて、各オブジェクトを表示部DSA、DSBに表示する(図中のS12参照)。
[従来の編集制御による端末TAでの編集時]
従来は、図2に示すように、ユーザが端末TAの操作部OPAを操作してオブジェクトの編集を行うと(図中のS21参照)、端末TAは、その編集内容と表示データのコピーD1とに基づいてオブジェクトを編集した画面を表示部DSAに表示する(図中のS22参照)と共に、編集情報をサーバSRVに送信する(図中のS23参照)。サーバSRVは、端末TAから編集情報を受信すると、受信した編集情報を他の端末(ここでは端末TB)に送信する(図中のS24参照)。そして、端末TBは、表示データのコピーD2とサーバSRVから受信した編集情報とに基づいて、表示部DSBの表示を更新してオブジェクトを表示している画面に編集内容を反映させる(図中のS25参照)。すなわち、従来の方法では、端末TAからサーバSRV及びサーバSRVから端末Bの2回の通信を行わなければ端末TBの表示データに編集内容を反映させることができない。
[本発明の一実施の形態の編集制御による端末TAでの編集時]
本発明では、図3に示すように、ユーザが端末TAの操作部OPAを操作してオブジェクトの編集を行うと(図中のS31参照)、端末TAは、その編集内容と表示データのコピーD1とに基づいてオブジェクトを編集した画面を表示部DSAに表示する(図中のS32参照)と共に、編集情報をサーバSRVと他の端末(端末TB)の双方に送信する(図中のS33参照)。そして、端末TBは、表示データのコピーD2と端末Aから受信した編集情報とに基づいて、表示部DSBの表示を更新してオブジェクト表示している画面に編集内容を反映させる(図中のS34参照)。すなわち、本発明の一実施の形態の編集制御方法では、端末TAから端末TBの1回の通信で端末TBの表示データに編集内容を反映することができる。
このように、編集している端末から他の端末に編集情報を直接送信することにより、端末間の表示の同期のパフォーマンスを向上させることができる。また、端末−端末間は編集操作中も編集情報を送信し、端末−サーバ間は編集操作が完了した時点で編集情報を送信してもよい。これにより、編集内容を適切に管理しつつ、端末−サーバ間の通信負荷を低減することができる。
また、同じユーザが編集を行っている間は編集中と判断してサーバに編集情報を送信しないようにしたり、他の端末の表示部の解像度に応じて他の端末に送信するオブジェクトの画像の解像度を調整してもよい。これにより、更に通信負荷を低減することができる。
また、サーバはインターネット上、端末同士は職場のイントラネットに接続可能な場合など、端末−端末間の通信環境が端末−サーバ間の通信環境よりもよい場合には、表示の同期は環境の良い通信網だけを使用して行ってもよい。これにより、更に端末間の表示の同期のパフォーマンスを向上させることができる。
上記した本発明の一実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係る共同作業システム、編集制御プログラム及び編集制御方法について、図4A乃至図14を参照して説明する。図4A及び図4Bは、本実施例の共同作業システムの構成を示す模式図であり、図5A及び図5Bは、クライアント端末の構成を示すブロック図、図6A及び図6Bは、サーバの構成を示すブロック図である。また、図7は、本実施例のクライアント端末の動作を示すフローチャート図であり、図8は、本実施例のサーバの動作を示すフローチャート図である。また、図9は、本実施例の編集情報及び編集情報の送信先の一例であり、図10乃至図13は、本実施例の編集制御の一例を示す模式図、図14は、編集制御におけるデータ削減量を説明する図である。
本実施例の共同作業システムは、遠隔会議等の共同作業を行うユーザが利用する複数のクライアント端末10と、共同作業に使用する表示データを管理するサーバ20と、で構成される。図4Aに示す例では、共同作業システムが、クライアント端末10A、10B、…と、サーバ20とで構成されている。複数のクライアント端末10とサーバ20とは、イーサネット(登録商標)、トークンリング、FDDI(Fiber-Distributed Data Interface)等の規格により定められるLAN(Local Area Network)やWAN(Wide Area Network)等の通信ネットワークNを介して相互に接続されており、複数のクライアント端末10はサーバ20から1又は複数のオブジェクトを表示するための表示データを受信する。複数のクライアント端末10の各々において、ユーザは表示データ中の1又は複数のオブジェクトを閲覧し、編集することによって共同作業を行う。
なお、図4Aでは、複数のクライアント端末10とサーバ20とが同一の通信ネットワークNに接続されている共同作業システムを示したが、図4Bに示すように、複数のクライアント端末10(図4Bのクライアント端末10A、10B、…を参照)が職場のイントラネットN1に接続され、サーバ20がインターネットN2に接続されるなど、通信ネットワークNの構成は適宜設定することができる。以下、各装置について詳細に説明する。
[クライアント端末]
クライアント端末10は、パーソナルコンピュータなどのコンピュータ端末、タブレット端末やスマートフォンなどの携帯端末などであり、図5Aに示すように、制御部11と記憶部15と通信I/F部16と表示部17と操作部18などで構成される。
制御部11は、マイクロプロセッサ等により構成されるCPU(Central Processing Unit)12と、ROM(Read Only Memory)13やRAM(Random Access Memory)14などのメモリと、で構成され、CPU12は、ROM13や記憶部15から制御プログラムを呼び出し、RAM14に展開して実行することにより、クライアント端末10全体の動作を制御する。上記制御部11は、図5Bに示すように、操作判定部11a、データ処理部11b、通信制御部11cとしても機能する。
操作判定部11aは、操作部18から出力される操作信号に基づき、共同作業が開始されたか、オブジェクトに対する編集操作が行われたか(オブジェクトの編集中か、オブジェクトの編集が完了したか)を判定する。そして、オブジェクトに対する編集操作の内容を示す編集情報を通信制御部11c(又はデータ処理部11b)に転送する。また、操作判定部11aは、操作部18がユーザ毎に割り当てられている場合は、必要に応じて、各々の操作部18から出力される操作信号に基づいて、オブジェクトの編集操作を行っているユーザを識別し、同じユーザによる一連の編集操作が行われていると判断した場合(例えば、同じユーザによる複数の編集操作であり、所定の時間内に次の編集操作が行われていると判定した場合、若しくは、同じユーザによる複数の編集操作であり、同じ種類の編集操作が行われていると判定した場合)に、オブジェクトの編集中と判定する。なお、クライアント端末10にユーザを識別する仕組み(ユーザ識別部)が設けられている場合は、ユーザ識別部によりオブジェクトの編集操作を行っているユーザを識別し、識別されたユーザの情報に基づき、操作判定部11aにより上記編集操作の判定を行ってもよい。
なお、上述したように、編集情報は、表示データ中の1又は複数のオブジェクトの表示形態(位置やサイズなど)を変化させる場合(すなわち、オブジェクトの移動や拡大/縮小などの場合)は、例えば、編集操作を行った時刻とオブジェクトを特定する情報(オブジェクトID)と編集内容を示す情報と編集後のオブジェクトの表示形態(オブジェクトの移動の場合は表示位置、オブジェクトの移動や拡大/縮小の場合は表示位置とサイズ)などで構成される。また、オブジェクトを追加する場合(例えば、手書き入力やテキスト入力、画像の貼り付けの場合)は、編集情報には、オブジェクトのデータ(手書きデータやテキストデータ、貼り付けた画像のデータ)が含まれる。
データ処理部11bは、必要に応じて、編集情報の送信先である他のクライアント端末10の構成やスペック(これらを総称して特性と呼ぶ。)に応じて、他のクライアント端末10に送信する編集情報のデータサイズを削減する。例えば、自端末の表示部17の解像度と他のクライアント端末10の表示部17の解像度とを比較し、他のクライアント端末10の解像度の方が低い場合は、その解像度に合わせて編集情報(オブジェクトのデータ)を圧縮する。
通信制御部11cは、共同作業の開始時に、サーバ20から表示データを受信し、当該表示データに基づく画面を表示部17に表示させる。また、他のクライアント端末10から編集情報を受信したと判断した場合に、表示データと受信した編集情報に基づいて、オブジェクトを編集した画面を表示部17に表示させる。また、通信制御部11cは、操作判定部11aがオブジェクトに対する編集操作が行われたと判定した場合に、編集情報をサーバ20と通信ネットワークNに接続されている他のクライアント端末10とに送信する。具体的には、通信制御部11cは、操作判定部11aがオブジェクトの編集中と判定した場合は、編集情報(必要に応じてデータ処理部11bがデータサイズを削減した編集情報)を、少なくとも通信ネットワークNに接続されている他のクライアント端末10に送信する。また、通信制御部11cは、操作判定部11aがオブジェクトの編集完了と判定した場合は、編集情報を、通信ネットワークNに接続されている他のクライアント端末10及びサーバ20に送信する。
なお、通信制御部11cは、オブジェクトの編集中の状態が所定時間以上、継続していると判断した場合は、所定時間毎に、編集情報をサーバ20に送信したり、オブジェクトの種類に応じて、編集情報をサーバ20に送信するか否かを変更(例えば、オブジェクトが特定の形式のファイルであると判断した場合は、オブジェクトの編集中も、編集情報をサーバ20に送信)したり、オブジェクトに対する編集操作の内容に応じて、編集情報をサーバ20に送信するか否かを変更したりする。例えば、操作判定部11aがオブジェクトに対する編集操作が手書き入力であると判断した場合は、オブジェクトの編集中であると判定されていたとしても、通信制御部11cは編集情報をサーバ20に送信する。
上記操作判定部11a、データ処理部11b、通信制御部11cは、ハードウェアとして構成してもよいし、コンピュータ読み取り可能な記録媒体に記録され、実行時に、制御部11を、操作判定部11a、データ処理部11b、通信制御部11cとして機能させるソフトウェア(編集制御プログラム)として構成し、当該編集制御プログラムを共同作業システムの各々のクライアント端末10のCPU12(ハードウェアプロセッサ)に実行させるようにしてもよい。
記憶部15は、メモリやHDD(Hard Disk Drive)、SSD(Solid State Drive)などで構成され、サーバ20から受信した表示データ、他のクライアント端末10に送信する編集情報、他のクライアント端末10から受信した編集情報、他のクライアント端末10やサーバ20の通信ネットワークN上のアドレス情報などを記憶する。
通信I/F部16は、NIC(Network Interface Card)やモデムなどで構成され、通信ネットワークNを介して接続されている他のクライアント端末10やサーバ20との通信を確立し、通信制御部11cの指示に従って、サーバ20から表示データを受信したり、他のクライアント端末10やサーバ20に編集情報を送信したり、他のクライアント端末10から編集情報を受信したりする。
表示部17は、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)ディスプレイなどで構成され、制御部11の制御に従って、サーバ20から受信した表示データに基づく画面や他のクライアント端末10から受信した編集情報に基づいてオブジェクトを編集した画面を表示する。
操作部18は、マウスやキーボード、ペン、表示部17上に配置された格子状の電極からなるタッチセンサなどで構成され、オブジェクトの移動や拡大/縮小、手書き入力、テキスト入力、画像の貼り付けなどの、オブジェクトに対する編集操作を受け付け、編集操作の内容に応じた編集信号を操作判定部11aに出力する。なお、1つのクライアント端末10を複数のユーザが使用して共同作業を行う場合は、ユーザ毎に操作部18を設けても良い。
[サーバ]
サーバ20は、コンピュータ装置などであり、図6Aに示すように、制御部21と記憶部25と通信I/F部26と、必要に応じて、表示部と操作部などで構成される。
制御部11は、マイクロプロセッサ等により構成されるCPU22と、ROM23やRAM24などのメモリと、で構成され、CPU22は、ROM23や記憶部25から制御プログラムを呼び出し、RAM24に展開して実行することにより、サーバ20全体の動作を制御する。上記制御部21は、図6Bに示すように、管理部21a、通信制御部21bとしても機能する。
管理部21aは、共同作業の開始時にクライアント端末10に送信する表示データを管理し、クライアント端末10から編集情報を受信した場合は、当該編集情報に基づき、表示データを更新する。
通信制御部21bは、管理部21aの指示に従って、クライアント端末10に表示データを送信したり、クライアント端末10から編集情報を受信したりする。また、管理部21aが、編集情報に基づいて表示データを更新した場合は、更新した表示データを直ちに、又は、共同作業の終了時に、全てのクライアント端末10に送信する。
上記管理部21a及び通信制御部21bは、ハードウェアとして構成してもよいし、コンピュータ読み取り可能な記録媒体に記録され、実行時に、制御部21を、管理部21a及び通信制御部21bとして機能させるソフトウェア(管理プログラム)として構成し、この管理プログラムをCPU22に実行させるようにしてもよい。
記憶部25は、メモリやHDD、SSDなどで構成され、表示データ、クライアント端末10から受信した編集情報、通信ネットワークNに接続されているクライアント端末10のアドレス情報などを記憶する。
通信I/F部26は、NICやモデムなどで構成され、通信ネットワークNを介して接続されているクライアント端末10との通信を確立し、通信制御部21bの指示に従って、クライアント端末10に表示データを送信したり、クライアント端末10から編集情報を受信したりする。
なお、図4A乃至図6Bは、本実施例の共同作業システムの一例であり、その構成や制御内容は適宜変更可能である。例えば、上記では複数のクライアント端末10を同等に取り扱っているが、サーバ20は、遠隔会議の進行を行うユーザなどが使用する特定のクライアント端末10から編集情報を受信した場合のみ、更新した表示データを直ちに他のクライアント端末10に送信するなど、クライアント端末10毎に制御を変えてもよい。また、図4A及び図4Bでは、複数のクライアント端末10とサーバ20とで共同作業システムを構成したが、いずれかのクライアント端末10がサーバ20としての機能を備える場合は、共同作業システムからサーバ20を省略することもできる。
以下、上記構成の共同作業システムの動作について具体的に説明する。
[クライアント端末の動作]
まず、クライアント端末10の動作について説明する。編集元のクライアント端末10のCPU12は、ROM13又は記憶部15に記憶した編集制御プログラムをRAM14に展開して実行することにより、図7のフローチャート図に示す各ステップの処理を実行する。
制御部11(通信制御部11c)は、通信I/F部26を介してサーバ20にアクセスし(S101)、サーバ20から表示データと共同作業を行う他のクライアント端末10の情報(通信ネットワークN上のアドレス情報、表示部17の解像度情報など)を取得する受信処理を行う(S102)。そして、制御部11は、サーバ20から受信した表示データに基づいて、表示部17に、表示データに含まれる1又は複数のオブジェクトに対して共同作業を行う画面(作業画面と呼ぶ。)を表示させる表示処理を行う(S103)。
次に、制御部11(操作判定部11a)は、操作部18から出力される操作信号に基づいて、表示データに含まれる1又は複数のオブジェクトのいずれかが編集中であるかを判定する判定処理を行う(S104)。編集中とは、オブジェクトの移動中や拡大/縮小中、手書き中、テキスト入力中など、オブジェクトの状態が確定されていない状態を指す。
オブジェクトが編集中でないと判定した場合は(S104のNo)、S110に遷移し、オブジェクトが編集中であると判定した場合は(S104のYes)、制御部11(データ処理部11b)は、必要に応じて、編集情報のデータサイズを削減する削減処理を行う。例えば、自端末の表示部17の解像度と他のクライアント端末10の表示部17の解像度とを比較して、他のクライアント端末10の解像度が低いかを判断し(S105)、他のクライアント端末10の解像度が低い場合は(S105のYes)、オブジェクトのデータを圧縮する(S106)。このオブジェクトのデータの圧縮に関しては後述する。その後、制御部11(通信制御部11c)は、他のクライアント端末10に編集情報を送信する送信処理を行う(S107)。
ここで、他のクライアント端末10に送信する編集情報とサーバ20に送信する編集情報とではその利用目的が異なる。他のクライアント端末10に送信する編集情報は、一つのクライアント端末10で行われた編集を他のクライアント端末10の表示データに反映させ、操作の競合を防止して共同作業を円滑に行えるようにすることが目的である。そのため、編集情報は、編集中の状態も含めてリアルタイムに他のクライアント端末10に送信することが望ましく、細かい編集情報を全て送信することが重要である。
これに対し、サーバ20に送信する編集情報は、共同作業の結果を残しておくための情報であり、この編集情報は、途中から共同作業に参加したユーザがサーバ20から表示データを取得してから参加する、あるいは後日、共同作業を振り返ったり、続きを行ったりする場合に用いる。そのため、必ずしもすべての編集情報をサーバ20に送信する必要はなく、特に編集中の情報については省略してもほとんど影響が無い。そこで、本実施例では、サーバ20に送信する編集情報については、編集中の状態を示す編集情報の送信を省略し、編集が完了した時点で、その完了時の状態を知らせるために編集情報をサーバ20に送信するようにする。
具体的には、制御部11(操作判定部11a)は、操作部18から出力される操作信号に基づいて、オブジェクトの編集が完了したかを判定する判定処理を行う(S108)。編集が完了していないと判定した場合は(S108のNo)、S110に遷移し、編集が完了したと判定した場合は(S108のYes)、制御部11(通信制御部11c)は、サーバ20に編集情報を送信する送信処理を行う(S109)。
上記編集情報は、編集操作によるオブジェクトの状態の変更を伝えるのに必要な情報で構成される。図9は、編集操作としてオブジェクトの移動を行った時の編集情報と編集情報の送信先の一例を示す。編集情報は、編集操作を行った時刻と編集対象のオブジェクトIDと編集内容(移動、移動終了など)と編集後のオブジェクトの座標などで構成される。また、図9の例では、他のクライアント端末10とサーバ20のうち、丸印が記載されている装置に編集情報が送信されることを示す。編集中は編集情報をサーバ20に送信しないことにより、サーバ20への編集情報の送信は編集完了時の1回だけになり、他のクライアント端末10への編集情報の送信に対してかなり通信量を削減することができる。
図7に戻って、制御部11(通信制御部11c)は、他のクライアント端末10から編集情報を受信したかを判断し(S110)、編集情報を受信したと判断した場合は(S110のYes)、S103に戻って、受信した編集情報とサーバ20から受信した表示データに基づいてオブジェクトを編集した作業画面を作成し、作業画面の表示を更新する。一方、他のクライアント端末10から編集情報を受信していないと判断した場合は(S110のNo)、制御部21(操作判定部11a)は、予め設けた終了ボタンなどが操作されたかに基づいて共同作業が終了したかを判断し(S111)、共同作業が終了していないと判断した場合は(S111のNo)、S103に戻って、同様の処理を繰り返し、共同作業が終了したと判断した場合は(S111のYes)、一連の処理を終了する。
[サーバの動作]
次に、サーバ20の動作について説明する。サーバ20のCPU22は、ROM23又は記憶部25に記憶した管理プログラムをRAM24に展開して実行することにより、図8のフローチャート図に示す各ステップの処理を実行する。なお、以下の説明において、サーバ20は、通信ネットワークNに接続される各々のクライアント端末10の情報(通信ネットワークN上のアドレス情報、表示部17の解像度情報など)を取得しているものとする。
まず、制御部21(通信制御部21b)は、クライアント端末10からのアクセスを受け付け(S201)、各々のクライアント端末10に表示データと他のクライアント端末10の情報(通信ネットワークN上のアドレス情報、表示部17の解像度情報など)を送信する(S202)。
次に、制御部21(管理部21a)は、いずれかのクライアント端末10から編集情報を受信したかを判断し(S203)、編集情報を受信したと判断したら(S203のYes)、受信した編集情報に基づいて表示データを更新(例えば、編集対象のオブジェクトに関するデータの記述を修正)する(S204)。そして、制御部21(通信制御部21b)は、必要に応じて、更新後の表示データを全てのクライアント端末10に送信して(S205)、一連の処理を終了する。
以下、本実施例の共同作業における編集制御について、具体的に説明する。
図10は、編集操作として、ユーザがクライアント端末10の表示部17に表示される作業画面30でオブジェクト31の移動操作を行った場合の編集制御の一例を説明する模式図である。図10において、オブジェクト31の移動開始(オブジェクト31のドラッグ開始)時の状態をS41、移動中(ドラッグ中)の状態をS42、移動終了(ドラッグ終了)時の状態をS43で示す。オブジェクト31の移動操作に関して、オブジェクト31の移動開始時点から移動中は、クライアント端末10の通信制御部11cは、編集情報をサーバ20へは送信せずに他のクライアント端末10のみに送信し、移動終了時点で、編集情報を他のクライアント端末10及びサーバ20に送信する。なお、ドラッグ開始時点S41では、それ以前と比べてオブジェクト31の状態が変化していない為、通信制御部11cは編集情報を他のクライアント端末10に送信しなくてもよい。
このように、オブジェクト31の移動中に編集情報を直接、他のクライアント端末10に送信することにより、編集内容を速やかに他のクライアント端末10の表示データに反映させて、クライアント端末10間の表示の同期のパフォーマンスを向上させることができる。また、移動終了時のみ編集情報をサーバ20に送信する(サーバ20に送信するデータを削減する)ことにより、通信ネットワークの通信負荷を低減することができる。
例えば、サーバ20と2台のクライアント端末10A、10Bとが接続されている状態で、端末−端末間はオブジェクトの移動中の編集情報(例えば、1/60秒に1回のドラッグ中の編集情報)を送信し、端末−サーバ間はオブジェクト移動が完了した時の編集情報(例えば、数秒に1回のドラッグ終了時の編集情報)を送信する場合、端末−サーバ間の通信は端末−端末間の通信に対しておよそ1/100になり、ほぼ無視できるため、全体の通信量をおよそ1/2に削減することができる。
また、図10では、オブジェクト31の移動に関して説明したが、オブジェクトの拡大/縮小操作についても同様であり、拡大/縮小中(2本指でピンチ操作を行っている、又は、ハンドルをつかんでドラッグしている場合)は、クライアント端末10の通信制御部11cは、編集情報をサーバ20へは送信せずに他のクライアント端末10のみに送信し、拡大/縮小終了(ピンチ操作を終了し指を離した、又は、ハンドルを離した)時点で、編集情報を他のクライアント端末10及びサーバ20に送信する。
図11は、編集操作として、ユーザがクライアント端末10の表示部17に表示される作業画面30でオブジェクト31の手書き入力を行った場合の編集制御の一例を説明する模式図である。図11の例では、ユーザが作業画面30に手書き可能なモードでペンなどを用いてドラッグしてオブジェクト31を手書き入力しており、オブジェクト31の手書き中の状態をS51で示す。ユーザがペンを作業画面から離して描画を終了した時、または、オブジェクト31外(ストローク周辺に設定した領域の外)をタップするなどして手書きオブジェクトとして確定した時に、手書き入力が終了したと判定され、それぞれの状態をS52及びS53で示す。オブジェクト31の手書き入力に関しては、手書き中は、クライアント端末10の通信制御部11cは、編集情報をサーバ20へは送信せずに他のクライアント端末10のみに送信し、手書き終了時に、編集情報(ここでは追加されたストローク情報)を他のクライアント端末10及びサーバ20に送信する。あるいは、ユーザがオブジェクト31外(ストローク周辺に設定した領域の外)をタップするなどして手書きオブジェクトとして確定するまでは、ペンを離しても編集中として、手書きオブジェクトが確定したら、クライアント端末10の通信制御部11cは、編集情報(ここでは「A」の文字を構成する複数のストローク情報)を他のクライアント端末10及びサーバ20に送信する。
このように、手書き入力中に編集情報を直接、他のクライアント端末10に送信することにより、編集内容を速やかに他のクライアント端末10の表示データに反映させて、クライアント端末10間の表示の同期のパフォーマンスを向上させることができる。また、手書き入力終了時点で編集情報をサーバ20に送信する(特に、複数のストローク情報をまとめて送信する)ことにより、通信ネットワークの通信負荷を低減することができる。
図11では、手書き入力に関して説明したが、テキスト入力についてもほぼ同様であり、テキストボックスへの文字入力中は、クライアント端末10の通信制御部11cは、編集情報をサーバ20へは送信せずに他のクライアント端末10のみに送信し、文字入力終了(手書き入力と同様にボックス外をタップするか、他のオブジェクトの操作を行った)時に、編集情報(ここでは追加されたテキスト)を他のクライアント端末10及びサーバ20に送信する。
図10及び図11では、編集の基本操作として同じユーザが操作を行う場合を示したが、複数のユーザが作業画面30上でオブジェクト31を操作する場合は、クライアント端末10の操作判定部11aもしくは後述するユーザ識別部により、編集操作を行うユーザを識別し、同じユーザによる一連の編集操作が行われていると見なすことができる場合に、クライアント端末10の操作判定部11aによりオブジェクト31が編集中であると判定しても良い。例えば、オブジェクト31を移動したり拡大/縮小したりする編集操作を断続的に行う場合のように、同じユーザによる複数の編集操作であり、所定の時間内に次の編集操作が行われている場合は、操作判定部11aは、これらの編集操作を同じユーザによる一連の編集操作と見なすことができる。また、オブジェクト31を手書き入力する場合のように、同じユーザによる複数の編集操作であり、同じ種類の編集操作が行われている場合は、操作判定部11aは、これらの編集操作を同じユーザによる一連の編集操作と見なすことができる。
この場合、別のユーザが操作を開始した時に、クライアント端末10の通信制御部11cは、前のユーザが行った編集操作の結果をすべてまとめて、編集情報としてサーバ20に送信することができる。例えば、図12のS61に示すように、ユーザAがオブジェクト31を位置P0から位置P1に移動し、図12のS62に示すように、ユーザAがオブジェクト31を位置P1から位置P2にさらに移動した後、ユーザBが操作を行った場合、通信制御部11aは、その時点で、ユーザAの操作に関する編集情報をサーバ20に送信する。その際、通信制御部11aは、ユーザAがオブジェクト31を位置P0から位置P2へ移動したという編集情報をサーバ20に送信する。位置P0から位置P1への移動の情報を省略することにより、サーバ20に送信する編集情報のデータ量を削減することができる。
なお、上記制御は、作業画面30に表示されているコンテンツ全体に対して行ってもよいし、オブジェクト毎に行ってもよい。例えば、ユーザAがオブジェクト31を移動し直す前に(図12のS61と図12のS62の間に)、ユーザBが別のオブジェクトに関する操作を行った時は、操作判定部11aは、ユーザAの操作を編集中と見なすことができる。
上記ユーザの識別は、クライアント端末10の操作判定部11aにより、クライアント端末10毎にユーザが異なるものとして識別してもよいし、クライアント端末10にユーザを識別する仕組み(ユーザ識別部)を設けてユーザを識別してもよい。例えば、クライアント端末10に複数の操作部18を設け、予めユーザ毎に異なる操作部18を割り当て、ユーザ識別部により、操作部18の識別情報に基づいてユーザを識別することができる。また、クライアント端末10にセンサを設け、このセンサの出力に基づきユーザを識別してもよい。例えば、クライアント端末10にカメラなどの撮像部を設け、ユーザ識別部により、撮像部が撮像したユーザの画像から公知の手法を用いて特徴を抽出し、抽出した特徴と予めユーザ毎に記憶した特徴とを比較することによってユーザを識別することができる。また、クライアント端末10の操作部18をタッチパネルで構成すると共に人体通信の信号を検出する検出部を設け、ユーザ識別部により、検出部が検出した信号と予めユーザ毎に記憶した信号とを比較することによって、タッチパネルにタッチしたユーザを識別することができる。
また、上記では、オブジェクト31を操作するユーザが変わった場合に、通信制御部11cにより編集情報をサーバ20に送信する構成としたが、誰かが次に操作を行わなくても編集情報はサーバ20に送信されるよう、例えば、途中から共同作業に参加するクライアント端末10がある場合に、そのクライアント端末10を操作するユーザにもオブジェクト31が編集されていることを知らせることができるよう、操作が行われずに予め定めた所定時間が経過した時に、通信制御部11cにより編集情報をサーバ20に送信するようにしてもよい。具体的には、通信制御部11cは、最後に操作が行われた時刻と現在の時刻とを比較して、所定時間以上操作が行われていない場合(時刻の差が予め定めた閾値以上の場合)は、編集が終了したとみなし、編集情報をサーバ20に送信する。なお、この制御についても、作業画面30に表示されているコンテンツ全体に対して行ってもよいし、オブジェクト毎に行ってもよい。
あるいは、操作内容が変わった時に、通信制御部11cにより編集情報をサーバ20に送信するようにしても良い。すなわち、操作するユーザが同じであっても、操作内容が変わるということは、そこで作業ステップが変わった(例えば、アイデア出しのために手書き入力を行っていたのが、それらをまとめるステップに移ってオブジェクトの移動を開始した)と考えられるため、作業ステップ単位を編集中として、1つの作業ステップが終わった時に編集情報をサーバ20に送信することもできる。
また、上記では、所定時間以上操作が行われていない場合に、通信制御部11cにより編集情報をサーバ20に送信したが、編集中の状態が所定時間以上継続している場合であっても編集情報がサーバ20に送信されるよう、例えば、途中から共同作業に参加するクライアント端末10がある場合に、そのクライアント端末10を操作するユーザにオブジェクト31が編集されていることを知らせることができるよう、編集中の状態が所定時間以上継続していると判定した場合は、通信制御部11cにより所定時間毎に編集情報をサーバ20に送信するようにしてもよい。
また、上記では、オブジェクト31の編集中は、通信制御部11cは編集情報をサーバ20へは送信せずに他のクライアント端末10のみに送信したが、編集対象のオブジェクトの種類に応じて、サーバ20への送信を省略するか否かを変更してもよい。例えば、表示データとして拡張子がpptやpdfのファイルを共有し、そのファイルを編集しながら共同作業を行う場合を考えると、それらのファイルの編集自体が議論の過程となる。そこで、そのような場合には、編集中についても、通信制御部11cにより編集情報をサーバ20に送信するようにしてもよい。
また、図12では、ユーザがオブジェクト31を移動させる場合に、途中の状態(位置P1に移動させた状態)を省略した編集情報を通信制御部11cによりサーバ20に送信したが、編集操作の内容に応じて、サーバ20への送信を省略するか否かを変更してもよい。例えば、オブジェクト31の移動中にどのような経路をたどったかという情報は、あとから経緯を振り返る場面においてもほとんど必要ない。しかしながら、手書き入力では、手書きの順番に意味がある場合もある。そこで、手書き入力の場合は、編集中も通信制御部11cにより編集情報をサーバ20に送信するようにしてもよい。この場合、手書きの1ストローク内の軌跡までサーバ20に通知する必要性は乏しく、また、軌跡までサーバ20に通知すると通知頻度が高くなって通信負荷が大きくなってしまうため、1ストローク毎に編集情報をサーバ20に送信することが好ましい。
また、他のクライアント端末10への編集情報の送信に関して、もっとも単純な構成は、すべての編集情報をそのまま他のクライアント端末10に送信する構成であるが、各々のクライアント端末10で利用する情報は、そのクライアント端末10の構成やスペックなどの特性によって異なり、クライアント端末10毎に必要な情報量や情報種類が異なる。そこで、データ処理部11bにより、各々のクライアント端末10の特性に応じて、クライアント端末10に送信する編集情報のデータサイズを削減してもよい。
例えば、クライアント端末10で表示する画像については、そのクライアント端末10の表示部17の解像度に応じて必要な情報量は変化するため、編集情報として解像度の低い画像をクライアント端末10に送信すれば十分な場合がある。そこで、図13に示すように、あるクライアント端末10Nの作業画面30Nでユーザがオブジェクト(画像)を貼り付ける編集を行い、その編集情報(この場合は、オブジェクトのデータ及び表示位置)をクライアント端末10Nから他のクライアント端末10A、10B(必要に応じてサーバ20)に送信し、送信された表示情報に基づき、ぞれぞれの端末の表示部17に作業画面30を表示させる際の編集制御について説明する。ここで、図13の作業画面30N、30A、30B、30Sは、それぞれ、クライアント端末10N、10A、10Bの表示部17及び必要に応じてサーバ20の表示部に表示された作業画面である。また、クライアント端末10Aの表示部17の解像度は1920×1080、クライアント端末10Bの表示部17の解像度は1024×768であり、クライアント端末10Nの編集情報におけるオブジェクトのデータサイズは1024×1024であるとする。クライアント端末10Nのデータ処理部11bは、自端末の表示部17の解像度と送信先のクライアント端末10A、10Bの表示部17の解像度とを比較し(図7のフローチャートのS105参照)、クライアント端末10Aのように、送信先のクライアント端末10の表示部17の解像度の方が自端末の表示部17の解像度より高い又は解像度が同じ場合は、自端末から送信先のクライアント端末10に編集情報をそのまま送信し(図13のT2)、クライアント端末10Bのように、送信先のクライアント端末10の表示部17の解像度の方が低い場合は、その解像度に合わせてデータサイズを圧縮した編集情報を自端末から送信先のクライアント端末10に送信する(図13のT3、図7のフローチャートのS106参照)。例えば、図13の例では、クライアント端末10Aには1024×1024のデータサイズのオブジェクトを含む編集情報を送信し、クライアント端末10Bには512×512のデータサイズのオブジェクトを含む編集情報を送信する。なお、サーバ20には、このようなデータ圧縮処理は行わずに編集情報をそのまま(編集情報におけるオブジェクトのデータサイズが1024×1024のまま)送信し(図のT1参照)、元々のオブジェクトの情報が失われないようにすることが好ましい。
なお、圧縮とは、解像度に合わせて画素を間引いてデータサイズを小さくしたり、画像データのファイルフォーマットをデータサイズがより小さいフォーマットに変換したり、画像データの色数を減らしてデータサイズを小さくしたり、カラーの画像をモノクロの画像に変換してデータサイズを小さくしたりする場合を含む。
また、上述したサーバ20への編集情報の送信や、他のクライアント端末10への編集情報の送信について、どのような条件で送信するかを予め共同作業システムで設定してもよいが、ユーザが必要に応じて設定できるようにしてもよい。図14に、クライアント端末10からサーバ20に送信する編集情報のデータ量削減のレベルの一例を示す。例えば、図14に示すように、編集情報のデータ量が削減される量に応じてレベルを設け、レベルを選択する画面をクライアント端末10の表示部17(又は、サーバ20の表示部)に表示して、ユーザがレベルを選択できるようにしてもよい。図14の表では、サーバ20に送信する編集情報のデータ量削減のレベルは大きく3つに分かれており、各レベルは、表の上から下に向かって編集情報のデータ削減量が増えるように並んでいる。これらのレベルを用い、サーバ20に送信する編集情報について、データを削減せず、全ての編集操作を編集情報としてサーバ20に送信するか、編集中の編集操作の情報を省略する(例えば、一定時間内の連続操作を省略したり、一連の編集操作のうち最初と最後の操作を除く全ての操作を省略する)か、同じ位置の連続操作の情報を省略する(例えば、同じ位置で連続操作が行われたかを、コンテンツ全体もしくはオブジェクト毎に判定し、一定時間内の連続操作を省略したり、一連の編集操作のうち最初と最後の操作を除く全ての操作を省略する)かを、ユーザが選択できる。なお、図14では、端末−サーバ間の編集情報の通信の例を記載したが、端末−端末間の通信についても、同様に、解像度と解像度に応じた圧縮量を変更できるようにしてもよい。
また、通信ネットワークの通信負荷を減らすという目的からすると、通信状況に応じて削減レベルを設定するようにしてもよい。例えば、クライアント端末10の通信制御部11c(又は、サーバ20の通信制御部21b)が通信ネットワークの帯域を計測し、帯域が狭い場合は削減量を多く、帯域に余裕がある場合には削減量を少なくするように制御することもできる。あるいは、クライアント端末10側の通信処理能力に応じて削減量を調整できるようにしてもよい。
また、図4Bに示すように、サーバ20はインターネット上、クライアント端末10同士は職場のイントラネットに接続するなど、クライアント端末10間の通信環境を良くする(クライアント端末10間の通信速度がクライアント端末10とサーバ20間の通信速度よりも大きいネットワーク構成にする)ことにより、クライアント端末10間の同期のパフォーマンスを向上させることができる。
更に、クライアント端末10間の通信については、表示の同期のパフォーマンスを向上させるために、例えば、UDP(User Datagram Protocol)などの特定の通信方式(送信したデータが相手側に正しく受信されることが保証されない通信方式、すなわち、データが相手に届いたかの確認や届いていない場合のデータの再送を行わない通信方式)を用いてもよい。例えば、クライアント端末10の通信制御部11cは、この特定の通信方式を用いて、編集情報を他のクライアント端末10に送信することができる。この場合、クライアント端末10間で表示データが同じ状態となることが保障されない。例えば、通信に失敗した場合に送信先のクライアント端末10の表示データにその編集が反映されなかったり、複数のユーザによりたまたま同じオブジェクトを同時に操作してしまった場合にそれぞれのクライアント端末10の表示部17に表示されているオブジェクトが異なる状態となってしまったりする可能性がある。このような不都合を解決するために、図8のフローチャート図のS205に示すように、サーバ20は表示データを更新した時に、更新した表示データを全てのクライアント端末10に送信して表示データを更新することができる。ここで、更新のための編集情報をサーバ20に送信したクライアント端末10を、更新した表示データの送信先から除いても良い。即ち、サーバ20は、クライアント端末10から編集情報を受信した場合に、受信した編集情報に基づいてオブジェクトを編集した表示データを他のクライアント端末10に送信してもよい。
なお、上記では、クライアント端末10同士が特定の通信方式を用いて通信を行っている場合に、サーバ20がクライアント端末10に更新した表示データを送信したが、編集操作を行ったクライアント端末10から編集情報を受信し、かつ、特定の条件を満たした場合(例えば、予め定めた一定期間が経過した場合、編集回数が予め定めた一定回数に到達した場合、遠隔会議の進行を行うユーザなどが使用する特定のクライアント端末10からの編集情報を受信した場合、圧縮された編集情報が他のクライアント端末10に送信された場合など)に、サーバ20がクライアント端末10に更新した表示データを送信するようにしても良い。
また、一般的に、通信を行う際にはデータ本体の他に送信先情報などのオーバーヘッドが必要になるため、同じサイズのデータを送信する場合であっても、小さいサイズのデータを多数回送信するよりも、大きいサイズのデータを1回で送信する方がデータ通信量は少なくなる。ここで、端末−端末間の同期に関しては通信をまとめるとリアルタイム性が損なわれるため好ましくないが、端末−サーバ間の通信に関してはリアルタイム性の要求は低い。そこで、端末−サーバ間の通信に関しては、通信頻度を減らすために何回かの編集情報をまとめて1回の通信で送信するようにしてもよい。
また、クライアント端末10やサーバ20では、受け取った編集情報に基づき、表示データを最新の状態に更新するとともに、今まで受け取った編集情報についても保存しておき、保存した編集情報を用いて任意の時点での作業画面30を表示できるようにし、共同作業の経緯を振り返ることができるようにしてもよい。また、保存した編集情報を用いて作業画面30をUndo/Redoできるようにしてもよい。
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、そのクライアント端末10やサーバ20の構成や制御部の制御は適宜変更可能である。
例えば、上記実施例では、編集操作を行うクライアント端末10から、他のクライアント端末10やサーバに編集情報を送信する場合を説明したが、オブジェクトを編集して更新した表示データを送信してもよい。
本発明は、複数の端末を用いて共同作業を行う共同作業システム、各々の端末における編集を制御する編集制御プログラム、当該編集制御プログラムを記録した記録媒体及び共同作業システムにおける編集制御方法に利用可能である。
10、10A、10B クライアント端末
11 制御部
11a 操作判定部
11b データ処理部
11c 通信制御部
12 CPU
13 ROM
14 RAM
15 記憶部
16 通信I/F部
17 表示部
18 操作部
20 サーバ
21 制御部
21a 管理部
21b 通信制御部
22 CPU
23 ROM
24 RAM
25 記憶部
26 通信I/F部
30、30A、30B、30N,30S 作業画面
31 オブジェクト

Claims (28)

  1. 1又は複数のオブジェクトを表示するための表示データを管理するサーバと、前記サーバから前記表示データを受信する複数の端末と、を備え、前記サーバと前記複数の端末とが互いに通信ネットワークで接続され、前記複数の端末で前記1又は複数のオブジェクトを閲覧し、編集することによって共同作業を行う共同作業システムであって、
    各々の前記端末は、
    前記表示データに基づく画面を表示する表示部と、
    前記1又は複数のオブジェクトに対する編集操作を受け付ける操作部と、
    前記操作部から出力される操作信号に基づいて、前記1又は複数のオブジェクトのうち所定のオブジェクトに対する編集操作が行われたかを判定する操作判定部と、
    前記所定のオブジェクトに対する編集操作が行われたと判定された場合に、前記編集操作の内容を示す編集情報を、前記サーバと他の端末とに送信する通信制御部と、を備え、
    前記他の端末は、前記サーバから受信した前記表示データと、前記端末から受信した前記編集情報と、に基づいて、前記所定のオブジェクトを編集した画面を自端末の前記表示部に表示させる、
    ことを特徴とする共同作業システム。
  2. 前記操作判定部は、前記所定のオブジェクトが編集中であるか、及び、前記所定のオブジェクトの編集が完了したかを判定し、
    前記通信制御部は、前記所定のオブジェクトが編集中であると判定された場合は、編集時の前記編集情報を前記他の端末に送信し、前記所定のオブジェクトの編集が完了したと判定された場合は、編集完了時の前記編集情報を前記サーバと前記他の端末とに送信する、
    ことを特徴とする請求項1に記載の共同作業システム。
  3. 前記端末は、前記所定のオブジェクトに対する編集操作を行うユーザを識別するユーザ識別部を備え、
    前記操作判定部は、同じユーザによる一連の編集操作が行われていると判定した場合に、前記所定のオブジェクトが編集中であると判定する、
    ことを特徴とする請求項2に記載の共同作業システム。
  4. 前記操作判定部は、同じユーザによる複数の編集操作であり、所定の時間内に次の編集操作が行われていると判定した場合、若しくは、同じユーザによる複数の編集操作であり、同じ種類の編集操作が行われていると判定した場合に、前記同じユーザによる一連の編集操作と判定する、
    ことを特徴とする請求項3に記載の共同作業システム。
  5. 前記通信制御部は、前記所定のオブジェクトが編集中の状態が予め定めた所定時間以上、継続していると判定した場合は、前記所定時間毎に、前記編集情報を前記サーバに送信する、
    ことを特徴とする請求項2乃至4のいずれか一に記載の共同作業システム。
  6. 前記通信制御部は、前記所定のオブジェクトが編集中であると判定された場合に、前記所定のオブジェクトの種類に応じて、前記編集情報を前記サーバに送信するか否かを変更する、
    ことを特徴とする請求項2乃至4のいずれか一に記載の共同作業システム。
  7. 前記通信制御部は、前記所定のオブジェクトが特定の形式のファイルであると判定した場合は、前記所定のオブジェクトが編集中であると判定された場合も、前記編集情報を前記サーバに送信する、
    ことを特徴とする請求項6に記載の共同作業システム。
  8. 前記通信制御部は、前記所定のオブジェクトが編集中であると判定された場合に、前記所定のオブジェクトに対する編集操作の内容に応じて、前記編集情報を前記サーバに送信するか否かを変更する、
    ことを特徴とする請求項2乃至4のいずれか一に記載の共同作業システム。
  9. 前記通信制御部は、前記所定のオブジェクトに対する編集操作が手書き入力であると判定された場合は、前記所定のオブジェクトが編集中であると判定された場合も、前記編集情報を前記サーバに送信する、
    ことを特徴とする請求項8に記載の共同作業システム。
  10. 前記端末は、
    前記編集情報を送信する前記他の端末の特性に応じて、前記編集情報のデータサイズを削減するデータ処理部を備え、
    前記通信制御部は、データサイズが削減された前記編集情報を当該他の端末に送信する、
    ことを特徴とする請求項1乃至9のいずれか一に記載の共同作業システム。
  11. 前記データ処理部は、自端末の前記表示部の解像度と前記他の端末の前記表示部の解像度とを比較し、自端末の前記表示部の解像度よりも前記他の端末の前記表示部の解像度の方が低い場合は、前記他の端末の前記表示部の解像度に合わせて、前記編集情報を圧縮する、
    ことを特徴とする請求項10に記載の共同作業システム。
  12. 前記通信制御部は、データが相手に届いたかの確認及び届いていない場合のデータの再送を行わない特定の通信方式により、前記編集情報を前記他の端末に送信する、
    ことを特徴とする請求項1乃至11のいずれか一に記載の共同作業システム。
  13. 前記サーバは、前記端末から前記編集情報を受信した場合に、前記編集情報に基づいて前記所定のオブジェクトを編集した前記表示データを前記他の端末に送信する、
    ことを特徴とする請求項1乃至12のいずれか一に記載の共同作業システム。
  14. 前記複数の端末は第1の通信ネットワークで接続され、前記複数の端末と前記サーバとは第2の通信ネットワークで接続され、前記第1の通信ネットワークは、前記第2の通信ネットワークよりも通信速度が大きい、
    ことを特徴とする請求項1乃至13のいずれか一に記載の共同作業システム。
  15. 1又は複数のオブジェクトを表示するための表示データを管理するサーバと、前記サーバから前記表示データを受信する複数の端末と、が通信ネットワークで接続され、前記複数の端末で前記1又は複数のオブジェクトを閲覧し、編集することによって共同作業を行う共同作業システムにおける、各々の前記端末で動作する編集制御プログラムであって、
    各々の前記端末に、
    前記サーバから前記表示データを受信する受信処理、
    表示部に、前記表示データに基づく画面を表示させる表示処理、
    前記1又は複数のオブジェクトに対する編集操作を受け付ける操作部から出力される操作信号に基づいて、前記1又は複数のオブジェクトのうち所定のオブジェクトに対する編集操作が行われたかを判定する判定処理、
    前記所定のオブジェクトに対する編集操作が行われたと判定した場合に、前記編集操作の内容を示す編集情報を、前記サーバと他の端末とに送信する送信処理、を実行させ、
    前記他の端末は、前記サーバから受信した前記表示データと、前記端末から受信した前記編集情報と、に基づいて、前記所定のオブジェクトを編集した画面を自端末の前記表示部に表示させる、
    ことを特徴とする編集制御プログラム。
  16. 前記判定処理では、前記所定のオブジェクトが編集中であるか、及び、前記所定のオブジェクトの編集が完了したかを判定し、
    前記送信処理では、前記所定のオブジェクトが編集中であると判定した場合は、編集時の前記編集情報を前記他の端末に送信し、前記所定のオブジェクトの編集が完了したと判定した場合は、編集完了時の前記編集情報を前記サーバと前記他の端末とに送信する、
    ことを特徴とする請求項15に記載の編集制御プログラム。
  17. 前記端末に、更に、
    前記所定のオブジェクトに対する編集操作を行うユーザを識別するユーザ識別処理を実行させ、
    前記判定処理では、同じユーザによる一連の編集操作が行われていると判定した場合に、前記所定のオブジェクトが編集中であると判定する、
    ことを特徴とする請求項16に記載の編集制御プログラム。
  18. 前記判定処理では、同じユーザによる複数の編集操作であり、所定の時間内に次の編集操作が行われていると判定した場合、若しくは、同じユーザによる複数の編集操作であり、同じ種類の編集操作が行われていると判定した場合に、前記同じユーザによる一連の編集操作と判定する、
    ことを特徴とする請求項17に記載の編集制御プログラム。
  19. 前記送信処理では、前記所定のオブジェクトが編集中の状態が予め定めた所定時間以上、継続していると判定した場合は、前記所定時間毎に、前記編集情報を前記サーバに送信する、
    ことを特徴とする請求項16乃至18のいずれか一に記載の編集制御プログラム。
  20. 前記送信処理では、前記所定のオブジェクトが編集中であると判定した場合に、所定のオブジェクトの種類に応じて、前記編集情報を前記サーバに送信するか否かを変更する、
    ことを特徴とする請求項16乃至18のいずれか一に記載の編集制御プログラム。
  21. 前記送信処理では、前記所定のオブジェクトが特定の形式のファイルであると判定した場合は、前記所定のオブジェクトが編集中であると判定した場合も、前記編集情報を前記サーバに送信する、
    ことを特徴とする請求項20に記載の編集制御プログラム。
  22. 前記送信処理では、前記所定のオブジェクトが編集中であると判定した場合に、前記所定のオブジェクトに対する編集操作の内容に応じて、前記編集情報を前記サーバに送信するか否かを変更する、
    ことを特徴とする請求項16乃至18のいずれか一に記載の編集制御プログラム。
  23. 前記送信処理では、前記所定のオブジェクトに対する編集操作が手書き入力であると判定された場合は、前記所定のオブジェクトが編集中であると判定した場合も、前記編集情報を前記サーバに送信する、
    ことを特徴とする請求項22に記載の編集制御プログラム。
  24. 前記端末に、更に、
    前記編集情報を送信する前記他の端末の特性に応じて、前記編集情報のデータサイズを削減する削減処理を実行させ、
    前記送信処理では、データサイズが削減された前記編集情報を当該他の端末に送信する、
    ことを特徴とする請求項15乃至23のいずれか一に記載の編集制御プログラム。
  25. 前記削減処理では、自端末の前記表示部の解像度と前記他の端末の前記表示部の解像度とを比較し、自端末の前記表示部の解像度よりも前記他の端末の前記表示部の解像度の方が低い場合は、前記他の端末の前記表示部の解像度に合わせて、前記編集情報を圧縮する、
    ことを特徴とする請求項24に記載の編集制御プログラム。
  26. 前記送信処理では、データが相手に届いたかの確認及び届いていない場合のデータの再送を行わない特定の通信方式により、前記編集情報を前記他の端末に送信する、
    ことを特徴とする請求項15乃至25のいずれか一に記載の編集制御プログラム。
  27. 1又は複数のオブジェクトを表示するための表示データを管理するサーバと、前記サーバから前記表示データを受信する複数の端末と、が通信ネットワークで接続され、前記複数の端末で前記1又は複数のオブジェクトを閲覧し、編集することによって共同作業を行う共同作業システムにおける編集制御方法であって、
    各々の前記端末は、
    前記サーバから前記表示データを受信する受信処理と、
    表示部に、前記表示データに基づく画面を表示させる表示処理と、
    前記1又は複数のオブジェクトに対する編集操作を受け付ける操作部から出力される操作信号に基づいて、前記1又は複数のオブジェクトのうち所定のオブジェクトに対する編集操作が行われたかを判定する判定処理と、
    前記所定のオブジェクトに対する編集操作が行われたと判定した場合に、前記編集操作の内容を示す編集情報を、前記サーバと他の端末とに送信する送信処理と、を実行し、
    前記他の端末は、前記サーバから受信した前記表示データと、前記端末から受信した前記編集情報と、に基づいて、前記所定のオブジェクトを編集した画面を自端末の前記表示部に表示させる、
    ことを特徴とする編集制御方法。
  28. 前記判定処理では、前記所定のオブジェクトが編集中であるか、及び、前記所定のオブジェクトの編集が完了したかを判定し、
    前記送信処理では、前記所定のオブジェクトが編集中であると判定した場合は、編集時の前記編集情報を前記他の端末に送信し、前記所定のオブジェクトの編集が完了したと判定した場合は、編集完了時の前記編集情報を前記サーバと前記他の端末とに送信する、
    ことを特徴とする請求項27に記載の編集制御方法。
JP2018504347A 2016-03-09 2017-02-22 共同作業システム、編集制御プログラム及び編集制御方法 Pending JPWO2017154565A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016045164 2016-03-09
JP2016045164 2016-03-09
PCT/JP2017/006460 WO2017154565A1 (ja) 2016-03-09 2017-02-22 共同作業システム、編集制御プログラム及び編集制御方法

Publications (1)

Publication Number Publication Date
JPWO2017154565A1 true JPWO2017154565A1 (ja) 2019-01-10

Family

ID=59790413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018504347A Pending JPWO2017154565A1 (ja) 2016-03-09 2017-02-22 共同作業システム、編集制御プログラム及び編集制御方法

Country Status (2)

Country Link
JP (1) JPWO2017154565A1 (ja)
WO (1) WO2017154565A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7487542B2 (ja) 2020-04-22 2024-05-21 株式会社リコー 通信端末、通信システム、通信方法、プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013183212A1 (ja) * 2012-06-07 2013-12-12 日本電気株式会社 操作共有コマンド通信制御システムおよび操作共有コマンド通信制御方法
JP2014146229A (ja) * 2013-01-30 2014-08-14 Sharp Corp 画面共有システム及び中央装置
JP6293903B2 (ja) * 2014-08-12 2018-03-14 株式会社東芝 情報を表示するための電子機器および方法

Also Published As

Publication number Publication date
WO2017154565A1 (ja) 2017-09-14

Similar Documents

Publication Publication Date Title
US10334208B2 (en) Technologies for following participants in a video conference
US10075492B2 (en) Terminal apparatus, screen sharing method, program, and screen sharing system
US10250946B2 (en) Meeting system that interconnects group and personal devices across a network
US10083281B2 (en) Terminal device and information processing system for implementing screen sharing process based on user role
US9519451B2 (en) Communication system and information processing device
JP6051549B2 (ja) 通信制御システム、制御装置、プログラムおよび電子情報ボード
CN106572139B (zh) 多终端控制方法、终端、服务器和系统
EP2579588B1 (en) Collaborative meeting systems that enable parallel multi-user input to mark up screens
EP2666258B1 (en) Collaboration system and method
TW202147834A (zh) 同步本地房間和遠端共享
WO2018084033A1 (ja) 共有装置、動作制御プログラム及び動作制御方法
US10754606B2 (en) Image processing apparatus and image processing system
TW201837687A (zh) 即時通訊方法、系統及電子裝置與伺服器
JP2018032096A (ja) 情報処理装置、情報処理方法、プログラム、および、情報処理システム
US20200104024A1 (en) Communication terminal, information sharing system, display control method, and non-transitory computer-readable medium
JP2019179368A (ja) 会議装置、会議システム、情報処理方法およびプログラム
WO2017154565A1 (ja) 共同作業システム、編集制御プログラム及び編集制御方法
JP2013232123A (ja) 電子会議システム、端末、およびファイル提供サーバ
US9942287B2 (en) Information processing system, terminal device, and method
JP2015207182A (ja) 情報処理装置、情報処理方法、並びにプログラム
CN111382292A (zh) 内容管理服务器、信息共享系统、通信方法
JP2021039616A (ja) 情報処理システム、情報処理装置、画像表示方法、プログラム
US20150067056A1 (en) Information processing system, information processing apparatus, and information processing method
JP6929670B2 (ja) プログラム、情報処理方法、端末
JP2014171221A (ja) 電子情報連携システム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20191118

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20191122