(57)【要約】    【課題】  簡易な処理で各端末装置間のオブジェクトの編集状況を統一して共有することのできるシステムを提供する。    【解決手段】  端末装置Ｔ1においてオブジェクトを右上に移動し、端末装置Ｔ2においてオブジェクトを左下に移動したとする（(1)(3)参照）。端末装置Ｔ1、Ｔ2は、この操作データをサーバ装置Ｓに送信し、サーバ装置Ｓはこれを記録する。サーバ装置Ｓは、この操作データを記録順に、全ての端末装置（操作データを送ってきた端末装置も含む）に配信する。（(5)(7)参照）。したがって、結果として、各端末装置におけるオブジェクトの表示が統一される（(8)参照）。【選択図】  図２
2018007109.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置と、当該サーバ装置と通信可能な二以上の端末装置とを備えたコンテンツ共同編集システムであって、
前記サーバ装置は、
各端末装置から受信した操作情報を、受信した順が明らかになるように記録部に記録する操作情報記録手段と、
記録部に記録された操作情報を、受信した順に各端末装置に配信する操作情報配信手段とを備え、
前記端末装置は、
オブジェクトに対する操作を受け付ける直接操作受付手段と、
直接操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、当該オブジェクトを操作し、操作結果を表示部に表示する直接操作表示手段と、
直接操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、操作結果を含む操作情報を生成し、前記サーバ装置に送信する直接操作送信手段と、
サーバ装置から受信した操作情報を受信する間接操作受信手段と、
間接操作受信手段によって受信した操作情報に基づいて、その受信順に、操作結果が生じるようにオブジェクトを操作し、操作結果を表示部に表示する間接操作表示手段とを備え、
前記間接操作受信手段によって受信し、間接操作表示手段によって処理される操作情報には、他の端末装置の操作情報だけでなく、前記直接操作受付手段によって受け付けた自端末装置の操作情報も含むことを特徴とするコンテンツ共同編集システム。
【請求項２】
二以上の端末装置と通信可能であり、当該端末装置とともにコンテンツ共同編集システムを構成するサーバ装置であって、
各端末装置から受信したオブジェクトに対する操作結果を含む操作情報を、受信した順が明らかになるように記録部に記録する操作情報記録手段と、
記録部に記録された操作情報を、受信した順に各端末装置に配信する操作情報配信手段とを備え、
前記操作情報配信手段は、端末装置から送られてきた操作情報を、他の端末装置だけでなく当該端末装置に対しても配信することを特徴とするサーバ装置。
【請求項３】
二以上の端末装置と通信可能であり、当該端末装置とともにコンテンツ共同編集システムを構成するサーバ装置を、コンピュータによって実現するためのサーバプログラムであって、コンピュータを、
各端末装置から受信したオブジェクトに対する操作結果を含む操作情報を、受信した順が明らかになるように記録部に記録する操作情報記録手段と、
記録部に記録された操作情報を、受信した順に各端末装置に配信する操作情報配信手段として機能させるためのサーバプログラムであって、
前記操作情報配信手段は、端末装置から送られてきた操作情報を、他の端末装置だけでなく当該端末装置に対しても配信することを特徴とするサーバプログラム。
【請求項４】
サーバ装置と通信可能であり、当該サーバ装置および他の端末装置とともにコンテンツ共同編集システムを構成する端末装置であって、
オブジェクトに対する操作を受け付ける直接操作受付手段と、
直接操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、当該オブジェクトを操作し、操作結果を表示部に表示する直接操作表示手段と、
操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、操作結果を含む操作情報を生成し、前記サーバ装置に送信する直接操作送信手段と、
サーバ装置から受信した操作情報を受信する間接操作受信手段と、
間接操作受信手段によって受信した操作情報に基づいて、その受信順に、操作結果が生じるようにオブジェクトを操作し、操作結果を表示部に表示する間接操作表示手段とを備え、
前記間接操作受信手段によって受信し、間接操作表示手段によって処理される操作情報には、他の端末装置の操作情報だけでなく、前記直接操作受付手段によって受け付けた自端末装置の操作情報も含むことを特徴とする端末装置。
【請求項５】
サーバ装置と通信可能であり、当該サーバ装置および他の端末装置とともにコンテンツ共同編集システムを構成する端末装置を、コンピュータによって実現するための端末プログラムであって、コンピュータを、
オブジェクトに対する操作を受け付ける直接操作受付手段と、
直接操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、当該オブジェクトを操作し、操作結果を表示部に表示する直接操作表示手段と、
操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、操作結果を含む操作情報を生成し、前記サーバ装置に送信する直接操作送信手段と、
サーバ装置から受信した操作情報を受信する間接操作受信手段と、
間接操作受信手段によって受信した操作情報に基づいて、その受信順に、操作結果が生じるようにオブジェクトを操作し、操作結果を表示部に表示する間接操作表示手段として機能させるための端末プログラムであって、
前記間接操作受信手段によって受信し、間接操作表示手段によって処理される操作情報には、他の端末装置の操作情報だけでなく、前記直接操作受付手段によって受け付けた自端末装置の操作情報も含むことを特徴とする端末プログラム。
【請求項６】
サーバ装置と、当該サーバ装置と通信可能な二以上の端末装置とを備えたコンテンツ共同編集システムであって、
前記サーバ装置は、
各端末装置から受信した各オブジェクトのＺオーダ情報を、受信した順が明らかになるように記録部に記録するＺオーダ情報記録手段と、
記録部に記録された各オブジェクトのＺオーダ情報を、受信した順に各端末装置に配信するＺオーダ情報配信手段とを備え、
前記端末装置は、
各オブジェクトのＺオーダの変更を受け付ける直接変更受付手段と、
直接変更受付手段によって受け付けたオブジェクトのＺオーダの変更に基づいて、当該変更結果を表示部に表示する直接変更表示手段と、
直接変更受付手段によって受け付けたオブジェクトのＺオーダの変更に基づいて、Ｚオーダ情報を生成し、前記サーバ装置に送信する直接変更送信手段と、
サーバ装置から受信したＺオーダ情報を受信する間接変更受信手段と、
間接変更受信手段によって受信したＺオーダ情報に基づいて、その受信順に、Ｚオーダの変更結果が生じるようにオブジェクトを操作し、Ｚオーダ変更結果を表示部に表示する間接変更表示手段とを備え、
前記間接変更受信手段によって受信し、間接変更表示手段によって処理されるＺオーダ情報には、他の端末装置のＺオーダ情報だけでなく、前記直接変更受付手段によって受け付けた自端末装置のＺオーダ情報も含むことを特徴とするコンテンツ共同編集システム。
【請求項７】
二以上の端末装置と通信可能であり、当該端末装置とともにコンテンツ共同編集システムを構成するサーバ装置であって、
各端末装置から受信した各オブジェクトのＺオーダ情報を、受信した順が明らかになるように記録部に記録するＺオーダ情報記録手段と、
記録部に記録された各オブジェクトのＺオーダ情報を、受信した順に各端末装置に配信するＺオーダ情報配信手段とを備え、
前記Ｚオーダ情報配信手段は、端末装置から送られてきたＺオーダ情報を、他の端末装置だけでなく当該端末装置に対しても配信することを特徴とするサーバ装置。
【請求項８】
二以上の端末装置と通信可能であり、当該端末装置とともにコンテンツ共同編集システムを構成するサーバ装置を、コンピュータによって実現するためのサーバプログラムであって、コンピュータを、
各端末装置から受信した各オブジェクトのＺオーダ情報を、受信した順が明らかになるように記録部に記録するＺオーダ情報記録手段と、
記録部に記録された各オブジェクトのＺオーダ情報を、受信した順に各端末装置に配信するＺオーダ情報配信手段として機能させるためのサーバプログラムであって、
前記Ｚオーダ情報配信手段は、端末装置から送られてきたＺオーダ情報を、他の端末装置だけでなく当該端末装置に対しても配信することを特徴とするサーバプログラム。
【請求項９】
サーバ装置と通信可能であり、当該サーバ装置および他の端末装置とともにコンテンツ共同編集システムを構成する端末装置であって、
各オブジェクトのＺオーダの変更を受け付ける直接変更受付手段と、
直接変更受付手段によって受け付けたオブジェクトのＺオーダの変更に基づいて、当該変更結果を表示部に表示する直接変更表示手段と、
直接変更受付手段によって受け付けたオブジェクトのＺオーダの変更に基づいて、Ｚオーダ情報を生成し、前記サーバ装置に送信する直接変更送信手段と、
サーバ装置から受信したＺオーダ情報を受信する間接変更受信手段と、
間接変更受信手段によって受信したＺオーダ情報に基づいて、その受信順に、Ｚオーダの変更結果が生じるようにオブジェクトを操作し、Ｚオーダ変更結果を表示部に表示する間接変更表示手段とを備え、
前記間接変更受信手段によって受信し、間接変更表示手段によって処理されるＺオーダ情報には、他の端末装置のＺオーダ情報だけでなく、前記直接変更受付手段によって受け付けた自端末装置のＺオーダ情報も含むことを特徴とする端末装置。
【請求項１０】
サーバ装置と通信可能であり、当該サーバ装置および他の端末装置とともにコンテンツ共同編集システムを構成する端末装置を、コンピュータによって実現するための端末プログラムであって、コンピュータを、
各オブジェクトのＺオーダの変更を受け付ける直接変更受付手段と、
直接変更受付手段によって受け付けたオブジェクトのＺオーダの変更に基づいて、当該変更結果を表示部に表示する直接変更表示手段と、
直接変更受付手段によって受け付けたオブジェクトのＺオーダの変更に基づいて、Ｚオーダ情報を生成し、前記サーバ装置に送信する直接変更送信手段と、
サーバ装置から受信したＺオーダ情報を受信する間接変更受信手段と、
間接変更受信手段によって受信したＺオーダ情報に基づいて、その受信順に、Ｚオーダの変更結果が生じるようにオブジェクトを操作し、Ｚオーダ変更結果を表示部に表示する間接変更表示手段として機能させるための端末プログラムであって、
前記間接変更受信手段によって受信し、間接変更表示手段によって処理されるＺオーダ情報には、他の端末装置のＺオーダ情報だけでなく、前記直接変更受付手段によって受け付けた自端末装置のＺオーダ情報も含むことを特徴とする端末プログラム。
【請求項１１】
請求項６〜１０のいずれかのシステム、装置またはプログラムにおいて、
前記直接変更受付手段の受け付けるＺオーダの変更は、オブジェクト生成に伴うＺオーダの新設またはオブジェクトの前後の位置関係の変更に伴うＺオーダの変更を含むことを特徴とするシステム、装置またはプログラム。
【請求項１２】
サーバ装置と、当該サーバ装置と通信可能な二以上の端末装置とを備えたコンテンツ共同編集システムであって、
前記サーバ装置は、
各端末装置からのアクセスを受けて、各端末装置を識別できる端末識別符号を生成して、各端末装置に送信する端末識別符号送信手段と、
各端末装置から受信したオブジェクト識別符号を含む操作情報を記録部に記録する操作情報記録手段と、
記録部に記録された操作情報を、各端末装置に配信する操作情報配信手段とを備え、
前記端末装置は、
前記サーバ装置にアクセスし、端末識別符号を受信して記録部に記録する端末識別符号受信手段と、
オブジェクトの生成を受け付けるオブジェクト生成受付手段と、
オブジェクト生成受付手段によって受け付けたオブジェクトに対し、当該端末装置における各オブジェクトを識別できる端末オブジェクト識別符号を生成し、前記端末識別符号と組み合わせることによってオブジェクト識別符号を生成し、当該オブジェクトと対応付けて記録部に記録するオブジェクト記録手段と、
前記オブジェクトに対する操作情報を、対応するオブジェクト識別符号とともに、前記サーバ装置に送信する操作情報送信手段と、
前記サーバ装置から、オブジェクト識別符号を伴う操作情報を受信し、当該オブジェクト識別符号のオブジェクトに対する操作を実行する操作手段と、
を備えたコンテンツ共同編集システム。
【請求項１３】
二以上の端末装置と通信可能であり、当該端末装置とともにコンテンツ共同編集システムを構成するサーバ装置であって、
各端末装置からのアクセスを受けて、各端末装置を識別できる端末識別符号を生成して、各端末装置に送信する端末識別符号送信手段と、
各端末装置から受信したオブジェクト識別符号を含む操作情報を記録部に記録する操作情報記録手段と、
記録部に記録された操作情報を、各端末装置に配信する操作情報配信手段と、
を備えたサーバ装置。
【請求項１４】
二以上の端末装置と通信可能であり、当該端末装置とともにコンテンツ共同編集システムを構成するサーバ装置を、コンピュータによって実現するためのサーバプログラムであって、コンピュータを、
各端末装置からのアクセスを受けて、各端末装置を識別できる端末識別符号を生成して、各端末装置に送信する端末識別符号送信手段と、
各端末装置から受信したオブジェクト識別符号を含む操作情報を記録部に記録する操作情報記録手段と、
記録部に記録された操作情報を、各端末装置に配信する操作情報配信手段として機能させるためのサーバプログラム。
【請求項１５】
サーバ装置と通信可能であり、当該サーバ装置および他の端末装置とともにコンテンツ共同編集システムを構成する端末装置であって、
前記サーバ装置にアクセスし、端末識別符号を受信して記録部に記録する端末識別符号受信手段と、
オブジェクトの生成を受け付けるオブジェクト生成受付手段と、
オブジェクト生成受付手段によって受け付けたオブジェクトに対し、当該端末装置における各オブジェクトを識別できる端末オブジェクト識別符号を生成し、前記端末識別符号と組み合わせることによってオブジェクト識別符号を生成し、当該オブジェクトと対応付けて記録部に記録するオブジェクト記録手段と、
前記オブジェクトに対する操作情報を、対応するオブジェクト識別符号とともに、前記サーバ装置に送信する操作情報送信手段と、
前記サーバ装置から、オブジェクト識別符号を伴う操作情報を受信し、当該オブジェクト識別符号のオブジェクトに対する操作を実行する操作手段と、
を備えた端末装置。
【請求項１６】
サーバ装置と通信可能であり、当該サーバ装置および他の端末装置とともにコンテンツ共同編集システムを構成する端末装置を、コンピュータによって実現するための端末プログラムであって、コンピュータを、
前記サーバ装置にアクセスし、端末識別符号を受信して記録部に記録する端末識別符号受信手段と、
オブジェクトの生成を受け付けるオブジェクト生成受付手段と、
オブジェクト生成受付手段によって受け付けたオブジェクトに対し、当該端末装置における各オブジェクトを識別できる端末オブジェクト識別符号を生成し、前記端末識別符号と組み合わせることによってオブジェクト識別符号を生成し、当該オブジェクトと対応付けて記録部に記録するオブジェクト記録手段と、
前記オブジェクトに対する操作情報を、対応するオブジェクト識別符号とともに、前記サーバ装置に送信する操作情報送信手段と、
前記サーバ装置から、オブジェクト識別符号を伴う操作情報を受信し、当該オブジェクト識別符号のオブジェクトに対する操作を実行する操作手段として機能させるための端末プログラム。
【請求項１７】
請求項１２〜１６のいずれかの装置またはプログラムにおいて、
前記オブジェクト識別符号は、数値にて表される端末オブジェクト識別符号と、数値にて表される端末識別符号との組合せにより構成されることを特徴とする装置またはプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のユーザにて図形などのコンテンツを共同編集するシステムに関するものである。
【背景技術】
【０００２】
サーバ装置に複数の端末装置を接続し、複数のユーザにて図形などを共同編集して閲覧するシステムが提案されている（たとえば特許文献１）。このように共同編集を行う方式としては、主として差分更新方式と全体更新方式が用いられている。
【０００３】
全体更新方式は、各端末装置において一部のオブジェクトのみを編集した場合であっても、他のオブジェクトを含めて全ての情報をサーバ装置に送信し、サーバ装置から他の端末装置にこれを送信する。端末装置では、受信した情報に基づいて、全てのオブジェクトの情報を更新する。
【０００４】
差分更新方式は、各端末装置において編集が加えられたオブジェクトの情報のみをサーバ装置に送信し、サーバ装置から他の端末装置にこれを送信する。端末装置では、受信した情報に基づいて、当該オブジェクトの情報のみを更新する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２７８６５６
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の全体更新方式では、各端末装置において、受信した情報によって全てのオブジェクトを書き換えるため、各端末装置間において同一状態を保つのが容易であるという利点がある。しかし、その反面、全てのオブジェクトのデータを送信するため送信データ量が多くなり、オブジェクトの変更に対する即時性が低いという問題があった。また、複数のユーザが同時に編集を行った場合、両立しうる編集であったとしても、いずれか一方の編集のみが選択され、他方の編集は無効となるという問題もあった。
【０００７】
差分更新方式では、送信データ量が少なく即時性を高くすることができ、複数のユーザが両立しうる編集を行った場合に双方を有効とすることができるという利点がある。
【０００８】
しかし、差分更新方式では、複数の端末装置において同一オブジェクトに対する編集が同時に行われた場合、編集結果が想定外のものとなってしまうという問題があったり、各端末装置におけるオブジェクトを同一の状態に保つことが難しいという問題があった。
【０００９】
この問題を説明すると以下のとおりである。図３２に示すように、サーバ装置Ｓには、端末装置Ｔ1、Ｔ2が接続されている。今、端末装置Ｔ1、Ｔ2ともに、左上にオブジェクトが表示されている状態にあるとする（(a)(b)参照）。この状態から、端末装置Ｔ1において、オブジェクトが右に５０移動されたとする（(c)参照）。ほぼ同時に、端末装置Ｔ2において、オブジェクトが下に２０移動されたとする（(d)参照）。
【００１０】
端末装置Ｔ1は、オブジェクトが右に５０移動したという操作内容をサーバ装置Ｓに送信し、サーバ装置Ｓはこの操作内容を端末装置Ｔ2に送信する。端末装置Ｔ2はこれを受けて、左下に移動していたオブジェクトを、右に５０移動させる（(f)参照）。
【００１１】
一方、端末装置Ｔ2は、オブジェクトが下に２０移動したという操作内容をサーバ装置Ｓに送信し、サーバ装置Ｓはこの操作内容を端末装置Ｔ1に送信する。端末装置Ｔ1はこれを受けて、右上に移動していたオブジェクトを、下に２０移動させる（(e)参照）。
【００１２】
以上のように、端末装置Ｔ1のユーザにとっては、オブジェクトを右上に移動しようとしたにもかかわらず、右下に移動する結果となり。端末装置Ｔ2のユーザにとっては、オブジェクトを左下に移動しようとしたにもかかわらず、右下に移動する結果となる。
【００１３】
ここでの問題は、いずれのユーザも意図していなかった右下という位置にオブジェクトが移動してしまうという点である。つまり、オブジェクトの操作結果をいずれのユーザも予測することができず、どのユーザも意図していなかった操作結果が生じることになってしまうという問題があった。
【００１４】
このような問題を解決するため、操作結果を送信するという方法が考えられる。図３３、に操作結果を送信する場合の問題点を説明する。今、端末装置Ｔ1、Ｔ2ともに、左上にオブジェクトが表示されている状態にあるとする（(a)(b)参照）。この状態から、端末装置Ｔ1において、オブジェクトが右に５０移動され、その結果右上に移動されたとする（(c)参照）。ほぼ同時に、端末装置Ｔ2において、オブジェクトが下に２０移動され、その結果左下に移動されたとする（(d)参照）。
【００１５】
端末装置Ｔ1は、オブジェクトが右上に移動したという操作結果をサーバ装置Ｓに送信し、サーバ装置Ｓはこの操作結果を端末装置Ｔ2に送信する。端末装置Ｔ2はこれを受けて、左下に移動していたオブジェクトを、操作結果として受信した右上に移動させる（(f)参照）。
【００１６】
一方、端末装置Ｔ2は、オブジェクトが左下に移動したという操作結果をサーバ装置Ｓに送信し、サーバ装置Ｓはこの操作結果を端末装置Ｔ1に送信する。端末装置Ｔ1はこれを受けて、右上に移動していたオブジェクトを、操作結果として受信した左下に移動させる（(e)参照）。
【００１７】
ここでの問題は、端末装置Ｔ1において表示されている操作結果と、端末装置Ｔ2において表示されている操作結果が異なるという点である。これは、共同編集においては、致命的な問題である。
【００１８】
また、上記のような問題は、オブジェクトのＺオーダ（表示の前後関係）を変更した場合などにも生じるものである。
【００１９】
さらに、差分更新方式に限らず、複数の端末装置にてオブジェクトの共同編集を行う場合、各端末装置にて生成されたオブジェクトを一意に識別するための識別符号を生成する必要があった。この識別符号は、一意性が保証されるものであって、かつ、検索や比較などに要する時間が短いことが求められている。
【００２０】
この発明は、少なくとも上記のいずれかの問題を解決したシステムを提供することを目的とする。
【課題を解決するための手段】
【００２１】
以下、この発明の独立して適用可能な特徴を列挙する。
【００２２】
(1)(2)(3)(4)(5)この発明に係るコンテンツ共同編集システムは、サーバ装置と、当該サーバ装置と通信可能な二以上の端末装置とを備えたコンテンツ共同編集システムであって、
前記サーバ装置は、各端末装置から受信した操作情報を、受信した順が明らかになるように記録部に記録する操作情報記録手段と、記録部に記録された操作情報を、受信した順に各端末装置に配信する操作情報配信手段とを備え、
前記端末装置は、オブジェクトに対する操作を受け付ける直接操作受付手段と、直接操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、当該オブジェクトを操作し、操作結果を表示部に表示する直接操作表示手段と、直接操作受付手段によって受け付けたオブジェクトに対する操作に基づいて、操作結果を含む操作情報を生成し、前記サーバ装置に送信する直接操作送信手段と、サーバ装置から受信した操作情報を受信する間接操作受信手段と、
間接操作受信手段によって受信した操作情報に基づいて、その受信順に、操作結果が生じるようにオブジェクトを操作し、操作結果を表示部に表示する間接操作表示手段とを備え、前記間接操作受信手段によって受信し、間接操作表示手段によって処理される操作情報には、他の端末装置の操作情報だけでなく、前記直接操作受付手段によって受け付けた自端末装置の操作情報も含むことを特徴としている。
【００２３】
したがって、各端末装置においてなされた操作を迅速に反映しつつ、各端末装置における操作結果の統一性を確保することができる。
【００２４】
(6)(7)(8)(9)(10)この発明に係るコンテンツ共同編集システムは、サーバ装置と、当該サーバ装置と通信可能な二以上の端末装置とを備えたコンテンツ共同編集システムであって、
前記サーバ装置は、各端末装置から受信した各オブジェクトのＺオーダ情報を、受信した順が明らかになるように記録部に記録するＺオーダ情報記録手段と、記録部に記録された各オブジェクトのＺオーダ情報を、受信した順に各端末装置に配信するＺオーダ情報配信手段とを備え、
前記端末装置は、各オブジェクトのＺオーダの変更を受け付ける直接変更受付手段と、直接変更受付手段によって受け付けたオブジェクトのＺオーダの変更に基づいて、当該変更結果を表示部に表示する直接変更表示手段と、直接変更受付手段によって受け付けたオブジェクトのＺオーダの変更に基づいて、Ｚオーダ情報を生成し、前記サーバ装置に送信する直接変更送信手段と、サーバ装置から受信したＺオーダ情報を受信する間接変更受信手段と、間接変更受信手段によって受信したＺオーダ情報に基づいて、その受信順に、Ｚオーダの変更結果が生じるようにオブジェクトを操作し、Ｚオーダ変更結果を表示部に表示する間接変更表示手段とを備え、前記間接変更受信手段によって受信し、間接変更表示手段によって処理されるＺオーダ情報には、他の端末装置のＺオーダ情報だけでなく、前記直接変更受付手段によって受け付けた自端末装置のＺオーダ情報も含むことを特徴としている。
【００２５】
したがって、各端末装置においてなされたＺオーダ変更操作を迅速に反映しつつ、各端末装置におけるＺオーダ変更操作結果の統一性を確保することができる。
【００２６】
(11)この発明に係るコンテンツ共同編集システムは、前記直接変更受付手段の受け付けるＺオーダの変更は、オブジェクト生成に伴うＺオーダの新設またはオブジェクトの前後の位置関係の変更に伴うＺオーダの変更を含むことを特徴としている。
【００２７】
(12)(13)(14)(15)(16)この発明に係るコンテンツ共同編集システムは、サーバ装置と、当該サーバ装置と通信可能な二以上の端末装置とを備えたコンテンツ共同編集システムであって、
前記サーバ装置は、各端末装置からのアクセスを受けて、各端末装置を識別できる端末識別符号を生成して、各端末装置に送信する端末識別符号送信手段と、各端末装置から受信したオブジェクト識別符号を含む操作情報を記録部に記録する操作情報記録手段と、記録部に記録された操作情報を、各端末装置に配信する操作情報配信手段とを備え、
前記端末装置は、前記サーバ装置にアクセスし、端末識別符号を受信して記録部に記録する端末識別符号受信手段と、オブジェクトの生成を受け付けるオブジェクト生成受付手段と、オブジェクト生成受付手段によって受け付けたオブジェクトに対し、当該端末装置における各オブジェクトを識別できる端末オブジェクト識別符号を生成し、前記端末識別符号と組み合わせることによってオブジェクト識別符号を生成し、当該オブジェクトと対応付けて記録部に記録するオブジェクト記録手段と、前記オブジェクトに対する操作情報を、対応するオブジェクト識別符号とともに、前記サーバ装置に送信する操作情報送信手段と、前記サーバ装置から、オブジェクト識別符号を伴う操作情報を受信し、当該オブジェクト識別符号のオブジェクトに対する操作を実行する操作手段とを備えている。
【００２８】
したがって、オブジェクト生成時に各端末装置においてオブジェクト識別符号を生成することができる。
【００２９】
(17)この発明に係るオブジェクト共同編集システムは、オブジェクト識別符号が、数値にて表される端末オブジェクト識別符号と、数値にて表される端末識別符号との組合せにより構成されることを特徴としている。
【００３０】
したがって、オブジェクトの検索などのオブジェクト識別符号による処理が迅速である。
【００３１】
「操作情報記録手段」は、実施形態においては、ステップＳ１０５、Ｓ１０６がこれに対応する。
【００３２】
「操作情報配信手段」は、実施形態においては、ステップＳ１０７、Ｓ１０８がこれに対応する。
【００３３】
「直接操作受付手段」は、実施形態においては、ステップＳ３、Ｓ２３がこれに対応する。
【００３４】
「直接操作送信手段」は、実施形態においては、ステップＳ５、Ｓ２５がこれに対応する。
【００３５】
「間接操作受信手段」は、実施形態においては、ステップＳ６、Ｓ２６がこれに対応する。
【００３６】
「間接操作表示手段」は、実施形態においては、ステップＳ８、Ｓ２８がこれに対応する。
【００３７】
「Ｚオーダ情報記録手段」は、実施形態においては、ステップＳ３０５、Ｓ３０６がこれに対応する。
【００３８】
「Ｚオーダ情報配信手段」は、実施形態においては、ステップＳ３０７、Ｓ３０８がこれに対応する。
【００３９】
「直接変更受付手段」は、実施形態においては、ステップＳＳ２０３、Ｓ２１３がこれに対応する。
【００４０】
「直接変更表示手段」は、実施形態においては、ステップＳ２０４、Ｓ２１４がこれに対応する。
【００４１】
「間接変更受信手段」は、実施形態においては、ステップＳ２０６、Ｓ２１６がこれに対応する。
【００４２】
「間接変更表示手段」は、実施形態においては、ステップＳ２０７、Ｓ２１７がこれに対応する。
【００４３】
「端末識別符号送信手段」は、実施形態においては、ステップＳ５０２、Ｓ５０４がこれに対応する。
【００４４】
「操作情報記録手段」は、実施形態においては、ステップＳ５０５がこれに対応する。
【００４５】
「端末識別符号受信手段」は、実施形態においては、ステップＳ４０２、Ｓ４１２がこれに対応する。
【００４６】
「オブジェクト生成受付手段」は、実施形態においては、ステップＳ４０３がこれに対応する。
【００４７】
「オブジェクト記録手段」は、実施形態においては、ステップＳ４０４がこれに対応する。
【００４８】
「操作情報送信手段」は、実施形態においては、ステップＳ４０５がこれに対応する。
【００４９】
「操作手段」は、実施形態においては、ステップＳ４１７がこれに対応する。
【００５０】
「プログラム」とは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【図面の簡単な説明】
【００５１】
【図１】この発明の１実施形態によるコンテンツ共同編集システムの全体構成図である。
【図２】コンテンツ共同編集システムの処理を説明するための図である。
【図３】システム構成図である。
【図４】端末装置Ｔ1のハードウエア構成である。
【図５】サーバ装置Ｓのハードウエア構成である。
【図６】共同編集処理のフローチャートである。
【図７】共同編集処理のフローチャートである。
【図８】サーバ装置Ｓの操作データ一覧である。
【図９】オブジェクトの位置と大きさの表現方法を説明するための図である。
【図１０】端末装置Ｔ1、Ｔ2における表示例である。
【図１１】図１１Ａは操作データ、図１１Ｂはオブジェクトデータの例である。
【図１２】端末装置Ｔ1の操作データ一覧である。
【図１３】端末装置Ｔ2の操作データ一覧である。
【図１４】他の例を示す図である。
【図１５】他の例を示す図である。
【図１６】他の例を示す図である。
【図１７】他の例を示す図である。
【図１８】第２の実施形態による共同編集システムの全体構成図である。
【図１９】コンテンツ共同編集システムの処理を説明するための図である。
【図２０】共同編集処理のフローチャートである。
【図２１】共同編集処理のフローチャートである。
【図２２】サーバ装置Ｓの操作データ一覧である。
【図２３】端末装置Ｔ1の操作データ一覧である。
【図２４】端末装置Ｔ2の操作データ一覧である。
【図２５】端末装置Ｔ1、Ｔ2における表示例である。
【図２６】オブジェクトデータの例である。
【図２７】他の例を示す図である。
【図２８】第３の実施形態による共同編集システムの全体構成図である。
【図２９】共同編集処理のフローチャートである。
【図３０】共同編集処理のフローチャートである。
【図３１】操作データの例である。
【図３２】従来のコンテンツ共同編集システムの動作を説明するための図である。
【図３３】従来のコンテンツ共同編集システムの動作を説明するための図である。
【発明を実施するための形態】
【００５２】
１．第１の実施形態
1.1システム構成と概要
図１に、この発明の一実施形態によるコンテンツ共同編集システムの全体構成を示す。サーバ装置Ｓには、複数の端末装置Ｔ1、Ｔ2・・・Ｔnが接続されている。図２は、コンテンツ共同編集システムにおける共同編集を説明するための概念図である。
【００５３】
以下、図１と図２を参照して説明する。端末装置Ｔ1、Ｔ2のいずれにおいても、図２の最上段に示すように、左上にオブジェクトが表示されているものとする。
【００５４】
端末装置Ｔ1の直接操作受付手段２（図１）は、マウスなどによるユーザの操作を受け付ける。直接操作表示手段４は、この操作内容を表示部６に表示する。たとえば、図２に示すように、端末装置Ｔ1のユーザがオブジェクトを左上から右上に移動するよう操作したとする（図２の(1)）。端末装置Ｔ1の直接操作送信手段１０は、この操作情報をサーバ装置Ｓに送信する。この実施形態では、操作情報として、オブジェクトを右に移動したという操作内容ではなく、オブジェクトが右上に移動したという操作結果を送信するようにしている。サーバ装置Ｓの操作情報記録手段２２（図１）は、これを受けて、記録部２４に記録する（図２の(2)）。
【００５５】
この時、ほぼ同時に、少し遅れて端末装置Ｔ2のユーザが、オブジェクトを操作しようとしたとする。この際、端末装置Ｔ2には、上記の端末装置Ｔ1での操作が送られてきていないので、オブジェクトはまだ左上にあるように表示されている。ここで、端末装置Ｔ2のユーザが、マウスなどの操作によって、オブジェクトを左上から左下に移動するよう操作したとする（図２の(3)）。端末装置Ｔ2の直接操作送信手段１０（図示せず）は、この操作情報をサーバ装置Ｓに送信する。サーバ装置Ｓの操作情報記録手段２２（図１）は、これを受けて、記録部２４に記録する（図２の(4)）。
【００５６】
サーバ装置Ｓの操作情報配信手段２６は、記録部２４に記録された操作情報を記録順に読み出して、各端末装置Ｔ1、Ｔ2・・・Ｔnに配信する。まず、端末装置Ｔ1によって操作されたオブジェクトの右上への移動を読み出して、各端末装置Ｔ1、Ｔ2・・・Ｔnに配信する。この際、操作情報を送信してきた端末装置Ｔ1に対してもこの操作情報の配信を行う（図２の(5)）。
【００５７】
端末装置Ｔ1の間接操作受信手段１２は、サーバ装置Ｓからの操作情報を受信する（図２の(5)）。間接操作表示手段８は、受信した操作情報に基づいてオブジェクトを操作し、表示部６に表示する。端末装置Ｔ1においては、オブジェクトが右上に表示された状態にあるので、そのままの位置に保持されることになる（図２の(6)）。
【００５８】
同様に、端末装置Ｔ2の間接操作受信手段１２（図示せず）も、サーバ装置Ｓからの操作情報を受信する（図２の(5)）。間接操作表示手段８（図示せず）は、受信した操作情報に基づいてオブジェクトを操作し、表示部６（図示せず）に表示する。端末装置Ｔ2においては、オブジェクトが左下に表示された状態にあるので、右上に移動されることになる（図２の(6)）。
【００５９】
続いて、サーバ装置Ｓは、端末装置Ｔ2によって操作されたオブジェクトの左下への移動を読み出して、各端末装置Ｔ1、Ｔ2・・・Ｔnに配信する。この際、操作情報を送信してきた端末装置Ｔ2に対してもこの操作情報の配信を行う（図２の(7)）。
【００６０】
端末装置Ｔ1の間接操作受信手段１２は、サーバ装置Ｓからの操作情報を受信する（図２の(7)）。間接操作表示手段８は、受信した操作情報に基づいてオブジェクトを操作し、表示部６に表示する。端末装置Ｔ1においては、オブジェクトが右上に表示された状態にあるので、左下に移動されることになる（図２の(8)）。
【００６１】
同様に、端末装置Ｔ2の間接操作受信手段１２（図示せず）も、サーバ装置Ｓからの操作情報を受信する（図２の(7)）。間接操作表示手段８（図示せず）は、受信した操作情報に基づいてオブジェクトを操作し、表示部６（図示せず）に表示する。端末装置Ｔ2においては、オブジェクトが右上に表示された状態にあるので、左下に移動されることになる（図２の(8)）。
【００６２】
以上のようにして、他の端末装置からの操作情報が送られてくる前に、操作がなされた場合であっても、最後に操作を行った端末装置の操作が優先され、各端末装置Ｔ1、Ｔ2・・・Ｔnにおけるオブジェクトの操作結果が一致する。また、操作されていないオブジェクトの位置などを送信するものでないため、操作内容の反映が迅速である。
【００６３】
図３に、このシステムの機器構成例を示す。サーバ装置Ｓは、インターネットを介して、端末装置Ｔ1〜Ｔ3であるタブレットＰＣ、端末装置Ｔ4である据置型ＰＣに接続されている。端末装置Ｔ1〜Ｔ3は、無線ＬＡＮによってサーバ装置Ｓに接続されている。端末装置Ｔ4は、ＬＡＮによってサーバ装置Ｓに接続されている。
【００６４】
図４に、端末装置Ｔ1のハードウエア構成を示す。ＣＰＵ３０には、メモリ３２、タッチスクリーンディスプレイ３４、不揮発性メモリ３６、通信回路３８が接続されている。タッチスクリーンディスプレイ３４は、表示を行うとともに、スタイラスペンなどを用いて入力を行うことができるようになっている。通信回路３８は、インターネットに接続するための回路である。
【００６５】
不揮発性メモリ３６には、オペレーティングシステム４０、端末プログラム４２が記録されている。また、生成・編集されたオブジェクトを示すオブジェクトデータ４４、オブジェクトに対する操作を示す操作データ４５が記録される。端末プログラム４２は、オペレーティングシステム４０と協働してその機能を発揮するものである。これらプログラムは、インターネットを介してプログラム配信サーバ装置（図示せず）からダウンロードしてインストールしたものである。オブジェクトデータ４４は、自端末装置Ｔ1・他の端末装置Ｔ2〜Ｔ4において生成・編集されたオブジェクトを示すデータであり、各端末装置Ｔ1〜Ｔ4における生成・編集状況によって変化するものである。
【００６６】
なお、端末装置Ｔ2、Ｔ3は同様の構成である。また、端末装置Ｔ4も同様の構成であるが、タッチスクリーンディスプレイ３４の代わりに、ディスプレイとキーボード／マウスが設けられている点が異なる。
【００６７】
図５に、サーバ装置Ｓのハードウエア構成を示す。ＣＰＵ５０には、メモリ５２、ディスプレイ５４、ハードディスク５６、ＤＶＤ−ＲＯＭドライブ５８、通信回路６０が接続されている。通信回路６０は、インターネットに接続するための回路である。
【００６８】
ハードディスク５６には、オペレーティングシステム６２、サーバプログラム６４が記録されている。サーバプログラム６４は、オペレーティングシステム６２と協働してその機能を発揮するものである。これらプログラムは、ＤＶＤ−ＲＯＭ６８に記録されていたものを、ＤＶＤ−ＲＯＭドライブ５８を介して、ハードディスク５６にインストールしたものである。操作データ４５は、各端末装置Ｔ1〜Ｔ4から受信したものである。
【００６９】
1.2共同編集処理
図６、図７に、このシステムによる共同編集処理のフローチャートを示す。図６、図７において、端末装置Ｔ1、端末装置Ｔ2は端末プログラム４２を表している。サーバ装置Ｓは、サーバプログラム６４を表している。なお、図６、図７においては、２つの端末装置Ｔ1、Ｔ2のみを示しているが、他の端末装置Ｔ3、Ｔ4も同様の処理を行う。
【００７０】
なお、以下では、端末装置Ｔ3、Ｔ4によって既に共同編集が行われており、その後、端末装置Ｔ1、Ｔ2がこの共同編集に参加する場合を例として説明する。
【００７１】
端末装置Ｔ1を操作するユーザは、スタイラスペン（図示せず）によりタッチスクリーン・ディスプレイ３４を操作して、サーバ装置Ｓにアクセスする。端末装置Ｔ1のＣＰＵ３０（以下、端末装置Ｔ1と省略することがある）は、この操作を受けて、ユーザによって入力されたユーザＩＤとパスワードを、サーバ装置Ｓに送信する（ステップＳ１）。
【００７２】
サーバ装置ＳのＣＰＵ５０（以下、サーバ装置Ｓと省略することがある）は、これを受けて、当該ユーザＩＤとパスワードの組合せが予めハードディスク５６に記録されたものと合致するかどうかを判断する（ステップＳ１０１）。合致すれば、正当なユーザからのログインであると判断して、これまでに他の端末装置Ｔ3、Ｔ4によって既に生成・編集されたオブジェクトの操作データ一覧を端末装置Ｔ1に送信する（ステップＳ１０２）。
【００７３】
図８Ａに、操作データの例を示す。ここでは、オブジェクトの生成のみが行われただけであるから、１つの操作データのみが記録されている。左端の数字「０」は、操作データを記録した順を示している。操作の欄は、操作の種類を示している。ここでは「生成」が記録されている。さらに、生成されたオブジェクトを識別するオブジェクトＩＤとともに、オブジェクトの属性、オブジェクトの特徴点の座標、色、太さなどが記録されている。図９に、オブジェクトの座標の表現方式を示す。オブジェクトの特徴点Ａ、Ｂ、Ｃ、Ｄの座標は、ディスプレイの左上隅を原点(0,0)とし、横方向にＸ軸、縦方向にＹ軸として表している。
【００７４】
端末装置Ｔ1は、この操作データ一覧を受信し、不揮発性メモリ３６に記録する（ステップＳ２）。図１２Ａに、端末装置Ｔ1に記録された操作データ一覧を示す。
【００７５】
さらに、端末装置Ｔ1は、この操作データ一覧に基づいて、オブジェクトデータを生成し、タッチスクリーン・ディスプレイ３４にオブジェクトを表示する（ステップＳ２）。
【００７６】
図１０Ａに、タッチスクリーン・ディスプレイ３４に表示されたオブジェクト７０を示す。端末装置Ｔ1は、オブジェクの属性が「四角」であることから、四角形としてオブジェクトを表示する。その際、操作データに示された四角形の四隅の点Ａ、Ｂ、Ｃ、Ｄの座標に基づいて、その位置と大きさを決定する。また、オブジェクトの色、太さなどについても、操作データに記載された指定どおりに表示する。
【００７７】
端末装置Ｔ2のＣＰＵ３０（以下、端末装置Ｔ2と省略することがある）も、上記と同様にして、サーバ装置Ｓにログインする（ステップＳ２１）。サーバ装置Ｓは、ログイン処理を行い（ステップＳ１０３）、操作データ一覧を端末装置Ｔ2に送信する（ステップＳ１０４）。図１３Ａに、端末装置Ｔ2に記録された操作データ一覧を示す。
【００７８】
操作データ一覧を受けた端末装置Ｔ2は、端末装置Ｔ1と同じようにして、オブジェクトデータを生成しオブジェクトの表示を行う（ステップＳ２２）。図１０Ｂに、端末装置Ｔ2において表示されたオブジェクト７０を示す。同じオブジェクトデータに基づく表示であるから、端末装置Ｔ1、Ｔ2のいずれにおいても、同じようにオブジェクトが左上に表示されている。
【００７９】
次に、端末装置Ｔ1のユーザが、スタイラスペン（図示せず）によりタッチスクリーン・ディスプレイ３４に表示されたオブジェクト７０を右に移動させたとする。端末装置Ｔ1は、この操作を受け付けて、操作データＸ1を得る（ステップＳ３）。端末装置Ｔ1は、この操作データＸ1に基づき、オブジェクトデータを修正し、図１０Ｃに示すようにオブジェクト７０の表示を右に移動させる（ステップＳ４）。
【００８０】
この操作データＸ1を、図１１に示す。操作されたオブジェクトのオブジェクトＩＤ、操作種類が記録されている。ここでは、オブジェクトが移動されたので、操作種類は移動として記録されている。この操作種類に続いて、移動後のオブジェクトの座標が記録されている。端末装置Ｔ1は、この操作データＸ1を、サーバ装置Ｓから受信した操作データ一覧に追加して記録する（ステップＳ３）。したがって、端末装置Ｔ1において記録された操作データ一覧は、図１２Ｂのようになる。
【００８１】
端末装置Ｔ1は、次に、操作データＸ1をサーバ装置Ｓに送信する（ステップＳ５）。サーバ装置Ｓは、操作データＸ1を受信し、操作データ一覧に追加して記録する（ステップＳ１０５）。したがって、サーバ装置Ｓにおける操作データ一覧は、図８Ｂのようになる。
【００８２】
一方、端末装置Ｔ2も端末装置Ｔ1とほぼ同時に、オブジェクト７０に対する操作を行ったとする。この際、端末装置Ｔ2においては、上記の操作データＸ1がまだ届いていないので、オブジェクトは図１０Ｂのような状態として表示されている。
【００８３】
ここで、端末装置Ｔ2のユーザにより、オブジェクト７０が左下に移動するよう操作されたとする。端末装置Ｔ2は、この操作を受け付けて操作データＸ2を得る（ステップＳ２３）。端末装置Ｔ2は、この操作データＸ2を、サーバ装置Ｓから受信した操作データ一覧に追加して記録する（ステップＳ２３）。したがって、端末装置Ｔ2における操作データ一覧は、図１３Ｂのようになる。
【００８４】
さらに、図１０Ｄのように、タッチスクリーン・ディスプレイ３４にオブジェクト７０の移動を表示する（ステップＳ２４）。続いて、操作データＸ2をサーバ装置Ｓに送信する（ステップＳ２５）。
【００８５】
サーバ装置Ｓは、操作データＸ2を受信し、これをハードディスク５６に記録する（ステップＳ１０６）。したがって、サーバ装置Ｓには、図８Ｃに示すように操作データ一覧が記録される。この実施形態では、操作データを受信した順に、番号をつけて記録するようにしている。なお、受信の順番は、受信時のタイムスタンプに基づいて行うようにしてもよい。以上のようにして、サーバ装置Ｓには、操作データＸ1、Ｘ2が記録されることになる。
【００８６】
続いて、サーバ装置Ｓは、端末装置Ｔ1、Ｔ2より受信して記録した操作データを、その記録時刻順（受信時刻順）に、全ての端末装置Ｔ1、Ｔ2、Ｔ3、Ｔ4に配信する（ステップＳ１０７）。この例であれば、まず、端末装置Ｔ1から受信した操作データＸ1を、各端末装置Ｔ1、Ｔ2、Ｔ3、Ｔ4に配信することになる。
【００８７】
図７においては、端末装置Ｔ1、Ｔ2に対する配信のみが表示されているが、他の端末装置Ｔ3、Ｔ4に対しても同じように配信がなされる。この時、操作データＸ1は、上記のように、端末装置Ｔ1から受信したものであるが、サーバ装置Ｓは、当該端末装置Ｔ1に対しても、操作データＸ1を送信する。また、サーバ装置Ｓは、送信済みの操作データについては、送信済みのフラグ（図示せず）を立てる。
【００８８】
操作データＸ1を受信した端末装置Ｔ1は、これを不揮発性メモリ３６の操作データ一覧に追加して記録する（ステップＳ６）。ただし、ここでは、端末装置Ｔ1にすでに記録されていた最新の操作データＸ1と、受信した操作データＸ1が同一であるから、改めて記録を行わない。したがって、端末装置Ｔ1における操作データ一覧は、図１２Ｂのままである。
【００８９】
端末装置Ｔ1は、操作データＸ1に基づいて当該オブジェクトを操作し、操作結果を表示する（ステップＳ８）。つまり、操作データＸ1に基づいてオブジェクトデータを修正し、修正したオブジェクトデータに基づいてオブジェクトを表示する。
【００９０】
操作データＸ1は、オブジェクト７０を右上に移動するという操作である。図１０Ｃに示すように、端末装置Ｔ1においては、ユーザの操作によって既に、オブジェクト７０が右上に移動されている。したがって、端末装置Ｔ1は、タッチスクリーン・ディスプレイ３４に表示されたオブジェクト７０の位置を、そのまま右上に維持する（図１０Ｅ）。
【００９１】
なお、対象となる当該オブジェクトが既に削除されている場合（既に削除されたオブジェクトに対する操作である場合）には、ステップＳ８の操作は実行しない（ステップＳ７）。この点については、後述する。
【００９２】
操作データＸ1を受信した端末装置Ｔ2は、これを不揮発性メモリ３６の操作データ一覧に追加して記録する（ステップＳ２６）。したがって、端末装置Ｔ2における操作データ一覧は、図１３Ｃのようになる。
【００９３】
端末装置Ｔ2は、操作データＸ1に基づいて当該オブジェクトを操作し、操作結果を表示する（ステップＳ２８）。つまり、操作データＸ1に基づいてオブジェクトデータを修正し、修正したオブジェクトデータに基づいてオブジェクトを表示する。
【００９４】
操作データＸ1は、オブジェクト７０を右上に移動するという操作である。図１０Ｄに示すように、端末装置Ｔ2においては、ユーザの操作によって既に、オブジェクト７０が左下に移動されている。したがって、端末装置Ｔ2は、タッチスクリーン・ディスプレイ３４に表示されたオブジェクト７０の位置を、左下から右上に移動するよう操作する（図１０Ｆ）。なお、この実施形態では、操作（現在位置から右へ移動）を反映するのではなく、操作結果（現在位置に拘わらず右上に移動）を反映するようにしている。
【００９５】
なお、対象となる当該オブジェクトが既に削除されている場合（既に削除されたオブジェクトに対する操作である場合）には、ステップＳ２８の操作は実行しない（ステップＳ２７）。この点については、後述する。
【００９６】
次に、サーバ装置Ｓは、端末装置Ｔ2から受信した操作データＸ2を、各端末装置Ｔ1、Ｔ2、Ｔ3、Ｔ4に配信する。図７においては、端末装置Ｔ1、Ｔ2に対する配信のみが表示されているが、他の端末装置Ｔ3、Ｔ4に対しても同じように配信がなされる。この時、操作データＸ2は、上記のように、端末装置Ｔ2から受信したものであるが、サーバ装置Ｓは、当該端末装置Ｔ2に対しても、操作データＸ2を送信する。
【００９７】
操作データＸ2を受信した端末装置Ｔ1は、これを不揮発性メモリ３６の操作データ一覧に追加して記録する（ステップＳ９）。操作データＸ2が追加された操作データ一覧を、図１２Ｃに示す。
【００９８】
端末装置Ｔ1は、操作データＸ2に基づいて当該オブジェクトを操作し、操作結果を表示する（ステップＳ１１）。つまり、操作データＸ2に基づいてオブジェクトデータを修正し、修正したオブジェクトデータに基づいてオブジェクトを表示する。この時の端末装置Ｔ1における、オブジェクトデータは図１１Ｂに示すとおりである。
【００９９】
操作データＸ2は、オブジェクト７０を左下に移動するという操作である。図１０Ｅに示すように、端末装置Ｔ1においては、オブジェクト７０が右上に位置している。したがって、端末装置Ｔ1は、タッチスクリーン・ディスプレイ３４に表示されたオブジェクト７０の位置を、右上から左下に移動する（図１０Ｇ）。
【０１００】
操作データＸ2を受信した端末装置Ｔ2は、これを不揮発性メモリ３６の操作データ一覧に追加して記録する（ステップＳ２９）。操作データＸ2が追加された操作データ一覧を、図１３Ｄに示す。
【０１０１】
端末装置Ｔ2は、操作データＸ2に基づいて当該オブジェクトを操作し、操作結果を表示する（ステップＳ３１）。つまり、操作データＸ2に基づいてオブジェクトデータを修正し、修正したオブジェクトデータに基づいてオブジェクトを表示する。この時の、端末装置Ｔ2におけるオブジェクトデータは、図１１Ｂに示すとおりである。
【０１０２】
操作データＸ2は、オブジェクト７０を左下に移動するという操作である。図１０Ｆに示すように、端末装置Ｔ2においては、オブジェクト７０が右上に表示されている。したがって、端末装置Ｔ2は、タッチスクリーン・ディスプレイ３４に表示されたオブジェクト７０の位置を、右上から左下に移動するよう操作する（図１０Ｈ）。
【０１０３】
以上のようにして、各端末装置Ｔ1、Ｔ2、Ｔ3、Ｔ4におけるオブジェクトデータが図１１Ｂに示すように統一され、それに基づくオブジェクトの表示も統一される。
【０１０４】
上記では、端末装置Ｔ1と端末装置Ｔ2において、双方が同じオブジェクトに対し、抵触する移動操作を行った場合について説明した。ここで、「抵触する操作」とは、一方の端末装置がオブジェクトに対する操作を行ってから、その操作が他方の端末装置に反映されるまでの間に、他方の端末装置が同じオブジェクトに対して、一方の端末装置の行った操作と両立しない操作を行った場合の、双方の操作をいう。
【０１０５】
しかし、上記のような処理は、移動操作だけでなく他の抵触する操作についても同様に行われる。たとえば、一方の端末装置がオブジェクトの色を変更し、同時に他方の端末装置がオブジェクトを他の色に変更した場合や、一方の端末装置がオブジェクトの線種を変更し、同時に他方の端末装置がオブジェクトを他の線種に変更した場合や、一方の端末装置がオブジェクトの拡大を行い、同時に他方の端末装置がオブジェクトの縮小を行った場合などにおいても、同様の処理がなされる。
【０１０６】
また、一方の端末装置がオブジェクトに対する操作を行ってから、その操作が他方の端末装置に反映されるまでの間に、他方の端末装置が同じオブジェクトに対して、一方の端末装置の行った操作と両立する操作を行った場合も、同様の処理が行われる。しかし、両立する操作であるから、最後の操作だけでなく両操作ともに有効なものとなる。
【０１０７】
たとえば、端末装置Ｔ1において拡大操作がなされ、端末装置Ｔ2において線種変更がなされた場合の処理を、図１４に示す。両端末装置Ｔ1、Ｔ2ともに、左上にオブジェクトが表示されている状態であるとする。
【０１０８】
ここで、端末装置Ｔ1において、オブジェクトの拡大操作がなされたとする（図１４の(1)参照）。端末装置Ｔ1は、この拡大操作の操作データＸ1をサーバ装置Ｓに送信する。サーバ装置Ｓは、この操作データＸ1を記録する（(2)参照）。なお、この実施形態では、オブジェクトデータのうち操作によって変化する項目について、操作後のデータを、操作データとするようにしている。したがって、拡大操作の操作データＸ1は、拡大後のオブジェクトの各特徴点の座標となる。
【０１０９】
少し遅れて、端末装置Ｔ2において、オブジェクトの線種を太線に変更する太線変更操作がなされたとする（(3)参照）。端末装置Ｔ2は、この太線変更操作の操作データＸ2をサーバ装置Ｓに送信する。サーバ装置Ｓは、この操作データＸ2を記録する（(4)参照）。線種変更の操作データＸ2は、線種を太線とするものとなる。
【０１１０】
サーバ装置Ｓは、先に記録した拡大操作の操作データＸ1を、全ての端末装置Ｔ1、Ｔ2に配信する（(5)参照）。これにより、端末装置Ｔ1においては、拡大されたオブジェクトがそのまま維持される（(6)参照）。端末装置Ｔ2においては、オブジェクトがすでに太線に変更されている。したがって、この太線のオブジェクトが拡大される（(6)参照）。
【０１１１】
続いて、サーバ装置Ｓは、太線変更の操作データＸ2を、全ての端末装置Ｔ1、Ｔ2に配信する（(7)参照）。これにより、端末装置Ｔ1においては、拡大されたオブジェクトの線種が太線に変更される（(8)参照）。端末装置Ｔ2においては、オブジェクトの線種はすでに太線になっているので、そのままに維持される（(8)参照）。
【０１１２】
以上のように、各端末装置において両立しうる操作が行われた場合も、各端末装置Ｔ、サーバ装置Ｓは同様の処理を行うが、操作が両立するため、双方の操作が生かされることになる。
【０１１３】
また、複数の端末装置において、一方の端末装置による操作が他の端末装置に反映される前になされた、異なるオブジェクトの操作についても、図６、図７のフローチャートに従う処理が行われる。この場合には、異なるオブジェクトに対する操作であり抵触がないので、双方の操作ともに有効なものとして、全端末装置のオブジェクトデータおよび表示が統一される。
【０１１４】
たとえば、端末装置Ｔ1においてオブジェクト７０の回転操作がなされ、端末装置Ｔ2においてオブジェクト７２の線種変更がなされた場合の処理を、図１５に示す。両端末装置Ｔ1、Ｔ2ともに、左上にオブジェクト７０、右上にオブジェクト７２が表示されている状態であるとする。ここで、端末装置Ｔ1において、オブジェクト７０の回転操作がなされたとする（図１５の(1)参照）。端末装置Ｔ1は、この拡大操作の操作データＸ1をサーバ装置Ｓに送信する。サーバ装置Ｓは、この操作データＸ1を記録する（(2)参照）。
【０１１５】
少し遅れて、端末装置Ｔ2において、オブジェクト７２の線種を太線に変更する太線変更操作がなされたとする（(3)参照）。端末装置Ｔ2は、この太線変更操作の操作データＸ2をサーバ装置Ｓに送信する。サーバ装置Ｓは、この操作データＸ2を記録する（(4)参照）。
【０１１６】
サーバ装置Ｓは、先に記録したオブジェクト７０に対する回転操作の操作データＸ1を、全ての端末装置Ｔ1、Ｔ2に配信する（(5)参照）。これにより、端末装置Ｔ1においては、回転されたオブジェクト７０がそのまま維持される（(6)参照）。端末装置Ｔ2においては、オブジェクト７０の回転操作がなされる（(6)参照）。端末装置Ｔ2においては、既にオブジェクト７２の太線変更の操作がなされているが、操作データＸ1によって、この操作は影響を受けない。異なるオブジェクトに対する操作だからである。
【０１１７】
続いて、サーバ装置Ｓは、オブジェクト７２に対する太線変更の操作データＸ2を、全ての端末装置Ｔ1、Ｔ2に配信する（(7)参照）。これにより、端末装置Ｔ1においては、オブジェクト７２が太線に変更される（(8)参照）。この際も、既に操作がなされているオブジェクト７０の回転操作は影響を受けない。端末装置Ｔ2においては、既に太線に変更されているオブジェクト７２が維持される（(8)参照）。
【０１１８】
このように、一方の端末装置による操作が他の端末装置に反映される前になされた、異なるオブジェクトの操作は互いに抵触しないので、各端末装置における操作が全て有効なものとして、全端末装置のオブジェクトデータおよび表示が統一される。
【０１１９】
また、同じオブジェクトに対する操作が異なる端末装置でなされた場合であっても、一方の端末装置による操作データが他方の端末装置に反映された後の操作であれば、全ての操作が有効なものとされる。たとえば、端末装置Ｔ1において拡大操作がなされ、この拡大操作が反映された後に、端末装置Ｔ2において線種変更がなされた場合の処理を、図１６に示す。
【０１２０】
この場合、端末装置Ｔ1による拡大操作と、端末装置Ｔ2による太線変更操作がともに有効なものとして、全端末装置のオブジェクトデータおよび表示が統一される。
【０１２１】
なお、抵触する操作が異なる端末装置においてなされた場合には、先に述べたように、抵触する操作のうち最後の操作によって統一するようにしている。しかし、この実施形態では、抵触する操作の少なくとも一つがオブジェクトの削除操作である場合には、オブジェクトの削除操作によって統一を行うようにする。つまり、オブジェクトの削除操作があった後の抵触する操作は、オブジェクトデータに記録しないか、あるいは記録したとしても実行しないようにしている。なお、他の実施形態としては、抵触する操作に削除操作が含まれていても、原則どおり、抵触する操作のうち最後の操作によって統一するようにしてもよい。
【０１２２】
なお、各端末装置においてサーバ装置Ｓからの配信を受信するタイミングは異なっている。このため、他の端末装置においては操作データを受信しているにもかかわらず、ある端末装置においては操作データを受信していない場合もある。この場合、当該操作データを受信していない端末装置において、当該オブジェクトに対する操作が行われると、抵触が生じることになる。
【０１２３】
このような場合の例を、図１７に示す。端末装置Ｔ1によってなされた拡大操作は、サーバ装置Ｓから各端末装置に配信される（(4)参照）。しかし、(5)に示すように、端末装置Ｔ1、Ｔ3には到達しているが、端末装置Ｔ2には到達していない。この時に、端末装置Ｔ2によって縮小操作がなされると抵触が生じることになる。
【０１２４】
拡大操作の操作データは、(8)において端末装置Ｔ2に到達する。しかし、その後、縮小操作の操作データによって、端末装置Ｔ1、Ｔ2、Ｔ3において縮小操作に統一される。つまり、抵触が生じた操作（拡大操作）が最終的に無効となり、端末装置Ｔ2によってなされた縮小操作によって統一がなされる。
【０１２５】
また、抵触操作が連鎖する場合もある。たとえば、端末装置Ｔ1が線種を青色にする操作を行い、端末装置Ｔ2が線種を赤色にする抵触する操作を行ったとする。さらに、端末装置Ｔ1の操作とは抵触しないが、端末装置Ｔ2の操作とは抵触する操作（線種を黄色にする操作）を、端末装置Ｔ3が行ったとする。つまり、端末装置Ｔ3において、端末装置Ｔ1の操作が反映された後であって、端末装置Ｔ2の操作が反映される前に操作がなされたとする。この場合、端末装置Ｔ3の行った操作（線種を黄色にする操作）によって、各端末装置の操作の統一がなされる。
【０１２６】
なお、この実施形態では、サーバ装置Ｓとの通信が一時的にできなくなった端末装置においても、オブジェクトに対する編集を行うことができる。その後、当該端末装置がサーバ装置Ｓと通信できるようになった時に、他の端末装置からの操作データを受け取り、また、自らの操作データをサーバ装置Ｓを介して他の端末装置に送信することができる。この場合に、抵触する操作があった場合には、上記と同様にして、最後にサーバ装置Ｓに記録された操作が優先されて、各端末装置における操作が統一されることになる。
【０１２７】
1.3その他
(1)上記実施形態では、四角形のオブジェクトを例として説明した。しかし、その他の図形や文字・符号などについても同様に適用することができる。この場合、図形などの種類によりその形状と位置を特定するために、オブジェクトデータに記録する座標は異なってくる。たとえば、円形であれば、中心点の座標と半径によって特定することができる。
【０１２８】
(2)上記実施形態では、操作結果（操作後のオブジェクトの状態）を操作データとして送信するようにしている。しかし、操作結果として、操作前のオブジェクト状態と操作内容（移動量など）とを送信するようにしてもよい。
【０１２９】
(3)上記実施形態では、サーバ装置Ｓが送信済みの操作データについてフラグを立て、未送信の操作データについて各端末装置に送信するようにしている。しかし、サーバ装置Ｓにおいて、連続番号などを付して操作データを記録し、各端末装置では、受信した操作データの連続番号を記録するようにしてもよい。この場合、各端末装置は、所定のタイミングで、自らが受信済みの操作データの連続番号を明示して、サーバ装置Ｓに操作データの送信を要求する。
【０１３０】
(4)上記実施形態および変形例は、その本質に反しない限り、他の実施形態と組み合わせて実施可能である。
【０１３１】
２．第２の実施形態
2.1システム構成と概要
図１８に、この発明の一実施形態によるコンテンツ共同編集システムの全体構成を示す。サーバ装置Ｓには、複数の端末装置Ｔ1、Ｔ2・・・Ｔnが接続されている。図１９は、コンテンツ共同編集システムにおける共同編集を説明するための概念図である。
【０１３２】
以下、図１８と図１９を参照して説明する。端末装置Ｔ1、Ｔ2のいずれにおいても、図１９の最上段に示すように、楕円のオブジェクトが表示されているものとする。この実施形態では、オブジェクトごとに表示の重なり順（Ｚオーダ）をデータとして持つようにしている。ここでは、楕円のオブジェクトのＺオーダは「０」（Ｚ＝０）として保持されているものとする。なお、Ｚオーダの値が小さいほど、下側になるように表示されることになる。
【０１３３】
端末装置Ｔ1の直接変更受付手段１０２（図１８）は、マウスなどによるユーザの操作を受け付ける。直接変更表示手段１０４は、この操作内容を表示部１０６に表示する。たとえば、図１９に示すように、端末装置Ｔ1のユーザが楕円オブジェクトの上に、菱形オブジェクト（Ｚ＝１）を生成したとする（図１９の(1)）。端末装置Ｔ1の直接変更送信手段１１０は、この菱形オブジェクト（Ｚ＝１）が生成された旨を示す操作データを（Ｚオーダを含む）をサーバ装置Ｓに送信する。サーバ装置ＳのＺオーダ情報記録手段１２２（図１）は、これを受けて、記録部１２４に記録する（図１９の(2)）。
【０１３４】
この時、ほぼ同時に、少し遅れて端末装置Ｔ2のユーザが、楕円オブジェクトの上に四角オブジェクトを生成したとする（図１９の(3)）。この際、端末装置Ｔ2には、上記の端末装置Ｔ1からの操作データが送られてきていないので、楕円オブジェクトの上に四角オブジェクトが生成されることになる。つまり、四角オブジェクトのＺオーダは「１」（Ｚ＝１）となる。端末装置Ｔ2の直接変更送信手段１１０（図示せず）は、この操作データ（Ｚオーダを含む）をサーバ装置Ｓに送信する。サーバ装置ＳのＺオーダ情報記録手段１２２（図１８）は、これを受けて、記録部１２４に記録する（図１９の(4)）。
【０１３５】
サーバ装置Ｓの操作情報配信手段１２６は、記録部１２４に記録された操作データを記録順に読み出して、各端末装置Ｔ1、Ｔ2・・・Ｔnに配信する。まず、端末装置Ｔ1によって生成された操作データ（菱形オブジェクト（Ｚ＝１）の生成）を、各端末装置Ｔ1、Ｔ2・・・Ｔnに配信する。この際、菱形オブジェクトを生成した端末装置Ｔ1に対してもこの操作データの配信を行う（図１９の(5)）。
【０１３６】
端末装置Ｔ1の間接変更受信手段１１２は、サーバ装置Ｓからの操作データ（菱形オブジェクト（Ｚ＝１）の生成）を受信する（図１９の(5)）。間接変更表示手段１０８は、受信した操作データに基づいて菱形オブジェクト（Ｚ＝１）を生成して表示する。端末装置Ｔ1においては、楕円オブジェクト（Ｚ＝０）の上に菱形オブジェクト（Ｚ＝１）が表示された状態であるから、そのままの状態に保持されることになる（図１９の(6)）。
【０１３７】
同様に、端末装置Ｔ2の間接変更受信手段１１２（図示せず）も、サーバ装置Ｓからの操作データ（菱形オブジェクト（Ｚ＝１）の生成）を受信する（図１９の(5)）。間接変更表示手段１０８（図示せず）は、受信した操作データに基づいて菱形オブジェクト（Ｚ＝１）を生成し、表示部１０６（図示せず）に表示する。
【０１３８】
端末装置Ｔ2においては、楕円オブジェクト（Ｚ＝０）の上に四角オブジェクト（Ｚ＝１）が表示された状態にある。ここに、配信されてきた菱形オブジェクト（Ｚ＝１）を生成して、表示することになる。この際、間接変更表示手段１０８（図示せず）は、配信されてきた菱形オブジェクト（Ｚ＝１）のＺオーダを変更することなく、しかも、既に存在するオブジェクトの上下関係を変更することなく、菱形オブジェクトを追加する。
【０１３９】
したがって、端末装置Ｔ2は、楕円オブジェクト（Ｚ＝０）、菱形オブジェクト（Ｚ＝１）、四角オブジェクト（Ｚ＝２）として表示を行う。つまり、図１９の(6)に示すように、楕円オブジェクトの上に、菱形オブジェクトを表示し、さらにその上に四角オブジェクトを表示する。
【０１４０】
続いて、サーバ装置Ｓは、端末装置Ｔ2によって生成された操作データ（四角オブジェクト（Ｚ＝１）の生成）を読み出して、各端末装置Ｔ1、Ｔ2・・・Ｔnに配信する。この際、操作情報を送信してきた端末装置Ｔ2に対してもこの操作データの配信を行う（図１９の(7)）。
【０１４１】
端末装置Ｔ1の間接変更受信手段１１２は、サーバ装置Ｓからの操作データ（四角オブジェクト（Ｚ＝１）の生成）を受信する（図１９の(7)）。間接変更表示手段１０８は、受信した操作データに基づいて四角オブジェクト（Ｚ＝１）を生成し表示部１０６に表示する。
【０１４２】
端末装置Ｔ1においては、楕円オブジェクト（Ｚ＝０）の上に菱形オブジェクト（Ｚ＝１）が表示された状態にある。したがって、端末装置Ｔ1は、前述のルールに従い、楕円オブジェクト（Ｚ＝０）、四角オブジェクト（Ｚ＝１）とし、菱形オブジェクトのＺオーダを「２」に変更する。したがって、図１９の(8)に示すように、楕円オブジェクトの上に、菱形オブジェクトを表示し、さらにその上に四角オブジェクトを表示する。
【０１４３】
同様に、端末装置Ｔ2の間接変更受信手段１１２（図示せず）も、サーバ装置Ｓからの操作情報を受信する（図１９の(7)）。間接変更表示手段１０８（図示せず）は、受信したオブジェクトデータ（Ｚ＝１）に基づいて四角オブジェクトを表示部１０６（図示せず）に表示する。
【０１４４】
端末装置Ｔ2においては、丸形オブジェクト（Ｚ＝０）の上に菱形オブジェクト（Ｚ＝１）が表示され、その上に四角オブジェクトが表示された状態にある。受信した四角オブジェクトのＺオーダは「１」であるから、端末装置Ｔ2は、前述のルールに従い、楕円オブジェクト（Ｚ＝０）の上に、菱形オブジェクト（Ｚ＝１）を表示し、さらにその上に四角オブジェクト（Ｚ＝２）を表示する（図１９の(8)）。
【０１４５】
以上のようにして、他の端末装置からのＺオーダ変更のデータが送られてくる前に、Ｚオーダに関する操作がなされた場合であっても、最後に操作を行った端末装置のＺオーダが優先され、各端末装置Ｔ1、Ｔ2・・・ＴnにおけるオブジェクトのＺオーダが一致する。
【０１４６】
なお、上記実施形態では、変更のあったＺオーダのみを送信するようにしているが、変更されていないオブジェクトも含めて全てのＺオーダを操作情報として送信するようにしてもよい。
【０１４７】
システムの構成、端末装置Ｔのハードウエア構成、サーバ装置Ｓのハードウエア構成は、第１の実施形態と同様（図３〜図５参照）である。
【０１４８】
2.2共同編集処理
図２０、図２１に、このシステムによる共同編集処理のフローチャートを示す。図２０、図２１において、端末装置Ｔ1、端末装置Ｔ2は端末プログラム４２を表している。サーバ装置Ｓは、サーバプログラム６４を表している。なお、図２０、図２１においては、２つの端末装置Ｔ1、Ｔ2のみを示しているが、他の端末装置Ｔ3、Ｔ4も同様の処理を行う。
【０１４９】
なお、以下では、端末装置Ｔ3、Ｔ4によって既に共同編集が行われており、その後、端末装置Ｔ1、Ｔ2がこの共同編集に参加する場合を例として説明する。
【０１５０】
端末装置Ｔ1がサーバ装置Ｓにアクセスしログインを行う点は、第１の実施形態と同様である（ステップＳ２０１、Ｓ３０１）。サーバ装置Ｓは、正当なユーザからのログインであると判断すると、これまでに既に他の端末装置Ｔ3、Ｔ4から送られてきて記録している操作データ一覧を、端末装置Ｔ1に送信する（ステップＳ３０２）。
【０１５１】
図２２Ａに、操作データ一覧の例を示す。ここでは、オブジェクトの生成のみが行われただけであるから、１つの操作データのみが記録されている。生成されたオブジェクトを識別するオブジェクトＩＤとともに、Ｚオーダ、オブジェクトの属性、オブジェクトの特徴点の座標、色、太さなどが記録されている。
【０１５２】
端末装置Ｔ1は、この操作データ一覧を受信し、不揮発性メモリ３６に記録する（ステップＳ２０２）。図２３Ａに、端末装置Ｔ1に記録された操作データ一覧を示す。
【０１５３】
さらに、端末装置Ｔ1は、この操作データ一覧に基づいて、オブジェクトデータを生成し、タッチスクリーン・ディスプレイ３４にオブジェクトを表示する（ステップＳ２０２）。
【０１５４】
図２５Ａに、タッチスクリーン・ディスプレイ３４に表示されたオブジェクト７０を示す。端末装置Ｔ1は、オブジェクの属性が「楕円」であることから、楕円としてオブジェクトを表示する。操作データに示されたＦ1、Ｆ2、Ｆ3、Ｆ4・・・の項目は、オブジェクトの特徴点の座標や寸法を表すものであり、属性に応じて予め定義されている。「楕円」の場合であれば、Ｆ1は中心座標、Ｆ2は短径、Ｆ3は長径と定義されている。端末装置Ｔ1は、Ｆ1、Ｆ2、Ｆ3・・・のデータに基づいて、その位置と大きさを決定する。また、オブジェクトの色、太さなどについても、操作データに記載された指定どおりに表示する。
【０１５５】
端末装置Ｔ2のＣＰＵ３０も、上記と同様にして、サーバ装置Ｓにログインする（ステップＳ２１１）。サーバ装置Ｓは、ログイン処理を行い（ステップＳ３０３）、操作データ一覧を端末装置Ｔ2に送信する（ステップＳ３０４）。図２４Ａに、端末装置Ｔ2に記録された操作データ一覧を示す。
【０１５６】
操作データ一覧を受けた端末装置Ｔ2は、端末装置Ｔ1と同じようにして、オブジェクトデータを生成しオブジェクトの表示を行う（ステップＳ２１２）。図２５Ｂに、端末装置Ｔ2において表示された楕円オブジェクト７０を示す。同じオブジェクトデータに基づく表示であるから、端末装置Ｔ1、Ｔ2のいずれにおいても、同じように楕円オブジェクト７０が表示されている。
【０１５７】
次に、端末装置Ｔ1のユーザが、スタイラスペン（図示せず）によりタッチスクリーン・ディスプレイ３４に表示された楕円オブジェクト７０の上に菱形オブジェクト７２を描画したとする。端末装置Ｔ1は、この操作を受け付けて、操作データＸ11（菱形オブジェクト生成）を得る（ステップＳ２０３）。端末装置Ｔ1は、この操作データＸ11に基づき菱形オブジェクトを生成し、図２５Ｃに示すように楕円オブジェクト７０の上に表示する（ステップＳ２０４）。
【０１５８】
さらに、この操作データＸ11（菱形オブジェクト（Ｚ＝１）生成）を、サーバ装置Ｓから受信した操作データ一覧に追加して記録する（ステップＳ２０４）。したがって、端末装置Ｔ1において記録された操作データ一覧は、図２３Ｂのようになる。なお、各端末装置において生成されたオブジェクトは、最前面に表示されるようにＺオーダが付与される。したがって、菱形オブジェクト７０のＺオーダは「１」となる。
【０１５９】
端末装置Ｔ1は、次に、操作データＸ11をサーバ装置Ｓに送信する（ステップＳ２０５）。サーバ装置Ｓは、操作データＸ11を受信し、操作データ一覧に追加して記録する（ステップＳ３０５）。したがって、サーバ装置Ｓにおける操作データ一覧は、図２２Ｂのようになる。
【０１６０】
一方、端末装置Ｔ2も端末装置Ｔ1とほぼ同時に、楕円オブジェクト７０の上に描画を行ったとする。ただし、端末装置Ｔ2では、四角オブジェクト７４を描画したものとする。この際、端末装置Ｔ2においては、上記の操作データＸ11がまだ届いていないので、オブジェクトは図２５Ｂのような状態として表示されている。
【０１６１】
ここで、端末装置Ｔ2のユーザにより、四角オブジェクト７４が描画されると、端末装置Ｔ2は、この操作を受け付けて操作データＸ12を得る（ステップＳ２１３）。端末装置Ｔ2は、この操作データＸ12に基づき四角オブジェクト７４を生成し、図２５Ｄに示すように楕円オブジェクト７０の上に表示する（ステップＳ２１４）。さらに、この操作データＸ12を、サーバ装置Ｓから受信した操作データ一覧に追加して記録する（ステップＳ２１４）。したがって、端末装置Ｔ2において記録された操作データ一覧は、図２４Ｂのようになる。
【０１６２】
端末装置Ｔ2は、次に、操作データＸ12をサーバ装置Ｓに送信する（ステップＳ２１５）。サーバ装置Ｓは、操作データＸ12を受信し、操作データ一覧に追加して記録する（ステップＳ３０６）。したがって、サーバ装置Ｓにおける操作データ一覧は、図２２Ｃのようになる。
【０１６３】
続いて、サーバ装置Ｓは、端末装置Ｔ1、Ｔ2より受信して記録した操作データを、その記録時刻順（受信時刻順）に、全ての端末装置Ｔ1、Ｔ2、Ｔ3、Ｔ4に配信する（ステップＳ３０７）。この例であれば、まず、端末装置Ｔ1から受信した操作データＸ11（菱形オブジェクト（Ｚ＝１）の生成）を、各端末装置Ｔ1、Ｔ2、Ｔ3、Ｔ4に配信することになる。
【０１６４】
図２１においては、端末装置Ｔ1、Ｔ2に対する配信のみが表示されているが、他の端末装置Ｔ3、Ｔ4に対しても同じように配信がなされる。この時、操作データＸ11は、上記のように、端末装置Ｔ1から受信したものであるが、サーバ装置Ｓは、当該端末装置Ｔ1に対しても、操作データＸ11を送信する。また、サーバ装置Ｓは、送信済みの操作データについては、送信済みのフラグ（図示せず）を立てる。
【０１６５】
操作データＸ11を受信した端末装置Ｔ1は、これを不揮発性メモリ３６の操作データ一覧に追加して記録する（ステップＳ２０６）。ただし、ここでは、端末装置Ｔ1にすでに記録されていた最新の操作データＸ11と、受信した操作データＸ11が同一であるから、改めて記録を行わない。したがって、端末装置Ｔ1における操作データ一覧は、図２３Ｂのままである。
【０１６６】
端末装置Ｔ1は、操作データＸ11に基づいて菱形オブジェクト７２を生成し、当該菱形オブジェクトのＺオーダ「１」が維持されるように表示を行う（ステップＳ２０７）。しかし、ここでは、既に、菱形オブジェクト７２が生成され、楕円オブジェクト７０の上に表示されているので、端末装置Ｔ1は現在の表示を維持する（図２５Ｅ参照）。
【０１６７】
なお、対象となる当該オブジェクトが既に削除されている場合（既に削除されたオブジェクトに対する操作である場合）には、ステップＳ２０７の操作は実行しない。この点については、第１の実施形態と同様である。
【０１６８】
操作データＸ11を受信した端末装置Ｔ2は、これを不揮発性メモリ３６の操作データ一覧に追加して記録する（ステップＳ２１６）。したがって、端末装置Ｔ2における操作データ一覧は、図２４Ｃのようになる。
【０１６９】
端末装置Ｔ2は、操作データＸ11に基づいて菱形オブジェクト７２を生成し、当該菱形オブジェクトのＺオーダ「１」が維持されるように表示を行う（ステップＳ２１７）。ここでは、既に、楕円オブジェクト７０がＺオーダ「０」、四角オブジェクトがＺオーダ「１」にて表示されている。したがって、端末装置Ｔ2は、生成した菱形オブジェクト７２のＺオーダを「１」に維持し、四角オブジェクト７４のＺオーダを「２」に変更して表示する（図２５Ｆ参照）。
【０１７０】
なお、対象となる当該オブジェクトが既に削除されている場合（既に削除されたオブジェクトに対する操作である場合）には、ステップＳ２１７の操作は実行しない。この点については、第１の実施形態と同様である。
【０１７１】
次に、サーバ装置Ｓは、端末装置Ｔ2から受信した操作データＸ12（四角オブジェクト７４の生成）を、各端末装置Ｔ1、Ｔ2、Ｔ3、Ｔ4に配信する。図２１においては、端末装置Ｔ1、Ｔ2に対する配信のみが表示されているが、他の端末装置Ｔ3、Ｔ4に対しても同じように配信がなされる。この時、操作データＸ12は、上記のように、端末装置Ｔ2から受信したものであるが、サーバ装置Ｓは、当該端末装置Ｔ2に対しても、操作データＸ12を送信する。
【０１７２】
操作データＸ12を受信した端末装置Ｔ1は、これを不揮発性メモリ３６の操作データ一覧に追加して記録する（ステップＳ２０８）。操作データＸ12が追加された操作データ一覧を、図２３Ｃに示す。
【０１７３】
端末装置Ｔ1は、操作データＸ12に基づいて四角オブジェクト７４（Ｚ＝１）を生成し表示する（ステップＳ２０９）。端末装置Ｔ1においては、楕円オブジェクト（Ｚ＝０）の上に、菱形オブジェクト（Ｚ＝１）が表示されている。したがって、端末装置Ｔ1は、操作データＸ12にて指定された四角オブジェクト７４のＺオーダを「１」とし、菱形オブジェクト７２のＺオーダを「２」に変更する。したがって、楕円オブジェクト７０の上に四角オブジェクト７４が表示され、その上に菱形オブジェクト７２が表示されることになる（図２５Ｇ参照）。
【０１７４】
この時の、端末装置Ｔ1におけるオブジェクトデータを、図２６に示す。楕円オブジェクトのＺオーダが「０」、菱形オブジェクトのＺオーダが「１」、四角オブジェクトのＺオーダが「２」となっている。
【０１７５】
操作データＸ12を受信した端末装置Ｔ2は、これを不揮発性メモリ３６の操作データ一覧に追加して記録する（ステップＳ２１８）。操作データＸ12が追加された操作データ一覧を、図２４Ｄに示す。
【０１７６】
端末装置Ｔ2は、操作データＸ12に基づいて四角オブジェクト７４（Ｚ＝１）を生成し表示する（ステップＳ２１８）。端末装置Ｔ2においては、すでに四角オブジェクトが生成されているので、その生成は行わない。ただし、端末装置Ｔ2はＺオーダの変更を行う。いま、端末装置Ｔ2においては、楕円オブジェクト７０（Ｚ＝０）の上に、菱形オブジェクト７２（Ｚ＝１）が表示され、その上に四角オブジェクト７４（Ｚ＝２）が表示されている。したがって、端末装置Ｔ2は、操作データＸ12にて指定された四角オブジェクト７４のＺオーダを「１」とし、菱形オブジェクト７２のＺオーダを「２」に変更する。したがって、楕円オブジェクト７０の上に四角オブジェクト７４が表示され、その上に菱形オブジェクト７２が表示されることになる（図２５Ｈ参照）。
【０１７７】
この時の、端末装置Ｔ2におけるオブジェクトデータを、図２６に示す。楕円オブジェクトのＺオーダが「０」、菱形オブジェクトのＺオーダが「１」、四角オブジェクトのＺオーダが「２」となっている。
【０１７８】
以上のようにして、各端末装置Ｔ1、Ｔ2、Ｔ3、Ｔ4におけるＺオーダを含むオブジェクトデータが統一され、それに基づくオブジェクトの表示順序も統一される。
【０１７９】
なお、上記では、各端末装置から送信され、サーバ装置から各端末装置に配信される操作データに、生成されたオブジェクトのＺオーダのみを含めている。しかし、オブジェクト生成時に存在する他のオブジェクト全てのＺオーダも含めて操作データとして送信するようにしてもよい。
【０１８０】
上記では、端末装置Ｔ1と端末装置Ｔ2において、双方がオブジェクトの生成を重複して行った場合（ほぼ同時刻に操作した場合）について説明した。しかし、新たなオブジェクトの生成だけでなく、既にあるオブジェクトのＺオーダの変更などのＺオーダを変える操作全般についても同様の処理がなされる。
【０１８１】
たとえば、端末装置Ｔ1においてＺオーダの変更がなされ、端末装置Ｔ2においてもＺオーダの変更がなされた場合の処理を、図２７に示す。なお、図２７の例では、全てのオブジェクトのＺオーダを操作データとして送信するようにしている。両端末装置Ｔ1、Ｔ2ともに、下から楕円（Ｚ＝０）、四角（Ｚ＝１）、菱形（Ｚ＝２）の順にオブジェクトが表示されているものとする（図２７最上段参照）。ここで、端末装置Ｔ1において、菱形を最も下にする変更が行われ、下から菱形（Ｚ＝０）、楕円（Ｚ＝１）、四角（Ｚ＝２）の順になったとする（図２７の(1)参照）。
【０１８２】
端末装置Ｔ1は、このＺオーダ変更の操作データＸ11をサーバ装置Ｓに送信する。なお、Ｚオーダの変更においては、変更がなされたオブジェクトのＺオーダだけでなく、端末装置Ｔ1に記録されている全てのオブジェクトのＺオーダを操作データＸ11として送信する。サーバ装置Ｓは、この操作データＸ11を記録する（(2)参照）。
【０１８３】
少し遅れて、端末装置Ｔ2において、楕円を最も上にする変更が行われ、下から四角（Ｚ＝０）、菱形（Ｚ＝１）、楕円（Ｚ＝２）の順になったとする（図２７の(3)参照）。
【０１８４】
端末装置Ｔ2は、このＺオーダ変更の操作データＸ12をサーバ装置Ｓに送信する。サーバ装置Ｓは、この操作データＸ12を記録する（(4)参照）。
【０１８５】
サーバ装置Ｓは、先に記録した端末装置Ｔ1による操作データＸ11を、全ての端末装置Ｔ1、Ｔ2に配信する（(5)参照）。これにより、端末装置Ｔ1においては、オブジェクトの表示順序がそのまま維持される（(6)参照）。端末装置Ｔ2においては、操作データＸ11の指定どおり、下から菱形（Ｚ＝０）、楕円（Ｚ＝１）、四角（Ｚ＝２）の順に表示が変更される（(6)参照）。
【０１８６】
続いて、サーバ装置Ｓは、端末装置Ｔ2による操作データＸ12を、全ての端末装置Ｔ1、Ｔ2に配信する（(7)参照）。これにより、端末装置Ｔ1においては、操作データＸ12の指定どおり、下から四角（Ｚ＝０）、菱形（Ｚ＝１）、楕円（Ｚ＝２）の順に表示が変更される（(8)参照）。同様に、端末装置Ｔ2においても、操作データＸ12の指定どおり、下から四角（Ｚ＝０）、菱形（Ｚ＝１）、楕円（Ｚ＝２）の順に表示が変更される（(8)参照）。
【０１８７】
このように、この実施形態では、２つの（３つ以上であってもよい）抵触するＺオーダ変更操作が異なる端末装置でなされた場合には、最後にサーバ装置Ｓに記録されたＺオーダ変更操作が優先され（他の操作は無効となる）、このＺオーダに統一がなされるようにしている。
【０１８８】
また、同じオブジェクトに対するＺオーダ変更操作が異なる端末装置でなされた場合であっても、一方の端末装置によるＺオーダ変更操作データが他方の端末装置に反映された後の操作であれば、全ての操作が有効なものとされる。
【０１８９】
なお、各端末装置においてサーバ装置Ｓからの配信を受信するタイミングは異なっている。このため、他の端末装置においては操作データを受信しているにもかかわらず、ある端末装置においては操作データを受信していない場合もある。この場合、当該操作データを受信していない端末装置において、当該オブジェクトに対する操作が行われると、抵触が生じることになる。この場合も、最後の操作が優先されることになる。
【０１９０】
2.3その他
上記実施形態および変形例は、その本質に反しない限り、他の実施形態と組み合わせて実施可能である。
【０１９１】
３．第３の実施形態
3.1システム構成と概要
図２８に、第３の実施形態によるコンテンツ共同編集システムの全体構成を示す。サーバ装置Ｓには、複数の端末装置Ｔ1、Ｔ2・・・Ｔnが接続されている。
【０１９２】
サーバ装置Ｓの端末識別符号送信手段２２２は、端末装置Ｔ1、Ｔ2・・・Ｔnから初めてのアクセスを受けると、各端末装置を識別するための端末識別符号を返信する。端末装置Ｔ1の端末識別符号受信手段２０６は、この端末識別符号を受信して記録部２０８に記録する。この実施形態では、端末識別符号として数値データを用いるようにしている。
【０１９３】
オブジェクト生成受付手段２０２は、オブジェクトの生成操作を受け付ける。オブジェクト記録手段２０４は、生成されたオブジェクトに対して端末オブジェクト識別符号を生成し、前記端末識別符号と組み合わせることでオブジェクト識別符号を生成する。この実施形態では、端末オブジェクト識別符号として数値データを用いるようにしている。したがって、オブジェクト識別符号は、２つの数値データによって構成されることになる。さらに、このオブジェクト識別符号を付して、生成されたオブジェクトを記録部２０８に記録する。たとえば、端末識別符号が「3」であり、端末オブジェクト識別符号が「1」であれば、オブジェクト識別符号は、「3,1」というように生成される。数値データをコンマで区切って結合しているので、オブジェクト識別符号の連続番号を付していく過程で、桁数が増えた場合であっても対応することができる。たとえば、「3,1236」というようなオブジェクト識別符号を生成することができる。
【０１９４】
操作情報送信手段２１０は、オブジェクトに対する操作情報を、オブジェクト識別符号とともにサーバ装置Ｓに送信する。サーバ装置Ｓの操作情報記録手段２２４は、受信したオブジェクト識別符号を含む操作情報を記録部２２６に記録する。さらに、サーバ装置Ｓは、操作情報を各端末装置Ｔ2・・・Ｔnに配信する。
【０１９５】
操作情報の配信を受けた各端末装置Ｔ2・・・Ｔnの操作手段２１２は、対応するオブジェクト識別符号が付されたオブジェクトに対する操作を行う。
【０１９６】
なお、上記では、サーバ装置Ｓは、操作情報を送信してきた端末装置に対しては操作情報の配信をしていないが、操作情報を送信してきた端末装置に対しても操作情報を配信するようにしてもよい。
【０１９７】
このようにして、各端末装置にて生成されるオブジェクト識別符号が重複しないようにすることができる。
【０１９８】
システムの構成、端末装置Ｔのハードウエア構成、サーバ装置Ｓのハードウエア構成は、第１の実施形態と同様（図３〜図５参照）である。
【０１９９】
3.2共同編集処理
図２９、図３０に、このシステムによる共同編集処理のフローチャートを示す。図２９、図３０において、端末装置Ｔ1、端末装置Ｔ2は端末プログラム４２を表している。サーバ装置Ｓは、サーバプログラム６４を表している。なお、図２９、図３０においては、２つの端末装置Ｔ1、Ｔ2のみを示しているが、他の端末装置Ｔ3、Ｔ4も同様の処理を行う。
【０２００】
端末装置Ｔ1がサーバ装置Ｓにアクセスしログインを行う点は、第１の実施形態と同様である（ステップＳ４０１、Ｓ５０１）。サーバ装置Ｓは、正当なユーザからのログインであると判断すると、端末装置Ｔ1に対する端末ＩＤを生成して送信する（ステップＳ５０２）。
【０２０１】
この実施形態では、サーバ装置Ｓは、各端末装置に対してアクセスしてきた順に３桁の連番を生成して付与するようにしている。ここでは、端末装置Ｔ1に対して、端末ＩＤとして「1」が付与されたものとする。端末ＩＤを受信した端末装置Ｔ1は、これを不揮発性メモリ３６に記録する（ステップＳ４０２）。
【０２０２】
続いて、端末装置Ｔ2がサーバ装置Ｓにアクセスしてログインを行ったとする（ステップＳ４１１、Ｓ５０３）。サーバ装置Ｓは、端末装置Ｔ2に対する端末ＩＤを生成して送信する（ステップＳ５０４）。ここでは、端末装置Ｔ2に対して、端末ＩＤとして「2」が付与されたものとする。端末装置Ｔ2はこれを記録する。
【０２０３】
なお、フローチャートには表していないが、端末装置Ｔ3、Ｔ4に対しても、同様にして端末ＩＤとして「3」「4」が付与される。
【０２０４】
ここで、端末装置Ｔ1において、オブジェクトの生成がなされたとする。端末装置Ｔ1はこれを受け付ける（ステップＳ４０３）。端末装置Ｔ1は受け付けた操作に基づいて、オブジェクト生成の操作データを生成して記録する（ステップＳ４０４）。たとえば、菱形オブジェクトが生成された場合であれば、図３１に示すような操作データが生成されて記録される。
【０２０５】
なお、端末装置Ｔ1は、操作データ中のオブジェクトＩＤを次のようにして生成する。まず、端末装置Ｔ1において生成したオブジェクトについて連続番号を端末オブジェクトＩＤとして生成する。ここでは、最初に生成したオブジェクトであるから、「1」が生成される。次に、端末装置Ｔ1は、端末ＩＤと端末オブジェクトＩＤを組み合わせて、オブジェクトＩＤとする。この実施形態では、「,」を挟んで、端末ＩＤに続けて端末オブジェクトＩＤをつないで、オブジェクトＩＤとしている。したがって、オブジェクトＩＤとして「1,1」が得られる。
【０２０６】
この実施形態では、各端末装置ごとにユニークな端末オブジェクトＩＤを生成し、これと端末装置ごとにユニークな端末ＩＤを組み合わせて、オブジェクトＩＤを得ている。したがって、オブジェクト生成のたびにサーバ装置Ｓに問い合わせを行わなくとも、端末装置の側でユニークなオブジェクトＩＤを生成することができる。
【０２０７】
次に、端末装置Ｔ1は、このオブジェクトＩＤを含む操作データを、サーバ装置Ｓに送信する（ステップＳ４０５）。サーバ装置Ｓは、受信した操作データを記録部に記録する（ステップＳ５０５）。
【０２０８】
さらに、サーバ装置Ｓは、この操作データを他の端末装置Ｔ2・・Ｔ4に配信する（ステップＳ５０７）。この操作データを受けた各端末装置Ｔ2・・Ｔ4は、操作データにしたがってオブジェクトを生成して表示する（ステップＳ４１６、Ｓ４１７）。また、そのオブジェクトＩＤによりオブジェクトを管理する。
【０２０９】
以後、いずれかの端末装置Ｔ1・・・Ｔnが、このオブジェクトに対する何らかの操作を行った場合には、オブジェクトＩＤが付された操作データが生成され、サーバ装置Ｓを介して他の端末装置に配信される。
【０２１０】
このように、オブジェクトＩＤを数値の組合せによって構成しているので、オブジェクトＩＤの検索や、オブジェクトＩＤの比較などの処理を迅速に行うことができる。
【０２１１】
3.3その他
(1)上記実施形態では、このオブジェクトデータ生成の方式を、差分更新方式に適用した場合について説明したが、全体更新方式についても適用することができる。
【０２１２】
(2)上記実施形態では、数値にて表される端末オブジェクト識別符号と、数値にて表される端末識別符号との組合せにより、オブジェクト識別符号を構成している。しかし、文字列にて表される端末オブジェクト識別符号と、文字列にて表される端末識別符号との組合せにより、オブジェクト識別符号を構成してもよい。この場合、オブジェクト識別符号を短く構成するため、端末識別符号を、端末装置に付与されている固有のハードウエア識別符号よりも短くすることが好ましい。
【０２１３】
(3)上記実施形態および変形例は、その本質に反しない限り、他の実施形態と組み合わせて実施可能である。
【図１】
2018007109.tif 000003
【図２】
2018007109.tif 000004
【図３】
2018007109.tif 000005
【図４】
2018007109.tif 000006
【図５】
2018007109.tif 000007
【図６】
2018007109.tif 000008
【図７】
2018007109.tif 000009
【図８】
2018007109.tif 000010
【図９】
2018007109.tif 000011
【図１０】
2018007109.tif 000012
【図１１】
2018007109.tif 000013
【図１２】
2018007109.tif 000014
【図１３】
2018007109.tif 000015
【図１４】
2018007109.tif 000016
【図１５】
2018007109.tif 000017
【図１６】
2018007109.tif 000018
【図１７】
2018007109.tif 000019
【図１８】
2018007109.tif 000020
【図１９】
2018007109.tif 000021
【図２０】
2018007109.tif 000022
【図２１】
2018007109.tif 000023
【図２２】
2018007109.tif 000024
【図２３】
2018007109.tif 000025
【図２４】
2018007109.tif 000026
【図２５】
2018007109.tif 000027
【図２６】
2018007109.tif 000028
【図２７】
2018007109.tif 000029
【図２８】
2018007109.tif 000030
【図２９】
2018007109.tif 000031
【図３０】
2018007109.tif 000032
【図３１】
2018007109.tif 000033
【図３２】
2018007109.tif 000034
【図３３】
2018007109.tif 000035