JP6846128B2 - コンテンツ共有システム - Google Patents

コンテンツ共有システム Download PDF

Info

Publication number
JP6846128B2
JP6846128B2 JP2016133485A JP2016133485A JP6846128B2 JP 6846128 B2 JP6846128 B2 JP 6846128B2 JP 2016133485 A JP2016133485 A JP 2016133485A JP 2016133485 A JP2016133485 A JP 2016133485A JP 6846128 B2 JP6846128 B2 JP 6846128B2
Authority
JP
Japan
Prior art keywords
terminal device
terminal
order
change
server device
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.)
Active
Application number
JP2016133485A
Other languages
English (en)
Other versions
JP2018007109A (ja
Inventor
良記 伊藤
良記 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Metamoji
Original Assignee
Metamoji
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 Metamoji filed Critical Metamoji
Priority to JP2016133485A priority Critical patent/JP6846128B2/ja
Publication of JP2018007109A publication Critical patent/JP2018007109A/ja
Application granted granted Critical
Publication of JP6846128B2 publication Critical patent/JP6846128B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)
  • Editing Of Facsimile Originals (AREA)
  • User Interface Of Digital Computer (AREA)

Description

この発明は、複数のユーザにて図形などのコンテンツを共同編集するシステムに関するものである。
サーバ装置に複数の端末装置を接続し、複数のユーザにて図形などを共同編集して閲覧するシステムが提案されている(たとえば特許文献1)。このように共同編集を行う方式としては、主として差分更新方式と全体更新方式が用いられている。
全体更新方式は、各端末装置において一部のオブジェクトのみを編集した場合であっても、他のオブジェクトを含めて全ての情報をサーバ装置に送信し、サーバ装置から他の端末装置にこれを送信する。端末装置では、受信した情報に基づいて、全てのオブジェクトの情報を更新する。
差分更新方式は、各端末装置において編集が加えられたオブジェクトの情報のみをサーバ装置に送信し、サーバ装置から他の端末装置にこれを送信する。端末装置では、受信した情報に基づいて、当該オブジェクトの情報のみを更新する。
特開2010−278656
上記の全体更新方式では、各端末装置において、受信した情報によって全てのオブジェクトを書き換えるため、各端末装置間において同一状態を保つのが容易であるという利点がある。しかし、その反面、全てのオブジェクトのデータを送信するため送信データ量が多くなり、オブジェクトの変更に対する即時性が低いという問題があった。また、複数のユーザが同時に編集を行った場合、両立しうる編集であったとしても、いずれか一方の編集のみが選択され、他方の編集は無効となるという問題もあった。
差分更新方式では、送信データ量が少なく即時性を高くすることができ、複数のユーザが両立しうる編集を行った場合に双方を有効とすることができるという利点がある。
しかし、差分更新方式では、複数の端末装置において同一オブジェクトに対する編集が同時に行われた場合、編集結果が想定外のものとなってしまうという問題があったり、各端末装置におけるオブジェクトを同一の状態に保つことが難しいという問題があった。
この問題を説明すると以下のとおりである。図32に示すように、サーバ装置Sには、端末装置T1、T2が接続されている。今、端末装置T1、T2ともに、左上にオブジェクトが表示されている状態にあるとする((a)(b)参照)。この状態から、端末装置T1において、オブジェクトが右に50移動されたとする((c)参照)。ほぼ同時に、端末装置T2において、オブジェクトが下に20移動されたとする((d)参照)。
端末装置T1は、オブジェクトが右に50移動したという操作内容をサーバ装置Sに送信し、サーバ装置Sはこの操作内容を端末装置T2に送信する。端末装置T2はこれを受けて、左下に移動していたオブジェクトを、右に50移動させる((f)参照)。
一方、端末装置T2は、オブジェクトが下に20移動したという操作内容をサーバ装置Sに送信し、サーバ装置Sはこの操作内容を端末装置T1に送信する。端末装置T1はこれを受けて、右上に移動していたオブジェクトを、下に20移動させる((e)参照)。
以上のように、端末装置T1のユーザにとっては、オブジェクトを右上に移動しようとしたにもかかわらず、右下に移動する結果となり。端末装置T2のユーザにとっては、オブジェクトを左下に移動しようとしたにもかかわらず、右下に移動する結果となる。
ここでの問題は、いずれのユーザも意図していなかった右下という位置にオブジェクトが移動してしまうという点である。つまり、オブジェクトの操作結果をいずれのユーザも予測することができず、どのユーザも意図していなかった操作結果が生じることになってしまうという問題があった。
このような問題を解決するため、操作結果を送信するという方法が考えられる。図33、に操作結果を送信する場合の問題点を説明する。今、端末装置T1、T2ともに、左上にオブジェクトが表示されている状態にあるとする((a)(b)参照)。この状態から、端末装置T1において、オブジェクトが右に50移動され、その結果右上に移動されたとする((c)参照)。ほぼ同時に、端末装置T2において、オブジェクトが下に20移動され、その結果左下に移動されたとする((d)参照)。
端末装置T1は、オブジェクトが右上に移動したという操作結果をサーバ装置Sに送信し、サーバ装置Sはこの操作結果を端末装置T2に送信する。端末装置T2はこれを受けて、左下に移動していたオブジェクトを、操作結果として受信した右上に移動させる((f)参照)。
一方、端末装置T2は、オブジェクトが左下に移動したという操作結果をサーバ装置Sに送信し、サーバ装置Sはこの操作結果を端末装置T1に送信する。端末装置T1はこれを受けて、右上に移動していたオブジェクトを、操作結果として受信した左下に移動させる((e)参照)。
ここでの問題は、端末装置T1において表示されている操作結果と、端末装置T2において表示されている操作結果が異なるという点である。これは、共同編集においては、致命的な問題である。
また、上記のような問題は、オブジェクトのZオーダ(表示の前後関係)を変更した場合などにも生じるものである。
さらに、差分更新方式に限らず、複数の端末装置にてオブジェクトの共同編集を行う場合、各端末装置にて生成されたオブジェクトを一意に識別するための識別符号を生成する必要があった。この識別符号は、一意性が保証されるものであって、かつ、検索や比較などに要する時間が短いことが求められている。
この発明は、少なくとも上記のいずれかの問題を解決したシステムを提供することを目的とする。
以下、この発明の独立して適用可能な特徴を列挙する。
(1)(2)(3)(4)(5)この発明に係るコンテンツ共同編集システムは、サーバ装置と、当該サーバ装置と通信可能な二以上の端末装置とを備えたコンテンツ共同編集システムであって、
前記サーバ装置は、各端末装置から受信した操作情報を、受信した順が明らかになるように記録部に記録する操作情報記録手段と、記録部に記録された操作情報を、受信した順に各端末装置に配信する操作情報配信手段とを備え、
前記端末装置は、オブジェクトに対する操作を受け付ける直接操作受付手段と、直接操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、当該オブジェクトを操作し、操作結果を表示部に表示する直接操作表示手段と、直接操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、操作結果を含む操作情報を生成し、前記サーバ装置に送信する直接操作送信手段と、サーバ装置から受信した操作情報を受信する間接操作受信手段と、
間接操作受信手段によって受信した操作情報に基づいて、その受信順に、操作結果が生じるようにオブジェクトを操作し、操作結果を表示部に表示する間接操作表示手段とを備え、前記間接操作受信手段によって受信し、間接操作表示手段によって処理される操作情報には、他の端末装置の操作情報だけでなく、前記直接操作受付手段によって受け付けた自端末装置の操作情報も含むことを特徴としている。
したがって、各端末装置においてなされた操作を迅速に反映しつつ、各端末装置における操作結果の統一性を確保することができる。
(6)(7)(8)(9)(10)この発明に係るコンテンツ共同編集システムは、サーバ装置と、当該サーバ装置と通信可能な二以上の端末装置とを備えたコンテンツ共同編集システムであって、
前記サーバ装置は、各端末装置から受信した各オブジェクトのZオーダ情報を、受信した順が明らかになるように記録部に記録するZオーダ情報記録手段と、記録部に記録された各オブジェクトのZオーダ情報を、受信した順に各端末装置に配信するZオーダ情報配信手段とを備え、
前記端末装置は、各オブジェクトのZオーダの変更を受け付ける直接変更受付手段と、直接変更受付手段によって受け付けたオブジェクトのZオーダの変更に基づいて、当該変更結果を表示部に表示する直接変更表示手段と、直接変更受付手段によって受け付けたオブジェクトのZオーダの変更に基づいて、Zオーダ情報を生成し、前記サーバ装置に送信する直接変更送信手段と、サーバ装置から受信したZオーダ情報を受信する間接変更受信手段と、間接変更受信手段によって受信したZオーダ情報に基づいて、その受信順に、Zオーダの変更結果が生じるようにオブジェクトを操作し、Zオーダ変更結果を表示部に表示する間接変更表示手段とを備え、前記間接変更受信手段によって受信し、間接変更表示手段によって処理されるZオーダ情報には、他の端末装置のZオーダ情報だけでなく、前記直接変更受付手段によって受け付けた自端末装置のZオーダ情報も含むことを特徴としている。
したがって、各端末装置においてなされたZオーダ変更操作を迅速に反映しつつ、各端末装置におけるZオーダ変更操作結果の統一性を確保することができる。
(11)この発明に係るコンテンツ共同編集システムは、前記直接変更受付手段の受け付けるZオーダの変更は、オブジェクト生成に伴うZオーダの新設またはオブジェクトの前後の位置関係の変更に伴うZオーダの変更を含むことを特徴としている。
(12)(13)(14)(15)(16)この発明に係るコンテンツ共同編集システムは、サーバ装置と、当該サーバ装置と通信可能な二以上の端末装置とを備えたコンテンツ共同編集システムであって、
前記サーバ装置は、各端末装置からのアクセスを受けて、各端末装置を識別できる端末識別符号を生成して、各端末装置に送信する端末識別符号送信手段と、各端末装置から受信したオブジェクト識別符号を含む操作情報を記録部に記録する操作情報記録手段と、記録部に記録された操作情報を、各端末装置に配信する操作情報配信手段とを備え、
前記端末装置は、前記サーバ装置にアクセスし、端末識別符号を受信して記録部に記録する端末識別符号受信手段と、オブジェクトの生成を受け付けるオブジェクト生成受付手段と、オブジェクト生成受付手段によって受け付けたオブジェクトに対し、当該端末装置における各オブジェクトを識別できる端末オブジェクト識別符号を生成し、前記端末識別符号と組み合わせることによってオブジェクト識別符号を生成し、当該オブジェクトと対応付けて記録部に記録するオブジェクト記録手段と、前記オブジェクトに対する操作情報を、対応するオブジェクト識別符号とともに、前記サーバ装置に送信する操作情報送信手段と、前記サーバ装置から、オブジェクト識別符号を伴う操作情報を受信し、当該オブジェクト識別符号のオブジェクトに対する操作を実行する操作手段とを備えている。
したがって、オブジェクト生成時に各端末装置においてオブジェクト識別符号を生成することができる。
(17)この発明に係るオブジェクト共同編集システムは、オブジェクト識別符号が、数値にて表される端末オブジェクト識別符号と、数値にて表される端末識別符号との組合せにより構成されることを特徴としている。
したがって、オブジェクトの検索などのオブジェクト識別符号による処理が迅速である。
「操作情報記録手段」は、実施形態においては、ステップS105、S106がこれに対応する。
「操作情報配信手段」は、実施形態においては、ステップS107、S108がこれに対応する。
「直接操作受付手段」は、実施形態においては、ステップS3、S23がこれに対応する。
「直接操作送信手段」は、実施形態においては、ステップS5、S25がこれに対応する。
「間接操作受信手段」は、実施形態においては、ステップS6、S26がこれに対応する。
「間接操作表示手段」は、実施形態においては、ステップS8、S28がこれに対応する。
「Zオーダ情報記録手段」は、実施形態においては、ステップS305、S306がこれに対応する。
「Zオーダ情報配信手段」は、実施形態においては、ステップS307、S308がこれに対応する。
「直接変更受付手段」は、実施形態においては、ステップSS203、S213がこれに対応する。
「直接変更表示手段」は、実施形態においては、ステップS204、S214がこれに対応する。
「間接変更受信手段」は、実施形態においては、ステップS206、S216がこれに対応する。
「間接変更表示手段」は、実施形態においては、ステップS207、S217がこれに対応する。
「端末識別符号送信手段」は、実施形態においては、ステップS502、S504がこれに対応する。
「操作情報記録手段」は、実施形態においては、ステップS505がこれに対応する。
「端末識別符号受信手段」は、実施形態においては、ステップS402、S412がこれに対応する。
「オブジェクト生成受付手段」は、実施形態においては、ステップS403がこれに対応する。
「オブジェクト記録手段」は、実施形態においては、ステップS404がこれに対応する。
「操作情報送信手段」は、実施形態においては、ステップS405がこれに対応する。
「操作手段」は、実施形態においては、ステップS417がこれに対応する。
「プログラム」とは、CPUにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
この発明の1実施形態によるコンテンツ共同編集システムの全体構成図である。 コンテンツ共同編集システムの処理を説明するための図である。 システム構成図である。 端末装置T1のハードウエア構成である。 サーバ装置Sのハードウエア構成である。 共同編集処理のフローチャートである。 共同編集処理のフローチャートである。 サーバ装置Sの操作データ一覧である。 オブジェクトの位置と大きさの表現方法を説明するための図である。 端末装置T1、T2における表示例である。 図11Aは操作データ、図11Bはオブジェクトデータの例である。 端末装置T1の操作データ一覧である。 端末装置T2の操作データ一覧である。 他の例を示す図である。 他の例を示す図である。 他の例を示す図である。 他の例を示す図である。 第2の実施形態による共同編集システムの全体構成図である。 コンテンツ共同編集システムの処理を説明するための図である。 共同編集処理のフローチャートである。 共同編集処理のフローチャートである。 サーバ装置Sの操作データ一覧である。 端末装置T1の操作データ一覧である。 端末装置T2の操作データ一覧である。 端末装置T1、T2における表示例である。 オブジェクトデータの例である。 他の例を示す図である。 第3の実施形態による共同編集システムの全体構成図である。 共同編集処理のフローチャートである。 共同編集処理のフローチャートである。 操作データの例である。 従来のコンテンツ共同編集システムの動作を説明するための図である。 従来のコンテンツ共同編集システムの動作を説明するための図である。
1.第1の実施形態
1.1システム構成と概要
図1に、この発明の一実施形態によるコンテンツ共同編集システムの全体構成を示す。サーバ装置Sには、複数の端末装置T1、T2・・・Tnが接続されている。図2は、コンテンツ共同編集システムにおける共同編集を説明するための概念図である。
以下、図1と図2を参照して説明する。端末装置T1、T2のいずれにおいても、図2の最上段に示すように、左上にオブジェクトが表示されているものとする。
端末装置T1の直接操作受付手段2(図1)は、マウスなどによるユーザの操作を受け付ける。直接操作表示手段4は、この操作内容を表示部6に表示する。たとえば、図2に示すように、端末装置T1のユーザがオブジェクトを左上から右上に移動するよう操作したとする(図2の(1))。端末装置T1の直接操作送信手段10は、この操作情報をサーバ装置Sに送信する。この実施形態では、操作情報として、オブジェクトを右に移動したという操作内容ではなく、オブジェクトが右上に移動したという操作結果を送信するようにしている。サーバ装置Sの操作情報記録手段22(図1)は、これを受けて、記録部24に記録する(図2の(2))。
この時、ほぼ同時に、少し遅れて端末装置T2のユーザが、オブジェクトを操作しようとしたとする。この際、端末装置T2には、上記の端末装置T1での操作が送られてきていないので、オブジェクトはまだ左上にあるように表示されている。ここで、端末装置T2のユーザが、マウスなどの操作によって、オブジェクトを左上から左下に移動するよう操作したとする(図2の(3))。端末装置T2の直接操作送信手段10(図示せず)は、この操作情報をサーバ装置Sに送信する。サーバ装置Sの操作情報記録手段22(図1)は、これを受けて、記録部24に記録する(図2の(4))。
サーバ装置Sの操作情報配信手段26は、記録部24に記録された操作情報を記録順に読み出して、各端末装置T1、T2・・・Tnに配信する。まず、端末装置T1によって操作されたオブジェクトの右上への移動を読み出して、各端末装置T1、T2・・・Tnに配信する。この際、操作情報を送信してきた端末装置T1に対してもこの操作情報の配信を行う(図2の(5))。
端末装置T1の間接操作受信手段12は、サーバ装置Sからの操作情報を受信する(図2の(5))。間接操作表示手段8は、受信した操作情報に基づいてオブジェクトを操作し、表示部6に表示する。端末装置T1においては、オブジェクトが右上に表示された状態にあるので、そのままの位置に保持されることになる(図2の(6))。
同様に、端末装置T2の間接操作受信手段12(図示せず)も、サーバ装置Sからの操作情報を受信する(図2の(5))。間接操作表示手段8(図示せず)は、受信した操作情報に基づいてオブジェクトを操作し、表示部6(図示せず)に表示する。端末装置T2においては、オブジェクトが左下に表示された状態にあるので、右上に移動されることになる(図2の(6))。
続いて、サーバ装置Sは、端末装置T2によって操作されたオブジェクトの左下への移動を読み出して、各端末装置T1、T2・・・Tnに配信する。この際、操作情報を送信してきた端末装置T2に対してもこの操作情報の配信を行う(図2の(7))。
端末装置T1の間接操作受信手段12は、サーバ装置Sからの操作情報を受信する(図2の(7))。間接操作表示手段8は、受信した操作情報に基づいてオブジェクトを操作し、表示部6に表示する。端末装置T1においては、オブジェクトが右上に表示された状態にあるので、左下に移動されることになる(図2の(8))。
同様に、端末装置T2の間接操作受信手段12(図示せず)も、サーバ装置Sからの操作情報を受信する(図2の(7))。間接操作表示手段8(図示せず)は、受信した操作情報に基づいてオブジェクトを操作し、表示部6(図示せず)に表示する。端末装置T2においては、オブジェクトが右上に表示された状態にあるので、左下に移動されることになる(図2の(8))。
以上のようにして、他の端末装置からの操作情報が送られてくる前に、操作がなされた場合であっても、最後に操作を行った端末装置の操作が優先され、各端末装置T1、T2・・・Tnにおけるオブジェクトの操作結果が一致する。また、操作されていないオブジェクトの位置などを送信するものでないため、操作内容の反映が迅速である。
図3に、このシステムの機器構成例を示す。サーバ装置Sは、インターネットを介して、端末装置T1〜T3であるタブレットPC、端末装置T4である据置型PCに接続されている。端末装置T1〜T3は、無線LANによってサーバ装置Sに接続されている。端末装置T4は、LANによってサーバ装置Sに接続されている。
図4に、端末装置T1のハードウエア構成を示す。CPU30には、メモリ32、タッチスクリーンディスプレイ34、不揮発性メモリ36、通信回路38が接続されている。タッチスクリーンディスプレイ34は、表示を行うとともに、スタイラスペンなどを用いて入力を行うことができるようになっている。通信回路38は、インターネットに接続するための回路である。
不揮発性メモリ36には、オペレーティングシステム40、端末プログラム42が記録されている。また、生成・編集されたオブジェクトを示すオブジェクトデータ44、オブジェクトに対する操作を示す操作データ45が記録される。端末プログラム42は、オペレーティングシステム40と協働してその機能を発揮するものである。これらプログラムは、インターネットを介してプログラム配信サーバ装置(図示せず)からダウンロードしてインストールしたものである。オブジェクトデータ44は、自端末装置T1・他の端末装置T2〜T4において生成・編集されたオブジェクトを示すデータであり、各端末装置T1〜T4における生成・編集状況によって変化するものである。
なお、端末装置T2、T3は同様の構成である。また、端末装置T4も同様の構成であるが、タッチスクリーンディスプレイ34の代わりに、ディスプレイとキーボード/マウスが設けられている点が異なる。
図5に、サーバ装置Sのハードウエア構成を示す。CPU50には、メモリ52、ディスプレイ54、ハードディスク56、DVD−ROMドライブ58、通信回路60が接続されている。通信回路60は、インターネットに接続するための回路である。
ハードディスク56には、オペレーティングシステム62、サーバプログラム64が記録されている。サーバプログラム64は、オペレーティングシステム62と協働してその機能を発揮するものである。これらプログラムは、DVD−ROM68に記録されていたものを、DVD−ROMドライブ58を介して、ハードディスク56にインストールしたものである。操作データ45は、各端末装置T1〜T4から受信したものである。
1.2共同編集処理
図6、図7に、このシステムによる共同編集処理のフローチャートを示す。図6、図7において、端末装置T1、端末装置T2は端末プログラム42を表している。サーバ装置Sは、サーバプログラム64を表している。なお、図6、図7においては、2つの端末装置T1、T2のみを示しているが、他の端末装置T3、T4も同様の処理を行う。
なお、以下では、端末装置T3、T4によって既に共同編集が行われており、その後、端末装置T1、T2がこの共同編集に参加する場合を例として説明する。
端末装置T1を操作するユーザは、スタイラスペン(図示せず)によりタッチスクリーン・ディスプレイ34を操作して、サーバ装置Sにアクセスする。端末装置T1のCPU30(以下、端末装置T1と省略することがある)は、この操作を受けて、ユーザによって入力されたユーザIDとパスワードを、サーバ装置Sに送信する(ステップS1)。
サーバ装置SのCPU50(以下、サーバ装置Sと省略することがある)は、これを受けて、当該ユーザIDとパスワードの組合せが予めハードディスク56に記録されたものと合致するかどうかを判断する(ステップS101)。合致すれば、正当なユーザからのログインであると判断して、これまでに他の端末装置T3、T4によって既に生成・編集されたオブジェクトの操作データ一覧を端末装置T1に送信する(ステップS102)。
図8Aに、操作データの例を示す。ここでは、オブジェクトの生成のみが行われただけであるから、1つの操作データのみが記録されている。左端の数字「0」は、操作データを記録した順を示している。操作の欄は、操作の種類を示している。ここでは「生成」が記録されている。さらに、生成されたオブジェクトを識別するオブジェクトIDとともに、オブジェクトの属性、オブジェクトの特徴点の座標、色、太さなどが記録されている。図9に、オブジェクトの座標の表現方式を示す。オブジェクトの特徴点A、B、C、Dの座標は、ディスプレイの左上隅を原点(0,0)とし、横方向にX軸、縦方向にY軸として表している。
端末装置T1は、この操作データ一覧を受信し、不揮発性メモリ36に記録する(ステップS2)。図12Aに、端末装置T1に記録された操作データ一覧を示す。
さらに、端末装置T1は、この操作データ一覧に基づいて、オブジェクトデータを生成し、タッチスクリーン・ディスプレイ34にオブジェクトを表示する(ステップS2)。
図10Aに、タッチスクリーン・ディスプレイ34に表示されたオブジェクト70を示す。端末装置T1は、オブジェクの属性が「四角」であることから、四角形としてオブジェクトを表示する。その際、操作データに示された四角形の四隅の点A、B、C、Dの座標に基づいて、その位置と大きさを決定する。また、オブジェクトの色、太さなどについても、操作データに記載された指定どおりに表示する。
端末装置T2のCPU30(以下、端末装置T2と省略することがある)も、上記と同様にして、サーバ装置Sにログインする(ステップS21)。サーバ装置Sは、ログイン処理を行い(ステップS103)、操作データ一覧を端末装置T2に送信する(ステップS104)。図13Aに、端末装置T2に記録された操作データ一覧を示す。
操作データ一覧を受けた端末装置T2は、端末装置T1と同じようにして、オブジェクトデータを生成しオブジェクトの表示を行う(ステップS22)。図10Bに、端末装置T2において表示されたオブジェクト70を示す。同じオブジェクトデータに基づく表示であるから、端末装置T1、T2のいずれにおいても、同じようにオブジェクトが左上に表示されている。
次に、端末装置T1のユーザが、スタイラスペン(図示せず)によりタッチスクリーン・ディスプレイ34に表示されたオブジェクト70を右に移動させたとする。端末装置T1は、この操作を受け付けて、操作データX1を得る(ステップS3)。端末装置T1は、この操作データX1に基づき、オブジェクトデータを修正し、図10Cに示すようにオブジェクト70の表示を右に移動させる(ステップS4)。
この操作データX1を、図11に示す。操作されたオブジェクトのオブジェクトID、操作種類が記録されている。ここでは、オブジェクトが移動されたので、操作種類は移動として記録されている。この操作種類に続いて、移動後のオブジェクトの座標が記録されている。端末装置T1は、この操作データX1を、サーバ装置Sから受信した操作データ一覧に追加して記録する(ステップS3)。したがって、端末装置T1において記録された操作データ一覧は、図12Bのようになる。
端末装置T1は、次に、操作データX1をサーバ装置Sに送信する(ステップS5)。サーバ装置Sは、操作データX1を受信し、操作データ一覧に追加して記録する(ステップS105)。したがって、サーバ装置Sにおける操作データ一覧は、図8Bのようになる。
一方、端末装置T2も端末装置T1とほぼ同時に、オブジェクト70に対する操作を行ったとする。この際、端末装置T2においては、上記の操作データX1がまだ届いていないので、オブジェクトは図10Bのような状態として表示されている。
ここで、端末装置T2のユーザにより、オブジェクト70が左下に移動するよう操作されたとする。端末装置T2は、この操作を受け付けて操作データX2を得る(ステップS23)。端末装置T2は、この操作データX2を、サーバ装置Sから受信した操作データ一覧に追加して記録する(ステップS23)。したがって、端末装置T2における操作データ一覧は、図13Bのようになる。
さらに、図10Dのように、タッチスクリーン・ディスプレイ34にオブジェクト70の移動を表示する(ステップS24)。続いて、操作データX2をサーバ装置Sに送信する(ステップS25)。
サーバ装置Sは、操作データX2を受信し、これをハードディスク56に記録する(ステップS106)。したがって、サーバ装置Sには、図8Cに示すように操作データ一覧が記録される。この実施形態では、操作データを受信した順に、番号をつけて記録するようにしている。なお、受信の順番は、受信時のタイムスタンプに基づいて行うようにしてもよい。以上のようにして、サーバ装置Sには、操作データX1、X2が記録されることになる。
続いて、サーバ装置Sは、端末装置T1、T2より受信して記録した操作データを、その記録時刻順(受信時刻順)に、全ての端末装置T1、T2、T3、T4に配信する(ステップS107)。この例であれば、まず、端末装置T1から受信した操作データX1を、各端末装置T1、T2、T3、T4に配信することになる。
図7においては、端末装置T1、T2に対する配信のみが表示されているが、他の端末装置T3、T4に対しても同じように配信がなされる。この時、操作データX1は、上記のように、端末装置T1から受信したものであるが、サーバ装置Sは、当該端末装置T1に対しても、操作データX1を送信する。また、サーバ装置Sは、送信済みの操作データについては、送信済みのフラグ(図示せず)を立てる。
操作データX1を受信した端末装置T1は、これを不揮発性メモリ36の操作データ一覧に追加して記録する(ステップS6)。ただし、ここでは、端末装置T1にすでに記録されていた最新の操作データX1と、受信した操作データX1が同一であるから、改めて記録を行わない。したがって、端末装置T1における操作データ一覧は、図12Bのままである。
端末装置T1は、操作データX1に基づいて当該オブジェクトを操作し、操作結果を表示する(ステップS8)。つまり、操作データX1に基づいてオブジェクトデータを修正し、修正したオブジェクトデータに基づいてオブジェクトを表示する。
操作データX1は、オブジェクト70を右上に移動するという操作である。図10Cに示すように、端末装置T1においては、ユーザの操作によって既に、オブジェクト70が右上に移動されている。したがって、端末装置T1は、タッチスクリーン・ディスプレイ34に表示されたオブジェクト70の位置を、そのまま右上に維持する(図10E)。
なお、対象となる当該オブジェクトが既に削除されている場合(既に削除されたオブジェクトに対する操作である場合)には、ステップS8の操作は実行しない(ステップS7)。この点については、後述する。
操作データX1を受信した端末装置T2は、これを不揮発性メモリ36の操作データ一覧に追加して記録する(ステップS26)。したがって、端末装置T2における操作データ一覧は、図13Cのようになる。
端末装置T2は、操作データX1に基づいて当該オブジェクトを操作し、操作結果を表示する(ステップS28)。つまり、操作データX1に基づいてオブジェクトデータを修正し、修正したオブジェクトデータに基づいてオブジェクトを表示する。
操作データX1は、オブジェクト70を右上に移動するという操作である。図10Dに示すように、端末装置T2においては、ユーザの操作によって既に、オブジェクト70が左下に移動されている。したがって、端末装置T2は、タッチスクリーン・ディスプレイ34に表示されたオブジェクト70の位置を、左下から右上に移動するよう操作する(図10F)。なお、この実施形態では、操作(現在位置から右へ移動)を反映するのではなく、操作結果(現在位置に拘わらず右上に移動)を反映するようにしている。
なお、対象となる当該オブジェクトが既に削除されている場合(既に削除されたオブジェクトに対する操作である場合)には、ステップS28の操作は実行しない(ステップS27)。この点については、後述する。
次に、サーバ装置Sは、端末装置T2から受信した操作データX2を、各端末装置T1、T2、T3、T4に配信する。図7においては、端末装置T1、T2に対する配信のみが表示されているが、他の端末装置T3、T4に対しても同じように配信がなされる。この時、操作データX2は、上記のように、端末装置T2から受信したものであるが、サーバ装置Sは、当該端末装置T2に対しても、操作データX2を送信する。
操作データX2を受信した端末装置T1は、これを不揮発性メモリ36の操作データ一覧に追加して記録する(ステップS9)。操作データX2が追加された操作データ一覧を、図12Cに示す。
端末装置T1は、操作データX2に基づいて当該オブジェクトを操作し、操作結果を表示する(ステップS11)。つまり、操作データX2に基づいてオブジェクトデータを修正し、修正したオブジェクトデータに基づいてオブジェクトを表示する。この時の端末装置T1における、オブジェクトデータは図11Bに示すとおりである。
操作データX2は、オブジェクト70を左下に移動するという操作である。図10Eに示すように、端末装置T1においては、オブジェクト70が右上に位置している。したがって、端末装置T1は、タッチスクリーン・ディスプレイ34に表示されたオブジェクト70の位置を、右上から左下に移動する(図10G)。
操作データX2を受信した端末装置T2は、これを不揮発性メモリ36の操作データ一覧に追加して記録する(ステップS29)。操作データX2が追加された操作データ一覧を、図13Dに示す。
端末装置T2は、操作データX2に基づいて当該オブジェクトを操作し、操作結果を表示する(ステップS31)。つまり、操作データX2に基づいてオブジェクトデータを修正し、修正したオブジェクトデータに基づいてオブジェクトを表示する。この時の、端末装置T2におけるオブジェクトデータは、図11Bに示すとおりである。
操作データX2は、オブジェクト70を左下に移動するという操作である。図10Fに示すように、端末装置T2においては、オブジェクト70が右上に表示されている。したがって、端末装置T2は、タッチスクリーン・ディスプレイ34に表示されたオブジェクト70の位置を、右上から左下に移動するよう操作する(図10H)。
以上のようにして、各端末装置T1、T2、T3、T4におけるオブジェクトデータが図11Bに示すように統一され、それに基づくオブジェクトの表示も統一される。
上記では、端末装置T1と端末装置T2において、双方が同じオブジェクトに対し、抵触する移動操作を行った場合について説明した。ここで、「抵触する操作」とは、一方の端末装置がオブジェクトに対する操作を行ってから、その操作が他方の端末装置に反映されるまでの間に、他方の端末装置が同じオブジェクトに対して、一方の端末装置の行った操作と両立しない操作を行った場合の、双方の操作をいう。
しかし、上記のような処理は、移動操作だけでなく他の抵触する操作についても同様に行われる。たとえば、一方の端末装置がオブジェクトの色を変更し、同時に他方の端末装置がオブジェクトを他の色に変更した場合や、一方の端末装置がオブジェクトの線種を変更し、同時に他方の端末装置がオブジェクトを他の線種に変更した場合や、一方の端末装置がオブジェクトの拡大を行い、同時に他方の端末装置がオブジェクトの縮小を行った場合などにおいても、同様の処理がなされる。
また、一方の端末装置がオブジェクトに対する操作を行ってから、その操作が他方の端末装置に反映されるまでの間に、他方の端末装置が同じオブジェクトに対して、一方の端末装置の行った操作と両立する操作を行った場合も、同様の処理が行われる。しかし、両立する操作であるから、最後の操作だけでなく両操作ともに有効なものとなる。
たとえば、端末装置T1において拡大操作がなされ、端末装置T2において線種変更がなされた場合の処理を、図14に示す。両端末装置T1、T2ともに、左上にオブジェクトが表示されている状態であるとする。
ここで、端末装置T1において、オブジェクトの拡大操作がなされたとする(図14の(1)参照)。端末装置T1は、この拡大操作の操作データX1をサーバ装置Sに送信する。サーバ装置Sは、この操作データX1を記録する((2)参照)。なお、この実施形態では、オブジェクトデータのうち操作によって変化する項目について、操作後のデータを、操作データとするようにしている。したがって、拡大操作の操作データX1は、拡大後のオブジェクトの各特徴点の座標となる。
少し遅れて、端末装置T2において、オブジェクトの線種を太線に変更する太線変更操作がなされたとする((3)参照)。端末装置T2は、この太線変更操作の操作データX2をサーバ装置Sに送信する。サーバ装置Sは、この操作データX2を記録する((4)参照)。線種変更の操作データX2は、線種を太線とするものとなる。
サーバ装置Sは、先に記録した拡大操作の操作データX1を、全ての端末装置T1、T2に配信する((5)参照)。これにより、端末装置T1においては、拡大されたオブジェクトがそのまま維持される((6)参照)。端末装置T2においては、オブジェクトがすでに太線に変更されている。したがって、この太線のオブジェクトが拡大される((6)参照)。
続いて、サーバ装置Sは、太線変更の操作データX2を、全ての端末装置T1、T2に配信する((7)参照)。これにより、端末装置T1においては、拡大されたオブジェクトの線種が太線に変更される((8)参照)。端末装置T2においては、オブジェクトの線種はすでに太線になっているので、そのままに維持される((8)参照)。
以上のように、各端末装置において両立しうる操作が行われた場合も、各端末装置T、サーバ装置Sは同様の処理を行うが、操作が両立するため、双方の操作が生かされることになる。
また、複数の端末装置において、一方の端末装置による操作が他の端末装置に反映される前になされた、異なるオブジェクトの操作についても、図6、図7のフローチャートに従う処理が行われる。この場合には、異なるオブジェクトに対する操作であり抵触がないので、双方の操作ともに有効なものとして、全端末装置のオブジェクトデータおよび表示が統一される。
たとえば、端末装置T1においてオブジェクト70の回転操作がなされ、端末装置T2においてオブジェクト72の線種変更がなされた場合の処理を、図15に示す。両端末装置T1、T2ともに、左上にオブジェクト70、右上にオブジェクト72が表示されている状態であるとする。ここで、端末装置T1において、オブジェクト70の回転操作がなされたとする(図15の(1)参照)。端末装置T1は、この拡大操作の操作データX1をサーバ装置Sに送信する。サーバ装置Sは、この操作データX1を記録する((2)参照)。
少し遅れて、端末装置T2において、オブジェクト72の線種を太線に変更する太線変更操作がなされたとする((3)参照)。端末装置T2は、この太線変更操作の操作データX2をサーバ装置Sに送信する。サーバ装置Sは、この操作データX2を記録する((4)参照)。
サーバ装置Sは、先に記録したオブジェクト70に対する回転操作の操作データX1を、全ての端末装置T1、T2に配信する((5)参照)。これにより、端末装置T1においては、回転されたオブジェクト70がそのまま維持される((6)参照)。端末装置T2においては、オブジェクト70の回転操作がなされる((6)参照)。端末装置T2においては、既にオブジェクト72の太線変更の操作がなされているが、操作データX1によって、この操作は影響を受けない。異なるオブジェクトに対する操作だからである。
続いて、サーバ装置Sは、オブジェクト72に対する太線変更の操作データX2を、全ての端末装置T1、T2に配信する((7)参照)。これにより、端末装置T1においては、オブジェクト72が太線に変更される((8)参照)。この際も、既に操作がなされているオブジェクト70の回転操作は影響を受けない。端末装置T2においては、既に太線に変更されているオブジェクト72が維持される((8)参照)。
このように、一方の端末装置による操作が他の端末装置に反映される前になされた、異なるオブジェクトの操作は互いに抵触しないので、各端末装置における操作が全て有効なものとして、全端末装置のオブジェクトデータおよび表示が統一される。
また、同じオブジェクトに対する操作が異なる端末装置でなされた場合であっても、一方の端末装置による操作データが他方の端末装置に反映された後の操作であれば、全ての操作が有効なものとされる。たとえば、端末装置T1において拡大操作がなされ、この拡大操作が反映された後に、端末装置T2において線種変更がなされた場合の処理を、図16に示す。
この場合、端末装置T1による拡大操作と、端末装置T2による太線変更操作がともに有効なものとして、全端末装置のオブジェクトデータおよび表示が統一される。
なお、抵触する操作が異なる端末装置においてなされた場合には、先に述べたように、抵触する操作のうち最後の操作によって統一するようにしている。しかし、この実施形態では、抵触する操作の少なくとも一つがオブジェクトの削除操作である場合には、オブジェクトの削除操作によって統一を行うようにする。つまり、オブジェクトの削除操作があった後の抵触する操作は、オブジェクトデータに記録しないか、あるいは記録したとしても実行しないようにしている。なお、他の実施形態としては、抵触する操作に削除操作が含まれていても、原則どおり、抵触する操作のうち最後の操作によって統一するようにしてもよい。
なお、各端末装置においてサーバ装置Sからの配信を受信するタイミングは異なっている。このため、他の端末装置においては操作データを受信しているにもかかわらず、ある端末装置においては操作データを受信していない場合もある。この場合、当該操作データを受信していない端末装置において、当該オブジェクトに対する操作が行われると、抵触が生じることになる。
このような場合の例を、図17に示す。端末装置T1によってなされた拡大操作は、サーバ装置Sから各端末装置に配信される((4)参照)。しかし、(5)に示すように、端末装置T1、T3には到達しているが、端末装置T2には到達していない。この時に、端末装置T2によって縮小操作がなされると抵触が生じることになる。
拡大操作の操作データは、(8)において端末装置T2に到達する。しかし、その後、縮小操作の操作データによって、端末装置T1、T2、T3において縮小操作に統一される。つまり、抵触が生じた操作(拡大操作)が最終的に無効となり、端末装置T2によってなされた縮小操作によって統一がなされる。
また、抵触操作が連鎖する場合もある。たとえば、端末装置T1が線種を青色にする操作を行い、端末装置T2が線種を赤色にする抵触する操作を行ったとする。さらに、端末装置T1の操作とは抵触しないが、端末装置T2の操作とは抵触する操作(線種を黄色にする操作)を、端末装置T3が行ったとする。つまり、端末装置T3において、端末装置T1の操作が反映された後であって、端末装置T2の操作が反映される前に操作がなされたとする。この場合、端末装置T3の行った操作(線種を黄色にする操作)によって、各端末装置の操作の統一がなされる。
なお、この実施形態では、サーバ装置Sとの通信が一時的にできなくなった端末装置においても、オブジェクトに対する編集を行うことができる。その後、当該端末装置がサーバ装置Sと通信できるようになった時に、他の端末装置からの操作データを受け取り、また、自らの操作データをサーバ装置Sを介して他の端末装置に送信することができる。この場合に、抵触する操作があった場合には、上記と同様にして、最後にサーバ装置Sに記録された操作が優先されて、各端末装置における操作が統一されることになる。
1.3その他
(1)上記実施形態では、四角形のオブジェクトを例として説明した。しかし、その他の図形や文字・符号などについても同様に適用することができる。この場合、図形などの種類によりその形状と位置を特定するために、オブジェクトデータに記録する座標は異なってくる。たとえば、円形であれば、中心点の座標と半径によって特定することができる。
(2)上記実施形態では、操作結果(操作後のオブジェクトの状態)を操作データとして送信するようにしている。しかし、操作結果として、操作前のオブジェクト状態と操作内容(移動量など)とを送信するようにしてもよい。
(3)上記実施形態では、サーバ装置Sが送信済みの操作データについてフラグを立て、未送信の操作データについて各端末装置に送信するようにしている。しかし、サーバ装置Sにおいて、連続番号などを付して操作データを記録し、各端末装置では、受信した操作データの連続番号を記録するようにしてもよい。この場合、各端末装置は、所定のタイミングで、自らが受信済みの操作データの連続番号を明示して、サーバ装置Sに操作データの送信を要求する。
(4)上記実施形態および変形例は、その本質に反しない限り、他の実施形態と組み合わせて実施可能である。
2.第2の実施形態
2.1システム構成と概要
図18に、この発明の一実施形態によるコンテンツ共同編集システムの全体構成を示す。サーバ装置Sには、複数の端末装置T1、T2・・・Tnが接続されている。図19は、コンテンツ共同編集システムにおける共同編集を説明するための概念図である。
以下、図18と図19を参照して説明する。端末装置T1、T2のいずれにおいても、図19の最上段に示すように、楕円のオブジェクトが表示されているものとする。この実施形態では、オブジェクトごとに表示の重なり順(Zオーダ)をデータとして持つようにしている。ここでは、楕円のオブジェクトのZオーダは「0」(Z=0)として保持されているものとする。なお、Zオーダの値が小さいほど、下側になるように表示されることになる。
端末装置T1の直接変更受付手段102(図18)は、マウスなどによるユーザの操作を受け付ける。直接変更表示手段104は、この操作内容を表示部106に表示する。たとえば、図19に示すように、端末装置T1のユーザが楕円オブジェクトの上に、菱形オブジェクト(Z=1)を生成したとする(図19の(1))。端末装置T1の直接変更送信手段110は、この菱形オブジェクト(Z=1)が生成された旨を示す操作データを(Zオーダを含む)をサーバ装置Sに送信する。サーバ装置SのZオーダ情報記録手段122(図1)は、これを受けて、記録部124に記録する(図19の(2))。
この時、ほぼ同時に、少し遅れて端末装置T2のユーザが、楕円オブジェクトの上に四角オブジェクトを生成したとする(図19の(3))。この際、端末装置T2には、上記の端末装置T1からの操作データが送られてきていないので、楕円オブジェクトの上に四角オブジェクトが生成されることになる。つまり、四角オブジェクトのZオーダは「1」(Z=1)となる。端末装置T2の直接変更送信手段110(図示せず)は、この操作データ(Zオーダを含む)をサーバ装置Sに送信する。サーバ装置SのZオーダ情報記録手段122(図18)は、これを受けて、記録部124に記録する(図19の(4))。
サーバ装置Sの操作情報配信手段126は、記録部124に記録された操作データを記録順に読み出して、各端末装置T1、T2・・・Tnに配信する。まず、端末装置T1によって生成された操作データ(菱形オブジェクト(Z=1)の生成)を、各端末装置T1、T2・・・Tnに配信する。この際、菱形オブジェクトを生成した端末装置T1に対してもこの操作データの配信を行う(図19の(5))。
端末装置T1の間接変更受信手段112は、サーバ装置Sからの操作データ(菱形オブジェクト(Z=1)の生成)を受信する(図19の(5))。間接変更表示手段108は、受信した操作データに基づいて菱形オブジェクト(Z=1)を生成して表示する。端末装置T1においては、楕円オブジェクト(Z=0)の上に菱形オブジェクト(Z=1)が表示された状態であるから、そのままの状態に保持されることになる(図19の(6))。
同様に、端末装置T2の間接変更受信手段112(図示せず)も、サーバ装置Sからの操作データ(菱形オブジェクト(Z=1)の生成)を受信する(図19の(5))。間接変更表示手段108(図示せず)は、受信した操作データに基づいて菱形オブジェクト(Z=1)を生成し、表示部106(図示せず)に表示する。
端末装置T2においては、楕円オブジェクト(Z=0)の上に四角オブジェクト(Z=1)が表示された状態にある。ここに、配信されてきた菱形オブジェクト(Z=1)を生成して、表示することになる。この際、間接変更表示手段108(図示せず)は、配信されてきた菱形オブジェクト(Z=1)のZオーダを変更することなく、しかも、既に存在するオブジェクトの上下関係を変更することなく、菱形オブジェクトを追加する。
したがって、端末装置T2は、楕円オブジェクト(Z=0)、菱形オブジェクト(Z=1)、四角オブジェクト(Z=2)として表示を行う。つまり、図19の(6)に示すように、楕円オブジェクトの上に、菱形オブジェクトを表示し、さらにその上に四角オブジェクトを表示する。
続いて、サーバ装置Sは、端末装置T2によって生成された操作データ(四角オブジェクト(Z=1)の生成)を読み出して、各端末装置T1、T2・・・Tnに配信する。この際、操作情報を送信してきた端末装置T2に対してもこの操作データの配信を行う(図19の(7))。
端末装置T1の間接変更受信手段112は、サーバ装置Sからの操作データ(四角オブジェクト(Z=1)の生成)を受信する(図19の(7))。間接変更表示手段108は、受信した操作データに基づいて四角オブジェクト(Z=1)を生成し表示部106に表示する。
端末装置T1においては、楕円オブジェクト(Z=0)の上に菱形オブジェクト(Z=1)が表示された状態にある。したがって、端末装置T1は、前述のルールに従い、楕円オブジェクト(Z=0)、四角オブジェクト(Z=1)とし、菱形オブジェクトのZオーダを「2」に変更する。したがって、図19の(8)に示すように、楕円オブジェクトの上に、菱形オブジェクトを表示し、さらにその上に四角オブジェクトを表示する。
同様に、端末装置T2の間接変更受信手段112(図示せず)も、サーバ装置Sからの操作情報を受信する(図19の(7))。間接変更表示手段108(図示せず)は、受信したオブジェクトデータ(Z=1)に基づいて四角オブジェクトを表示部106(図示せず)に表示する。
端末装置T2においては、丸形オブジェクト(Z=0)の上に菱形オブジェクト(Z=1)が表示され、その上に四角オブジェクトが表示された状態にある。受信した四角オブジェクトのZオーダは「1」であるから、端末装置T2は、前述のルールに従い、楕円オブジェクト(Z=0)の上に、菱形オブジェクト(Z=1)を表示し、さらにその上に四角オブジェクト(Z=2)を表示する(図19の(8))。
以上のようにして、他の端末装置からのZオーダ変更のデータが送られてくる前に、Zオーダに関する操作がなされた場合であっても、最後に操作を行った端末装置のZオーダが優先され、各端末装置T1、T2・・・TnにおけるオブジェクトのZオーダが一致する。
なお、上記実施形態では、変更のあったZオーダのみを送信するようにしているが、変更されていないオブジェクトも含めて全てのZオーダを操作情報として送信するようにしてもよい。
システムの構成、端末装置Tのハードウエア構成、サーバ装置Sのハードウエア構成は、第1の実施形態と同様(図3〜図5参照)である。
2.2共同編集処理
図20、図21に、このシステムによる共同編集処理のフローチャートを示す。図20、図21において、端末装置T1、端末装置T2は端末プログラム42を表している。サーバ装置Sは、サーバプログラム64を表している。なお、図20、図21においては、2つの端末装置T1、T2のみを示しているが、他の端末装置T3、T4も同様の処理を行う。
なお、以下では、端末装置T3、T4によって既に共同編集が行われており、その後、端末装置T1、T2がこの共同編集に参加する場合を例として説明する。
端末装置T1がサーバ装置Sにアクセスしログインを行う点は、第1の実施形態と同様である(ステップS201、S301)。サーバ装置Sは、正当なユーザからのログインであると判断すると、これまでに既に他の端末装置T3、T4から送られてきて記録している操作データ一覧を、端末装置T1に送信する(ステップS302)。
図22Aに、操作データ一覧の例を示す。ここでは、オブジェクトの生成のみが行われただけであるから、1つの操作データのみが記録されている。生成されたオブジェクトを識別するオブジェクトIDとともに、Zオーダ、オブジェクトの属性、オブジェクトの特徴点の座標、色、太さなどが記録されている。
端末装置T1は、この操作データ一覧を受信し、不揮発性メモリ36に記録する(ステップS202)。図23Aに、端末装置T1に記録された操作データ一覧を示す。
さらに、端末装置T1は、この操作データ一覧に基づいて、オブジェクトデータを生成し、タッチスクリーン・ディスプレイ34にオブジェクトを表示する(ステップS202)。
図25Aに、タッチスクリーン・ディスプレイ34に表示されたオブジェクト70を示す。端末装置T1は、オブジェクの属性が「楕円」であることから、楕円としてオブジェクトを表示する。操作データに示されたF1、F2、F3、F4・・・の項目は、オブジェクトの特徴点の座標や寸法を表すものであり、属性に応じて予め定義されている。「楕円」の場合であれば、F1は中心座標、F2は短径、F3は長径と定義されている。端末装置T1は、F1、F2、F3・・・のデータに基づいて、その位置と大きさを決定する。また、オブジェクトの色、太さなどについても、操作データに記載された指定どおりに表示する。
端末装置T2のCPU30も、上記と同様にして、サーバ装置Sにログインする(ステップS211)。サーバ装置Sは、ログイン処理を行い(ステップS303)、操作データ一覧を端末装置T2に送信する(ステップS304)。図24Aに、端末装置T2に記録された操作データ一覧を示す。
操作データ一覧を受けた端末装置T2は、端末装置T1と同じようにして、オブジェクトデータを生成しオブジェクトの表示を行う(ステップS212)。図25Bに、端末装置T2において表示された楕円オブジェクト70を示す。同じオブジェクトデータに基づく表示であるから、端末装置T1、T2のいずれにおいても、同じように楕円オブジェクト70が表示されている。
次に、端末装置T1のユーザが、スタイラスペン(図示せず)によりタッチスクリーン・ディスプレイ34に表示された楕円オブジェクト70の上に菱形オブジェクト72を描画したとする。端末装置T1は、この操作を受け付けて、操作データX11(菱形オブジェクト生成)を得る(ステップS203)。端末装置T1は、この操作データX11に基づき菱形オブジェクトを生成し、図25Cに示すように楕円オブジェクト70の上に表示する(ステップS204)。
さらに、この操作データX11(菱形オブジェクト(Z=1)生成)を、サーバ装置Sから受信した操作データ一覧に追加して記録する(ステップS204)。したがって、端末装置T1において記録された操作データ一覧は、図23Bのようになる。なお、各端末装置において生成されたオブジェクトは、最前面に表示されるようにZオーダが付与される。したがって、菱形オブジェクト70のZオーダは「1」となる。
端末装置T1は、次に、操作データX11をサーバ装置Sに送信する(ステップS205)。サーバ装置Sは、操作データX11を受信し、操作データ一覧に追加して記録する(ステップS305)。したがって、サーバ装置Sにおける操作データ一覧は、図22Bのようになる。
一方、端末装置T2も端末装置T1とほぼ同時に、楕円オブジェクト70の上に描画を行ったとする。ただし、端末装置T2では、四角オブジェクト74を描画したものとする。この際、端末装置T2においては、上記の操作データX11がまだ届いていないので、オブジェクトは図25Bのような状態として表示されている。
ここで、端末装置T2のユーザにより、四角オブジェクト74が描画されると、端末装置T2は、この操作を受け付けて操作データX12を得る(ステップS213)。端末装置T2は、この操作データX12に基づき四角オブジェクト74を生成し、図25Dに示すように楕円オブジェクト70の上に表示する(ステップS214)。さらに、この操作データX12を、サーバ装置Sから受信した操作データ一覧に追加して記録する(ステップS214)。したがって、端末装置T2において記録された操作データ一覧は、図24Bのようになる。
端末装置T2は、次に、操作データX12をサーバ装置Sに送信する(ステップS215)。サーバ装置Sは、操作データX12を受信し、操作データ一覧に追加して記録する(ステップS306)。したがって、サーバ装置Sにおける操作データ一覧は、図22Cのようになる。
続いて、サーバ装置Sは、端末装置T1、T2より受信して記録した操作データを、その記録時刻順(受信時刻順)に、全ての端末装置T1、T2、T3、T4に配信する(ステップS307)。この例であれば、まず、端末装置T1から受信した操作データX11(菱形オブジェクト(Z=1)の生成)を、各端末装置T1、T2、T3、T4に配信することになる。
図21においては、端末装置T1、T2に対する配信のみが表示されているが、他の端末装置T3、T4に対しても同じように配信がなされる。この時、操作データX11は、上記のように、端末装置T1から受信したものであるが、サーバ装置Sは、当該端末装置T1に対しても、操作データX11を送信する。また、サーバ装置Sは、送信済みの操作データについては、送信済みのフラグ(図示せず)を立てる。
操作データX11を受信した端末装置T1は、これを不揮発性メモリ36の操作データ一覧に追加して記録する(ステップS206)。ただし、ここでは、端末装置T1にすでに記録されていた最新の操作データX11と、受信した操作データX11が同一であるから、改めて記録を行わない。したがって、端末装置T1における操作データ一覧は、図23Bのままである。
端末装置T1は、操作データX11に基づいて菱形オブジェクト72を生成し、当該菱形オブジェクトのZオーダ「1」が維持されるように表示を行う(ステップS207)。しかし、ここでは、既に、菱形オブジェクト72が生成され、楕円オブジェクト70の上に表示されているので、端末装置T1は現在の表示を維持する(図25E参照)。
なお、対象となる当該オブジェクトが既に削除されている場合(既に削除されたオブジェクトに対する操作である場合)には、ステップS207の操作は実行しない。この点については、第1の実施形態と同様である。
操作データX11を受信した端末装置T2は、これを不揮発性メモリ36の操作データ一覧に追加して記録する(ステップS216)。したがって、端末装置T2における操作データ一覧は、図24Cのようになる。
端末装置T2は、操作データX11に基づいて菱形オブジェクト72を生成し、当該菱形オブジェクトのZオーダ「1」が維持されるように表示を行う(ステップS217)。ここでは、既に、楕円オブジェクト70がZオーダ「0」、四角オブジェクトがZオーダ「1」にて表示されている。したがって、端末装置T2は、生成した菱形オブジェクト72のZオーダを「1」に維持し、四角オブジェクト74のZオーダを「2」に変更して表示する(図25F参照)。
なお、対象となる当該オブジェクトが既に削除されている場合(既に削除されたオブジェクトに対する操作である場合)には、ステップS217の操作は実行しない。この点については、第1の実施形態と同様である。
次に、サーバ装置Sは、端末装置T2から受信した操作データX12(四角オブジェクト74の生成)を、各端末装置T1、T2、T3、T4に配信する。図21においては、端末装置T1、T2に対する配信のみが表示されているが、他の端末装置T3、T4に対しても同じように配信がなされる。この時、操作データX12は、上記のように、端末装置T2から受信したものであるが、サーバ装置Sは、当該端末装置T2に対しても、操作データX12を送信する。
操作データX12を受信した端末装置T1は、これを不揮発性メモリ36の操作データ一覧に追加して記録する(ステップS208)。操作データX12が追加された操作データ一覧を、図23Cに示す。
端末装置T1は、操作データX12に基づいて四角オブジェクト74(Z=1)を生成し表示する(ステップS209)。端末装置T1においては、楕円オブジェクト(Z=0)の上に、菱形オブジェクト(Z=1)が表示されている。したがって、端末装置T1は、操作データX12にて指定された四角オブジェクト74のZオーダを「1」とし、菱形オブジェクト72のZオーダを「2」に変更する。したがって、楕円オブジェクト70の上に四角オブジェクト74が表示され、その上に菱形オブジェクト72が表示されることになる(図25G参照)。
この時の、端末装置T1におけるオブジェクトデータを、図26に示す。楕円オブジェクトのZオーダが「0」、菱形オブジェクトのZオーダが「1」、四角オブジェクトのZオーダが「2」となっている。
操作データX12を受信した端末装置T2は、これを不揮発性メモリ36の操作データ一覧に追加して記録する(ステップS218)。操作データX12が追加された操作データ一覧を、図24Dに示す。
端末装置T2は、操作データX12に基づいて四角オブジェクト74(Z=1)を生成し表示する(ステップS218)。端末装置T2においては、すでに四角オブジェクトが生成されているので、その生成は行わない。ただし、端末装置T2はZオーダの変更を行う。いま、端末装置T2においては、楕円オブジェクト70(Z=0)の上に、菱形オブジェクト72(Z=1)が表示され、その上に四角オブジェクト74(Z=2)が表示されている。したがって、端末装置T2は、操作データX12にて指定された四角オブジェクト74のZオーダを「1」とし、菱形オブジェクト72のZオーダを「2」に変更する。したがって、楕円オブジェクト70の上に四角オブジェクト74が表示され、その上に菱形オブジェクト72が表示されることになる(図25H参照)。
この時の、端末装置T2におけるオブジェクトデータを、図26に示す。楕円オブジェクトのZオーダが「0」、菱形オブジェクトのZオーダが「1」、四角オブジェクトのZオーダが「2」となっている。
以上のようにして、各端末装置T1、T2、T3、T4におけるZオーダを含むオブジェクトデータが統一され、それに基づくオブジェクトの表示順序も統一される。
なお、上記では、各端末装置から送信され、サーバ装置から各端末装置に配信される操作データに、生成されたオブジェクトのZオーダのみを含めている。しかし、オブジェクト生成時に存在する他のオブジェクト全てのZオーダも含めて操作データとして送信するようにしてもよい。
上記では、端末装置T1と端末装置T2において、双方がオブジェクトの生成を重複して行った場合(ほぼ同時刻に操作した場合)について説明した。しかし、新たなオブジェクトの生成だけでなく、既にあるオブジェクトのZオーダの変更などのZオーダを変える操作全般についても同様の処理がなされる。
たとえば、端末装置T1においてZオーダの変更がなされ、端末装置T2においてもZオーダの変更がなされた場合の処理を、図27に示す。なお、図27の例では、全てのオブジェクトのZオーダを操作データとして送信するようにしている。両端末装置T1、T2ともに、下から楕円(Z=0)、四角(Z=1)、菱形(Z=2)の順にオブジェクトが表示されているものとする(図27最上段参照)。ここで、端末装置T1において、菱形を最も下にする変更が行われ、下から菱形(Z=0)、楕円(Z=1)、四角(Z=2)の順になったとする(図27の(1)参照)。
端末装置T1は、このZオーダ変更の操作データX11をサーバ装置Sに送信する。なお、Zオーダの変更においては、変更がなされたオブジェクトのZオーダだけでなく、端末装置T1に記録されている全てのオブジェクトのZオーダを操作データX11として送信する。サーバ装置Sは、この操作データX11を記録する((2)参照)。
少し遅れて、端末装置T2において、楕円を最も上にする変更が行われ、下から四角(Z=0)、菱形(Z=1)、楕円(Z=2)の順になったとする(図27の(3)参照)。
端末装置T2は、このZオーダ変更の操作データX12をサーバ装置Sに送信する。サーバ装置Sは、この操作データX12を記録する((4)参照)。
サーバ装置Sは、先に記録した端末装置T1による操作データX11を、全ての端末装置T1、T2に配信する((5)参照)。これにより、端末装置T1においては、オブジェクトの表示順序がそのまま維持される((6)参照)。端末装置T2においては、操作データX11の指定どおり、下から菱形(Z=0)、楕円(Z=1)、四角(Z=2)の順に表示が変更される((6)参照)。
続いて、サーバ装置Sは、端末装置T2による操作データX12を、全ての端末装置T1、T2に配信する((7)参照)。これにより、端末装置T1においては、操作データX12の指定どおり、下から四角(Z=0)、菱形(Z=1)、楕円(Z=2)の順に表示が変更される((8)参照)。同様に、端末装置T2においても、操作データX12の指定どおり、下から四角(Z=0)、菱形(Z=1)、楕円(Z=2)の順に表示が変更される((8)参照)。
このように、この実施形態では、2つの(3つ以上であってもよい)抵触するZオーダ変更操作が異なる端末装置でなされた場合には、最後にサーバ装置Sに記録されたZオーダ変更操作が優先され(他の操作は無効となる)、このZオーダに統一がなされるようにしている。
また、同じオブジェクトに対するZオーダ変更操作が異なる端末装置でなされた場合であっても、一方の端末装置によるZオーダ変更操作データが他方の端末装置に反映された後の操作であれば、全ての操作が有効なものとされる。
なお、各端末装置においてサーバ装置Sからの配信を受信するタイミングは異なっている。このため、他の端末装置においては操作データを受信しているにもかかわらず、ある端末装置においては操作データを受信していない場合もある。この場合、当該操作データを受信していない端末装置において、当該オブジェクトに対する操作が行われると、抵触が生じることになる。この場合も、最後の操作が優先されることになる。
2.3その他
上記実施形態および変形例は、その本質に反しない限り、他の実施形態と組み合わせて実施可能である。
3.第3の実施形態
3.1システム構成と概要
図28に、第3の実施形態によるコンテンツ共同編集システムの全体構成を示す。サーバ装置Sには、複数の端末装置T1、T2・・・Tnが接続されている。
サーバ装置Sの端末識別符号送信手段222は、端末装置T1、T2・・・Tnから初めてのアクセスを受けると、各端末装置を識別するための端末識別符号を返信する。端末装置T1の端末識別符号受信手段206は、この端末識別符号を受信して記録部208に記録する。この実施形態では、端末識別符号として数値データを用いるようにしている。
オブジェクト生成受付手段202は、オブジェクトの生成操作を受け付ける。オブジェクト記録手段204は、生成されたオブジェクトに対して端末オブジェクト識別符号を生成し、前記端末識別符号と組み合わせることでオブジェクト識別符号を生成する。この実施形態では、端末オブジェクト識別符号として数値データを用いるようにしている。したがって、オブジェクト識別符号は、2つの数値データによって構成されることになる。さらに、このオブジェクト識別符号を付して、生成されたオブジェクトを記録部208に記録する。たとえば、端末識別符号が「3」であり、端末オブジェクト識別符号が「1」であれば、オブジェクト識別符号は、「3,1」というように生成される。数値データをコンマで区切って結合しているので、オブジェクト識別符号の連続番号を付していく過程で、桁数が増えた場合であっても対応することができる。たとえば、「3,1236」というようなオブジェクト識別符号を生成することができる。
操作情報送信手段210は、オブジェクトに対する操作情報を、オブジェクト識別符号とともにサーバ装置Sに送信する。サーバ装置Sの操作情報記録手段224は、受信したオブジェクト識別符号を含む操作情報を記録部226に記録する。さらに、サーバ装置Sは、操作情報を各端末装置T2・・・Tnに配信する。
操作情報の配信を受けた各端末装置T2・・・Tnの操作手段212は、対応するオブジェクト識別符号が付されたオブジェクトに対する操作を行う。
なお、上記では、サーバ装置Sは、操作情報を送信してきた端末装置に対しては操作情報の配信をしていないが、操作情報を送信してきた端末装置に対しても操作情報を配信するようにしてもよい。
このようにして、各端末装置にて生成されるオブジェクト識別符号が重複しないようにすることができる。
システムの構成、端末装置Tのハードウエア構成、サーバ装置Sのハードウエア構成は、第1の実施形態と同様(図3〜図5参照)である。
3.2共同編集処理
図29、図30に、このシステムによる共同編集処理のフローチャートを示す。図29、図30において、端末装置T1、端末装置T2は端末プログラム42を表している。サーバ装置Sは、サーバプログラム64を表している。なお、図29、図30においては、2つの端末装置T1、T2のみを示しているが、他の端末装置T3、T4も同様の処理を行う。
端末装置T1がサーバ装置Sにアクセスしログインを行う点は、第1の実施形態と同様である(ステップS401、S501)。サーバ装置Sは、正当なユーザからのログインであると判断すると、端末装置T1に対する端末IDを生成して送信する(ステップS502)。
この実施形態では、サーバ装置Sは、各端末装置に対してアクセスしてきた順に3桁の連番を生成して付与するようにしている。ここでは、端末装置T1に対して、端末IDとして「1」が付与されたものとする。端末IDを受信した端末装置T1は、これを不揮発性メモリ36に記録する(ステップS402)。
続いて、端末装置T2がサーバ装置Sにアクセスしてログインを行ったとする(ステップS411、S503)。サーバ装置Sは、端末装置T2に対する端末IDを生成して送信する(ステップS504)。ここでは、端末装置T2に対して、端末IDとして「2」が付与されたものとする。端末装置T2はこれを記録する。
なお、フローチャートには表していないが、端末装置T3、T4に対しても、同様にして端末IDとして「3」「4」が付与される。
ここで、端末装置T1において、オブジェクトの生成がなされたとする。端末装置T1はこれを受け付ける(ステップS403)。端末装置T1は受け付けた操作に基づいて、オブジェクト生成の操作データを生成して記録する(ステップS404)。たとえば、菱形オブジェクトが生成された場合であれば、図31に示すような操作データが生成されて記録される。
なお、端末装置T1は、操作データ中のオブジェクトIDを次のようにして生成する。まず、端末装置T1において生成したオブジェクトについて連続番号を端末オブジェクトIDとして生成する。ここでは、最初に生成したオブジェクトであるから、「1」が生成される。次に、端末装置T1は、端末IDと端末オブジェクトIDを組み合わせて、オブジェクトIDとする。この実施形態では、「,」を挟んで、端末IDに続けて端末オブジェクトIDをつないで、オブジェクトIDとしている。したがって、オブジェクトIDとして「1,1」が得られる。
この実施形態では、各端末装置ごとにユニークな端末オブジェクトIDを生成し、これと端末装置ごとにユニークな端末IDを組み合わせて、オブジェクトIDを得ている。したがって、オブジェクト生成のたびにサーバ装置Sに問い合わせを行わなくとも、端末装置の側でユニークなオブジェクトIDを生成することができる。
次に、端末装置T1は、このオブジェクトIDを含む操作データを、サーバ装置Sに送信する(ステップS405)。サーバ装置Sは、受信した操作データを記録部に記録する(ステップS505)。
さらに、サーバ装置Sは、この操作データを他の端末装置T2・・T4に配信する(ステップS507)。この操作データを受けた各端末装置T2・・T4は、操作データにしたがってオブジェクトを生成して表示する(ステップS416、S417)。また、そのオブジェクトIDによりオブジェクトを管理する。
以後、いずれかの端末装置T1・・・Tnが、このオブジェクトに対する何らかの操作を行った場合には、オブジェクトIDが付された操作データが生成され、サーバ装置Sを介して他の端末装置に配信される。
このように、オブジェクトIDを数値の組合せによって構成しているので、オブジェクトIDの検索や、オブジェクトIDの比較などの処理を迅速に行うことができる。
3.3その他
(1)上記実施形態では、このオブジェクトデータ生成の方式を、差分更新方式に適用した場合について説明したが、全体更新方式についても適用することができる。
(2)上記実施形態では、数値にて表される端末オブジェクト識別符号と、数値にて表される端末識別符号との組合せにより、オブジェクト識別符号を構成している。しかし、文字列にて表される端末オブジェクト識別符号と、文字列にて表される端末識別符号との組合せにより、オブジェクト識別符号を構成してもよい。この場合、オブジェクト識別符号を短く構成するため、端末識別符号を、端末装置に付与されている固有のハードウエア識別符号よりも短くすることが好ましい。
(3)上記実施形態および変形例は、その本質に反しない限り、他の実施形態と組み合わせて実施可能である。

Claims (17)

  1. サーバ装置と、当該サーバ装置と通信可能な二以上の端末装置とを備えたコンテンツ共同編集システムであって、
    前記サーバ装置は、
    各端末装置から受信した操作情報を、受信した順が明らかになるように記録部に記録する操作情報記録手段と、
    記録部に記録された操作情報を、受信した順に各端末装置に配信する操作情報配信手段とを備え、
    前記端末装置は、
    オブジェクトに対する操作を受け付ける直接操作受付手段と、
    直接操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、当該オブジェクトを操作し、操作結果を表示部に表示する直接操作表示手段と、
    直接操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、操作結果を含む操作情報を生成し、前記サーバ装置に送信する直接操作送信手段と、
    サーバ装置から受信した操作情報を受信する間接操作受信手段と、
    間接操作受信手段によって受信した操作情報に基づいて、その受信順に、操作結果が生じるようにオブジェクトを操作し、操作結果を表示部に表示する間接操作表示手段とを備え、
    前記間接操作受信手段によって受信し、間接操作表示手段によって処理される操作情報には、他の端末装置の操作情報だけでなく、前記直接操作受付手段によって受け付けた自端末装置の操作情報も含んでおり、
    前記間接操作表示手段は、自端末装置の操作情報についても、無視せずに、操作結果が生じるようにオブジェクトを操作することを特徴とするコンテンツ共同編集システム。
  2. 二以上の端末装置と通信可能であり、当該端末装置とともにコンテンツ共同編集システムを構成するサーバ装置であって、
    各端末装置から受信したオブジェクトに対する操作結果を含む操作情報を、受信した順が明らかになるように記録部に記録する操作情報記録手段と、
    記録部に記録された操作情報を、受信した順に各端末装置に配信する操作情報配信手段とを備え、
    前記他の端末装置だけでなく当該端末装置においても、無視せずに、操作結果が生じるようにオブジェクトを操作するために、前記操作情報配信手段は、端末装置から送られてきた操作情報を、他の端末装置だけでなく当該端末装置に対しても配信することを特徴とするサーバ装置。
  3. 二以上の端末装置と通信可能であり、当該端末装置とともにコンテンツ共同編集システムを構成するサーバ装置を、コンピュータによって実現するためのサーバプログラムであって、コンピュータを、
    各端末装置から受信したオブジェクトに対する操作結果を含む操作情報を、受信した順が明らかになるように記録部に記録する操作情報記録手段と、
    記録部に記録された操作情報を、受信した順に各端末装置に配信する操作情報配信手段として機能させるためのサーバプログラムであって、
    前記他の端末装置だけでなく当該端末装置においても、無視せずに、操作結果が生じるようにオブジェクトを操作するために、前記操作情報配信手段は、端末装置から送られてきた操作情報を、他の端末装置だけでなく当該端末装置に対しても配信することを特徴とするサーバプログラム。
  4. サーバ装置と通信可能であり、当該サーバ装置および他の端末装置とともにコンテンツ共同編集システムを構成する端末装置であって、
    オブジェクトに対する操作を受け付ける直接操作受付手段と、
    直接操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、当該オブジェクトを操作し、操作結果を表示部に表示する直接操作表示手段と、
    操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、操作結果を含む操作情報を生成し、前記サーバ装置に送信する直接操作送信手段と、
    サーバ装置から受信した操作情報を受信する間接操作受信手段と、
    間接操作受信手段によって受信した操作情報に基づいて、その受信順に、操作結果が生じるようにオブジェクトを操作し、操作結果を表示部に表示する間接操作表示手段とを備え、
    前記間接操作受信手段によって受信し、間接操作表示手段によって処理される操作情報には、他の端末装置の操作情報だけでなく、前記直接操作受付手段によって受け付けた自端末装置の操作情報も含んでおり、
    前記間接操作表示手段は、自端末装置の操作情報についても、無視せずに、操作結果が生じるようにオブジェクトを操作することを特徴とする端末装置。
  5. サーバ装置と通信可能であり、当該サーバ装置および他の端末装置とともにコンテンツ共同編集システムを構成する端末装置を、コンピュータによって実現するための端末プログラムであって、コンピュータを、
    オブジェクトに対する操作を受け付ける直接操作受付手段と、
    直接操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、当該オブジェクトを操作し、操作結果を表示部に表示する直接操作表示手段と、
    操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、操作結果を含む操作情報を生成し、前記サーバ装置に送信する直接操作送信手段と、
    サーバ装置から受信した操作情報を受信する間接操作受信手段と、
    間接操作受信手段によって受信した操作情報に基づいて、その受信順に、操作結果が生じるようにオブジェクトを操作し、操作結果を表示部に表示する間接操作表示手段として機能させるための端末プログラムであって、
    前記間接操作受信手段によって受信し、間接操作表示手段によって処理される操作情報には、他の端末装置の操作情報だけでなく、前記直接操作受付手段によって受け付けた自端末装置の操作情報も含んでおり、
    前記間接操作表示手段は、自端末装置の操作情報についても、無視せずに、操作結果が生じるようにオブジェクトを操作することを特徴とする端末プログラム。
  6. サーバ装置と、当該サーバ装置と通信可能な二以上の端末装置とを備えたコンテンツ共同編集システムであって、
    前記サーバ装置は、
    各端末装置が直接変更受付手段によって受け付けたオブジェクトのZオーダの変更に基づいて生成されたZオーダ情報を、各端末装置から受信し、受信した順が明らかになるように記録部に記録するZオーダ情報記録手段と、
    記録部に記録された各オブジェクトのZオーダ情報を、受信した順に各端末装置に配信するZオーダ情報配信手段とを備え、
    前記端末装置は、
    各オブジェクトのZオーダの変更を受け付ける直接変更受付手段と、
    直接変更受付手段によって受け付けたオブジェクトのZオーダの変更に基づいて、当該変更結果を表示部に表示する直接変更表示手段と、
    直接変更受付手段によって受け付けたオブジェクトのZオーダの変更に基づいて、Zオーダ情報を生成し、前記サーバ装置に送信する直接変更送信手段と、
    サーバ装置から受信したZオーダ情報を受信する間接変更受信手段と、
    間接変更受信手段によって受信したZオーダ情報に基づいて、その受信順に、Zオーダの変更結果が生じるようにオブジェクトを操作し、Zオーダ変更結果を表示部に表示する間接変更表示手段とを備え、
    前記間接変更受信手段によって受信し、間接変更表示手段によって処理されるZオーダ情報には、他の端末装置のZオーダ情報だけでなく、前記直接変更受付手段によって受け付けた自端末装置のZオーダ情報も含んでおり、
    前記間接変更表示手段は、自端末装置のZオーダ情報についても、無視せずに、Zオーダの変更結果が生じるようにオブジェクトを操作することを特徴とするコンテンツ共同編集システム。
  7. 二以上の端末装置と通信可能であり、当該端末装置とともにコンテンツ共同編集システムを構成するサーバ装置であって、
    各端末装置が直接変更受付手段によって受け付けたオブジェクトのZオーダの変更に基づいて生成されたZオーダ情報を、各端末装置から受信し、受信した順が明らかになるように記録部に記録するZオーダ情報記録手段と、
    記録部に記録された各オブジェクトのZオーダ情報を、受信した順に各端末装置に配信するZオーダ情報配信手段とを備え、
    前記他の端末装置だけでなく当該端末装置においても、無視せずに、Zオーダの変更結果が生じるようにオブジェクトを操作するために、前記Zオーダ情報配信手段は、端末装置から送られてきたZオーダ情報を、他の端末装置だけでなく当該端末装置に対しても配信することを特徴とするサーバ装置。
  8. 二以上の端末装置と通信可能であり、当該端末装置とともにコンテンツ共同編集システムを構成するサーバ装置を、コンピュータによって実現するためのサーバプログラムであって、コンピュータを、
    各端末装置が直接変更受付手段によって受け付けたオブジェクトのZオーダの変更に基づいて生成されたZオーダ情報を、各端末装置から受信し、受信した順が明らかになるように記録部に記録するZオーダ情報記録手段と、
    記録部に記録された各オブジェクトのZオーダ情報を、受信した順に各端末装置に配信するZオーダ情報配信手段として機能させるためのサーバプログラムであって、
    前記他の端末装置だけでなく当該端末装置においても、無視せずに、Zオーダの変更結果が生じるようにオブジェクトを操作するために、前記Zオーダ情報配信手段は、端末装置から送られてきたZオーダ情報を、他の端末装置だけでなく当該端末装置に対しても配信することを特徴とするサーバプログラム。
  9. サーバ装置と通信可能であり、当該サーバ装置および他の端末装置とともにコンテンツ共同編集システムを構成する端末装置であって、
    各オブジェクトのZオーダの変更を受け付ける直接変更受付手段と、
    直接変更受付手段によって受け付けたオブジェクトのZオーダの変更に基づいて、当該変更結果を表示部に表示する直接変更表示手段と、
    直接変更受付手段によって受け付けたオブジェクトのZオーダの変更に基づいて、Zオーダ情報を生成し、前記サーバ装置に送信する直接変更送信手段と、
    サーバ装置から受信したZオーダ情報を受信する間接変更受信手段と、
    間接変更受信手段によって受信したZオーダ情報に基づいて、その受信順に、Zオーダの変更結果が生じるようにオブジェクトを操作し、Zオーダ変更結果を表示部に表示する間接変更表示手段とを備え、
    前記間接変更受信手段によって受信し、間接変更表示手段によって処理されるZオーダ情報には、他の端末装置のZオーダ情報だけでなく、前記直接変更受付手段によって受け付けた自端末装置のZオーダ情報も含んでおり、
    前記間接変更表示手段は、自端末装置のZオーダ情報についても、無視せずに、Zオーダの変更結果が生じるようにオブジェクトを操作することを特徴とする端末装置。
  10. サーバ装置と通信可能であり、当該サーバ装置および他の端末装置とともにコンテンツ共同編集システムを構成する端末装置を、コンピュータによって実現するための端末プログラムであって、コンピュータを、
    各オブジェクトのZオーダの変更を受け付ける直接変更受付手段と、
    直接変更受付手段によって受け付けたオブジェクトのZオーダの変更に基づいて、当該変更結果を表示部に表示する直接変更表示手段と、
    直接変更受付手段によって受け付けたオブジェクトのZオーダの変更に基づいて、Zオーダ情報を生成し、前記サーバ装置に送信する直接変更送信手段と、
    サーバ装置から受信したZオーダ情報を受信する間接変更受信手段と、
    間接変更受信手段によって受信したZオーダ情報に基づいて、その受信順に、Zオーダの変更結果が生じるようにオブジェクトを操作し、Zオーダ変更結果を表示部に表示する間接変更表示手段として機能させるための端末プログラムであって、
    前記間接変更受信手段によって受信し、間接変更表示手段によって処理されるZオーダ情報には、他の端末装置のZオーダ情報だけでなく、前記直接変更受付手段によって受け付けた自端末装置のZオーダ情報も含んでおり、
    前記間接変更表示手段は、自端末装置のZオーダ情報についても、無視せずに、Zオーダの変更結果が生じるようにオブジェクトを操作することを特徴とする端末プログラム。
  11. 請求項6〜10のいずれかのシステム、装置またはプログラムにおいて、
    前記直接変更受付手段の受け付けるZオーダの変更は、オブジェクト生成に伴うZオーダの新設またはオブジェクトの前後の位置関係の変更に伴うZオーダの変更を含むことを特徴とするシステム、装置またはプログラム。
  12. サーバ装置と、当該サーバ装置と通信可能な二以上の端末装置とを備えたコンテンツ共同編集システムであって、
    前記サーバ装置は、
    各端末装置からのアクセスを受けて、各端末装置を識別できる端末識別符号を生成して、各端末装置に送信する端末識別符号送信手段と、
    各端末装置から受信したオブジェクト識別符号を含む操作情報を記録部に記録する操作情報記録手段と、
    記録部に記録された操作情報を、各端末装置に配信する操作情報配信手段とを備え、
    前記端末装置は、
    前記サーバ装置にアクセスし、端末識別符号を受信して記録部に記録する端末識別符号受信手段と、
    オブジェクトの生成を受け付けるオブジェクト生成受付手段と、
    オブジェクト生成受付手段によって受け付けたオブジェクトに対し、当該端末装置における各オブジェクトをユニークに識別できる端末オブジェクト識別符号を生成し、前記端末識別符号と組み合わせることによってオブジェクト識別符号を生成し、当該オブジェクトと対応付けて記録部に記録するオブジェクト記録手段と、
    前記オブジェクトに対する操作情報を、対応するオブジェクト識別符号とともに、前記サーバ装置に送信する操作情報送信手段と、
    前記サーバ装置から、オブジェクト識別符号を伴う操作情報を受信し、当該オブジェクト識別符号のオブジェクトに対する操作を実行する操作手段と、
    を備えたコンテンツ共同編集システム。
  13. 二以上の端末装置と通信可能であり、当該端末装置とともにコンテンツ共同編集システムを構成するサーバ装置であって、
    各端末装置からのアクセスを受けて、各端末装置を識別できる端末識別符号を生成して、各端末装置に送信する端末識別符号送信手段と、
    各オブジェクトを端末装置においてユニークに識別できる端末オブジェクト識別符号と前記端末識別符号とを組み合わせて生成されたオブジェクト識別符号を含む操作情報を各端末装置から受信して記録部に記録する操作情報記録手段と、
    記録部に記録された操作情報を、各端末装置に配信する操作情報配信手段と、
    を備えたサーバ装置。
  14. 二以上の端末装置と通信可能であり、当該端末装置とともにコンテンツ共同編集システムを構成するサーバ装置を、コンピュータによって実現するためのサーバプログラムであって、コンピュータを、
    各端末装置からのアクセスを受けて、各端末装置を識別できる端末識別符号を生成して、各端末装置に送信する端末識別符号送信手段と、
    各オブジェクトを端末装置においてユニークに識別できる端末オブジェクト識別符号と前記端末識別符号とを組み合わせて生成されたオブジェクト識別符号を含む操作情報を各端末装置から受信して記録部に記録する操作情報記録手段と、
    記録部に記録された操作情報を、各端末装置に配信する操作情報配信手段として機能させるためのサーバプログラム。
  15. サーバ装置と通信可能であり、当該サーバ装置および他の端末装置とともにコンテンツ共同編集システムを構成する端末装置であって、
    前記サーバ装置にアクセスし、端末識別符号を受信して記録部に記録する端末識別符号受信手段と、
    オブジェクトの生成を受け付けるオブジェクト生成受付手段と、
    オブジェクト生成受付手段によって受け付けたオブジェクトに対し、当該端末装置における各オブジェクトをユニークに識別できる端末オブジェクト識別符号を生成し、前記端末識別符号と組み合わせることによってオブジェクト識別符号を生成し、当該オブジェクトと対応付けて記録部に記録するオブジェクト記録手段と、
    前記オブジェクトに対する操作情報を、対応するオブジェクト識別符号とともに、前記サーバ装置に送信する操作情報送信手段と、
    前記サーバ装置から、オブジェクト識別符号を伴う操作情報を受信し、当該オブジェクト識別符号のオブジェクトに対する操作を実行する操作手段と、
    を備えた端末装置。
  16. サーバ装置と通信可能であり、当該サーバ装置および他の端末装置とともにコンテンツ共同編集システムを構成する端末装置を、コンピュータによって実現するための端末プログラムであって、コンピュータを、
    前記サーバ装置にアクセスし、端末識別符号を受信して記録部に記録する端末識別符号受信手段と、
    オブジェクトの生成を受け付けるオブジェクト生成受付手段と、
    オブジェクト生成受付手段によって受け付けたオブジェクトに対し、当該端末装置における各オブジェクトをユニークに識別できる端末オブジェクト識別符号を生成し、前記端末識別符号と組み合わせることによってオブジェクト識別符号を生成し、当該オブジェクトと対応付けて記録部に記録するオブジェクト記録手段と、
    前記オブジェクトに対する操作情報を、対応するオブジェクト識別符号とともに、前記サーバ装置に送信する操作情報送信手段と、
    前記サーバ装置から、オブジェクト識別符号を伴う操作情報を受信し、当該オブジェクト識別符号のオブジェクトに対する操作を実行する操作手段として機能させるための端末プログラム。
  17. 請求項12〜16のいずれかの装置またはプログラムにおいて、
    前記オブジェクト識別符号は、数値にて表される端末オブジェクト識別符号と、数値にて表される端末識別符号との組合せにより構成されることを特徴とする装置またはプログラム。


JP2016133485A 2016-07-05 2016-07-05 コンテンツ共有システム Active JP6846128B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016133485A JP6846128B2 (ja) 2016-07-05 2016-07-05 コンテンツ共有システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016133485A JP6846128B2 (ja) 2016-07-05 2016-07-05 コンテンツ共有システム

Publications (2)

Publication Number Publication Date
JP2018007109A JP2018007109A (ja) 2018-01-11
JP6846128B2 true JP6846128B2 (ja) 2021-03-24

Family

ID=60948217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016133485A Active JP6846128B2 (ja) 2016-07-05 2016-07-05 コンテンツ共有システム

Country Status (1)

Country Link
JP (1) JP6846128B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3602326B2 (ja) * 1997-03-24 2004-12-15 日本電信電話株式会社 デジタル・コンテンツ編集方法、装置、およびデジタル・コンテンツ編集プログラムを記録した記録媒体
JP6364893B2 (ja) * 2014-04-01 2018-08-01 日本電気株式会社 端末装置、電子ホワイトボードシステム、電子ホワイトボードの入力支援方法、及びプログラム

Also Published As

Publication number Publication date
JP2018007109A (ja) 2018-01-11

Similar Documents

Publication Publication Date Title
US10819768B2 (en) User interaction with desktop environment
WO2021072912A1 (zh) 文件共享方法、装置、系统、交互智能设备、源端设备及存储介质
JP5980320B2 (ja) マルチテナント共同レビューサービス
US10545658B2 (en) Object processing and selection gestures for forming relationships among objects in a collaboration system
EP3314826A1 (en) Object group processing and selection gestures for grouping objects in a collaboration system
US10956667B2 (en) Operational transformations proxy for thin clients
JP2006195968A (ja) ツリービューベースエディタでのインラインプロパティ編集のシステムおよび方法
JP6086955B2 (ja) サーバ装置、アノテーション方法及びコンピュータプログラム
CN108369577A (zh) 在电子文档之间共享内容
WO2011098749A2 (en) A method and system for providing a collaborative working environment
KR20110086442A (ko) 범세계적으로 고유한 분산객체식별아이디를 이용한 다수의 분산된 가상세계 간 상호 연동 시스템 및 그 방법
JP6846128B2 (ja) コンテンツ共有システム
US20230011287A1 (en) Predictive placement of structured versions of digital assets in unstructured 2-dimensional or 3-dimensional space
JP2010231475A (ja) 情報処理装置、電子ファイル管理装置、電子ファイル管理システムおよび電子ファイル管理プログラム
JP2008204186A (ja) 標章表示装置及びプログラム
JP7051057B2 (ja) コンテンツ共有システム
JP2010061603A (ja) スケジュール表示システム
US10455056B2 (en) Cloud-based storage and interchange mechanism for design elements
WO2009154045A1 (ja) 情報処理方法および情報処理装置
JPH11282682A (ja) 移動エージェント、移動エージェントが保有するオブジェクト、ネットワーク上のプレースに存在する移動エージェントを基に子エージェントを生成する方法、移動エージェントが同一プレースに存在する他の移動エージェントの種類を識別する方法
US20110125857A1 (en) Method, computer program, and device for processing e-mail addressed to multiple destination addresses
JP5300902B2 (ja) 画面制御プログラム及び情報処理装置
JP2017037586A (ja) アクセス制御装置及びプログラム
KR102608502B1 (ko) 증강 현실 기반의 목업 이미지 제공 방법 및 이에 사용되는 서비스 제공 서버
JP2010224771A (ja) 情報処理システム、情報処理方法および情報処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160711

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190612

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200323

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201013

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

Effective date: 20210215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210301

R150 Certificate of patent or registration of utility model

Ref document number: 6846128

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250