(57)【要約】【課題】  無線回線の通信品質が悪化した場合やバッテリの残量がなくなった場合のデータ不整合の回避を図る。【解決手段】  端末１０１からの要求に応答して記憶手段１００からデータを読み出す読み出し手段１０２と、前記読み出し手段によって読み出されたデータがすでに他の端末１０３によって編集中である場合に前記読み出し手段によって読み出されたデータの複製物を生成する生成手段１０５と、前記端末または前記他の端末からの編集結果を受信する受信手段１０６と、前記受信手段によって受信した編集結果に対応するデータの複製物が存在する場合には前記受信手段によって受信した編集結果で前記複製物を更新する一方、存在しない場合には前記受信手段によって受信した編集結果で前記データを更新する更新手段１０８とを備える。【選択図】  図８
2013171557.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶手段と、
端末からの要求に応答して前記記憶手段からデータを読み出す読み出し手段と、
前記読み出し手段によって読み出されたデータがすでに他の端末によって編集中であるか否かを判定する第１の判定手段と、
前記第１の判定手段の判定結果が肯定の場合に前記読み出し手段によって読み出されたデータの複製物を生成する生成手段と、
前記端末または前記他の端末からの編集結果を受信する受信手段と、
前記受信手段によって受信した編集結果に対応するデータの複製物が存在するか否かを判定する第２の判定手段と、
前記第２の判定手段の判定結果が肯定の場合には前記受信手段によって受信した編集結果で前記複製物を更新する一方、肯定でない場合には前記受信手段によって受信した編集結果で前記データを更新する更新手段と
を備えたことを特徴とするデータ操作装置。
【請求項２】
端末からの要求に応答して記憶手段からデータを読み出す読み出し工程と、
前記読み出し工程によって読み出されたデータがすでに他の端末によって編集中であるか否かを判定する第１の判定工程と、
前記第１の判定工程の判定結果が肯定の場合に前記読み出し工程によって読み出されたデータの複製物を生成する生成工程と、
前記端末または前記他の端末からの編集結果を受信する受信工程と、
前記受信工程によって受信した編集結果に対応するデータの複製物が存在するか否かを判定する第２の判定工程と、
前記第２の判定工程の判定結果が肯定の場合には前記受信工程によって受信した編集結果で前記複製物を更新する一方、肯定でない場合には前記受信工程によって受信した編集結果で前記データを更新する更新工程と
を含むことを特徴とするデータ操作方法。
【請求項３】
コンピュータに、
端末からの要求に応答して記憶手段からデータを読み出す読み出し手段、
前記読み出し手段によって読み出されたデータがすでに他の端末によって編集中であるか否かを判定する第１の判定手段、
前記第１の判定手段の判定結果が肯定の場合に前記読み出し手段によって読み出されたデータの複製物を生成する生成手段、
前記端末または前記他の端末からの編集結果を受信する受信手段、
前記受信手段によって受信した編集結果に対応するデータの複製物が存在するか否かを判定する第２の判定手段、
前記第２の判定手段の判定結果が肯定の場合には前記受信手段によって受信した編集結果で前記複製物を更新する一方、肯定でない場合には前記受信手段によって受信した編集結果で前記データを更新する更新手段
としての機能を与えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ操作装置、データ操作方法及びプログラムに関し、詳しくは、所定の場所に置かれたデータに対して端末からの編集操作などを受け付けるものであって、特に一の端末からの操作中に他の端末からの操作が行われた場合に発生するデータ不整合の回避を意図したデータ操作装置、データ操作方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークインフラの普及に伴い、クラウドなどのデータストレージサービスが各所で利用されるようになってきた。たとえば、個人やグループのスケジュールデータをデータストレージに置き、このデータを会社や自宅のパーソナルコンピュータから操作したり、あるいは、携帯電話機などの端末装置から操作したりできるようになってきた。これによれば、場所を問わずに、いつでも好きなときにスケジュールの確認や編集を行うことができる。
【０００３】
しかしながら、このようなデータストレージサービスにあっては、一の端末でデータを編集中に、他の端末でも同じデータの編集が行われる可能性がある。たとえば、携帯電話機で新たなスケジュール（以下、スケジュールＸ）を追加しているときに、他の端末（会社や自宅のパーソナルコンピュータなど）から別のスケジュール（以下、スケジュールＹ）が追加されるなどの場合である。この場合、先に編集を終えた方のスケジュールが失われてしまう（データ不整合の発生）。つまり、携帯電話機の編集が先に終わるとスケジュールＸが失われ、他の端末の編集が先に終わるとスケジュールＹが失われる。先に編集を終えたスケジュールのデータが、後に編集を終えたスケジュールのデータで上書きされるからである。
【０００４】
データ不整合に対処する技術としては、たとえば、下記の特許文献１〜特許文献４に記載された「データ同期」の技術がある。データ同期とは、同じデータを複数の場所に保存している時に、一ヶ所でデータが更新されると他で保存されているデータにも変更内容が自動的に反映されることをいう。データの同期は、たとえば、デスクトップパソコンに保存されているデータをノートパソコンや携帯情報端末にコピーして持ち歩く際などに利用される。
【０００５】
または、「ファイルロック」の技術も一般的に広く知られている。たとえば、文章作成ソフトや表計算ソフトの多くは、すでに開かれているファイルをロック状態（編集不可の状態）でしか開けない仕組みになっている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−００５７０８号公報
【特許文献２】特開２００５−１３６４７０号公報
【特許文献３】特開２００６−１２６９７２号公報
【特許文献４】特開２００７−２９９２６６号公報
【特許文献５】特開２０１１−０５４０９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の「データ同期」や「ファイルロック」の技術は、前記のデータストレージサービスに利用できない。データ同期は、同じデータを複数の場所に保存している場合に適用する技術であり、データを１カ所に保存するデータストレージサービスになじまないからである。
また、ファイルロックは、編集等の操作を強制的に禁止する技術に過ぎず、ロック状態の間、他の端末からのデータ操作（前記の例示では新たなスケジュールの追加）を一切行うことができなくなるからである。
【０００８】
もちろん、ロック状態の期間がごく短い時間であれば、それほどの不都合を生じない（多少待つだけでよい）。しかしながら、携帯型の無線通信端末にあっては、ロック状態が相当長い時間続くことがある。たとえば、無線回線の通信品質が悪化した場合やバッテリの残量がなくなった場合などである。かかる長時間にわたるロック状態はユーザに対して不安感を与え、データストレージのサービス低下を招く。
【０００９】
そこで、本発明の目的は、無線回線の通信品質が悪化した場合やバッテリの残量がなくなった場合のデータ不整合の回避を図ったデータ操作装置、データ操作方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明のデータ操作装置は、データを記憶する記憶手段と、端末からの要求に応答して前記記憶手段からデータを読み出す読み出し手段と、前記読み出し手段によって読み出されたデータがすでに他の端末によって編集中であるか否かを判定する第１の判定手段と、前記第１の判定手段の判定結果が肯定の場合に前記読み出し手段によって読み出されたデータの複製物を生成する生成手段と、前記端末または前記他の端末からの編集結果を受信する受信手段と、前記受信手段によって受信した編集結果に対応するデータの複製物が存在するか否かを判定する第２の判定手段と、前記第２の判定手段の判定結果が肯定の場合には前記受信手段によって受信した編集結果で前記複製物を更新する一方、肯定でない場合には前記受信手段によって受信した編集結果で前記データを更新する更新手段とを備えたことを特徴とする。
本発明のデータ操作方法は、端末からの要求に応答して記憶手段からデータを読み出す読み出し工程と、前記読み出し工程によって読み出されたデータがすでに他の端末によって編集中であるか否かを判定する第１の判定工程と、前記第１の判定工程の判定結果が肯定の場合に前記読み出し工程によって読み出されたデータの複製物を生成する生成工程と、前記端末または前記他の端末からの編集結果を受信する受信工程と、前記受信工程によって受信した編集結果に対応するデータの複製物が存在するか否かを判定する第２の判定工程と、前記第２の判定工程の判定結果が肯定の場合には前記受信工程によって受信した編集結果で前記複製物を更新する一方、肯定でない場合には前記受信工程によって受信した編集結果で前記データを更新する更新工程とを含むことを特徴とする。
本発明のプログラムは、コンピュータに、端末からの要求に応答して記憶手段からデータを読み出す読み出し手段、前記読み出し手段によって読み出されたデータがすでに他の端末によって編集中であるか否かを判定する第１の判定手段、前記第１の判定手段の判定結果が肯定の場合に前記読み出し手段によって読み出されたデータの複製物を生成する生成手段、前記端末または前記他の端末からの編集結果を受信する受信手段、前記受信手段によって受信した編集結果に対応するデータの複製物が存在するか否かを判定する第２の判定手段、前記第２の判定手段の判定結果が肯定の場合には前記受信手段によって受信した編集結果で前記複製物を更新する一方、肯定でない場合には前記受信手段によって受信した編集結果で前記データを更新する更新手段としての機能を与えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、無線回線の通信品質が悪化した場合やバッテリの残量がなくなった場合のデータ不整合の回避を図ったデータ操作装置、データ操作方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態のシステム構成図である。
【図２】端末装置（第一の端末装置２及び第二の端末装置３）の構成図である。
【図３】サーバ４の構成図である。
【図４】実施形態の第一の動作のフローを示す図である。
【図５】実施形態の第二の動作のフローを示す図（１／２）である。
【図６】実施形態の第二の動作のフローを示す図（２／２）である。
【図７】第二の動作の説明図である。
【図８】付記１の構成図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を、図面を参照しながら説明する。
図１は、実施形態のシステム構成図である。この図において、実施形態のシステムは、インターネットやイントラネット等のネットワーク１と、必要に応じ、無線回線を介してネットワーク１に接続することができる複数の端末装置２、３と、ネットワーク１に常時接続されているサーバ４とを含んで構成されている。
説明の便宜上、端末装置の台数を２台とし、それぞれ、第一の端末装置２、第二の端末装置３ということにするが、これに限定されない。複数台であればよい。
【００１４】
図２は、端末装置（第一の端末装置２及び第二の端末装置３）の構成図である。第一の端末装置２と第二の端末装置３の構成は同一であり、以下、第一の端末装置２を例にして説明すると、第一の端末装置２は、プログラム制御要素としてのマイクロコンピュータまたはコンピュータ（ＣＰＵ）５と、ＣＰＵ５で実行する制御プログラム（基本プログラムと応用プログラム及びそれらのプログラムに必要なデータ）を予め格納する不揮発性半導体メモリ（ＲＯＭ）６と、ＣＰＵ５の作業エリアとして機能する高速半導体メモリ（ＲＡＭ）７と、必要に応じ携帯電話網やＷｉＦｉなどの無線回線を介して図１のネットワーク１に接続することが可能な通信部８と、操作キーなどを含む入力部９と、液晶ディスプレイやＥＬパネルなどからなる表示部１０と、スピーカやバイブレータなどを含む出力部１１とを備える。なお、これら以外にもバッテリの電力から各部の動作電圧を発生する電源部などを備えるが、ここでは図面の輻輳を避けるために省略している。
【００１５】
図３は、サーバ４の構成図である。サーバ４は、光回線などの高速専用回線を介して常に図１のインターネット１に接続する通信部１２と、所要のサーバ処理を実行する処理部１３と、所要のデータを記憶する記憶部１４（データストレージともいう）とを少なくとも備える。
【００１６】
ここで、処理部１３は、マイクロコンピュータまたはコンピュータ（ＣＰＵ）１５と、ＣＰＵ１５で実行する制御プログラム（基本プログラムと応用プログラム及びそれらのプログラムに必要なデータ）を予め格納するプログラム記憶部１６と、ＣＰＵ１５の作業エリアとして機能する高速半導体メモリ（ＲＡＭ）１７とを備え、プログラム記憶部１６に格納されている制御プログラムをＲＡＭ１７にロードしてＣＰＵ１５で実行することにより、このサーバ４の全体動作を統括制御する。
【００１７】
図４は、実施形態の第一の動作のフローを示す図である。ここで、第一の動作とは、データ不整合が起きない場合の動作、すなわち、サーバ４に保存されている任意のデータを“１台”の端末装置だけで編集し、その編集結果でサーバ４に保存されているデータを上書き更新する一連の動作のことをいう。１台の端末装置は、第一の端末２または第二の端末３のいずれかであり、以下、便宜的にその１台の端末装置を「端末装置Ａ」ということにする。
【００１８】
端末装置Ａ（のＣＰＵ５、以下、端末装置Ａで代表する）は、まず、ユーザ操作を入力部９で受付け（ステップＳ１）、その操作内容に従い、通信部８とネットワーク１を介してサーバ４にアクセスし、サーバ４に対して編集対象のデータ（以下、データＡという）を要求する（ステップＳ２）。
【００１９】
サーバ４（のＣＰＵ１５、以下、サーバ４で代表する）は、端末装置Ａからの要求を通信部１２で受信すると（ステップＳ３）、記憶部１４の記憶データの中から、要求されたデータＡを検索し（ステップＳ４）、そのデータＡを通信部１２を介して要求元の端末装置Ａに送信する（ステップＳ５）とともに、データＡが編集中であることを示す編集フラグをセットする（ステップＳ６）。
【００２０】
端末装置Ａは、通信部８を介してサーバ４からのデータＡを受信すると（ステップＳ７）、まず、ユーザに対してデータＡの編集環境（たとえば、表示部１０にデータＡを表示するとともに、入力部９からのユーザ操作を受け取り、その操作内容を表示中のデータＡに反映することができる環境）を提供する（ステップＳ８）。
【００２１】
次いで、電波強度一定値以上であるか、または、バッテリ残量が一定値以上であるか否かを判定する（ステップＳ９）。
ここで、電波強度が一定値以上の「一定値」とは、通信部８をネットワーク１に正常に接続できる充分な強さの電波強度（または電界強度もしくは搬送波信号の強さ）の値のことをいう。電波強度が一定値以上でないときには、通信途絶（ネットワーク１からの切断）が発生する可能性がある。通信途絶が発生した場合は通信環境のよい場所に移動しなければならない。また、バッテリ残量が一定値以上の「一定値」とは、不図示の電源部のバッテリ残量が、この端末装置Ａの動作を継続できる充分な値のことをいう。バッテリ残量が一定値以上でないときには、特に電力消費の大きい通信部８が早々に止まる可能性があり、同様に通信途絶（ネットワーク１からの切断）が発生する可能性がある。バッテリ残量が少なくなった場合は、バッテリを充電するか、あるいは、新しいバッテリに交換しなければならない。
【００２２】
ステップＳ９の判定結果がＮＯの場合は「電波強度一定値以上であり」且つ「バッテリ残量一定値以上である」ので、編集途中の通信途絶の恐れはない。したがって、この場合は、データの編集終了を判定するまで（ステップＳ１２の判定結果がＹＥＳになるまで）、ステップＳ８、ステップＳ９、ステップＳ１２のループを繰り返し、データの編集終了を判定すると（ステップＳ１２の判定結果がＹＥＳになると）、ループを抜けて、編集済みのデータ（以下、データＢという）をサーバ４に送信する（ステップＳ１３）。サーバ４は、この編集済みのデータＢで、記憶部１４のデータＡを上書き更新する（ステップＳ１４）とともに、データＡの編集フラグをリセットする（ステップＳ１５）。
【００２３】
一方、ステップＳ９の判定結果がＹＥＳの場合は「電波強度一定値以上でない」または「バッテリ残量一定値以上でない」ので、編集途中の通信途絶の可能性がある（あくまで可能性であり、通信途絶はまだ発生していない。）。したがって、この場合は、編集途中のデータ（以下、データＡａという）を速やかにサーバ４に送信（ステップＳ１０）した後、データの編集終了を判定するまで（ステップＳ１２の判定結果がＹＥＳになるまで）、ステップＳ８、ステップＳ９、ステップＳ１２のループを繰り返し、データの編集終了を判定すると（ステップＳ１２の判定結果がＹＥＳになると）、ループを抜けて、編集済みのデータ（以下、データＢという）をサーバ４に送信する（ステップＳ１３）。
【００２４】
このように、サーバ４は、端末装置Ａから編集途中のデータ（データＡａ）を受け取ると、そのデータＡａで記憶部１４のデータＡを更新し（データＡａでデータＡを上書きする）（ステップＳ１１）、あるいは、編集済みのデータ（データＢ）を受け取ると、そのデータＢで記憶部１４のデータＡ（またはデータＡａで上書きされたデータＡ）を更新する（データＢでデータＡを上書きする）（ステップＳ１４）。
【００２５】
以上のとおり、この第一の動作では、端末装置Ａ（第一の端末装置２または第二の端末装置３のいずれか）で、サーバ４のデータ（データＡ）を読み出して編集し、その編集済みデータ（データＢ）を用いてサーバ４の元のデータ（データＡ）を更新（データＢでデータＡを上書き）することができる。また、編集途中で通信途絶の可能性がある状態が発生したときには、その時点の編集途中データ（データＡａ）を用いてサーバ４の元のデータ（データＡ）を更新（データＡａでデータＡを上書き）することができる。
【００２６】
しかしながら、この第一の動作ではデータ不整合が発生する可能性がある。一の端末（たとえば、第一の端末装置２）でデータＡを編集中に、他の端末（たとえば、第二の端末装置３）で同じデータＡに対する編集が行われてしまった場合には、先に編集を完了したデータが後に編集を完了したデータで上書きされてしまうからである。
【００２７】
図５及び図６は、実施形態の第二の動作のフローを示す図である。第二の動作とは、データ不整合が起きる可能性がある場合の動作、すなわち、サーバ４に保存されている任意のデータを“複数台”の端末装置で編集し、それらの編集結果でサーバ４に保存されているデータを上書き更新する一連の動作のことをいう。以下、便宜的に一の端末を第一の端末装置２として、それを「端末装置Ａ」といい、また、他の端末を第二の端末装置３として、それを「端末装置Ｂ」ということにする。
【００２８】
今、端末装置Ａで先行してデータＡの編集を行っている場合を想定する。そして、その編集中に端末装置Ａの通信品質が低下し、または、バッテリ残量が少なくなったと仮定する。この場合、図４のステップＳ９の判定結果がＹＥＳとなって、端末装置Ａからサーバ４に編集途中のデータＡａが送信される（ステップＳ１００：図４のステップＳ１０に相当）。サーバ４はこのデータＡａで元のデータＡを更新する（ステップＳ１０１：図４のステップＳ１１に相当）。
【００２９】
さて、端末装置Ａの通信品質がさらに低下し、または、バッテリ残量がさらに少なくなると、ついには、通信途絶（端末装置Ａとネットワーク１の間の回線切断）が発生する。この回線切断は、通信品質またはバッテリの状態が元に戻らない限り、延々と続くことになる。
【００３０】
前記のとおり、バッテリ残量が少なくなった場合はバッテリを充電し、または、新品と交換すればよい。あるいは、通信品質が低下した場合は通信環境のよい場所に移動すればよい。ただし、一般的にバッテリ残量が少なくなった場合、多くのユーザは編集をあきらめてしまうので、このケース（バッテリ残量が少なくなった場合）を説明から除外する。
【００３１】
一方、通信品質が低下した場合は、多くのユーザは編集操作を継続しながら通信環境のよい場所に移動し、または、編集を完了してから通信環境のよい場所に移動する。したがって、端末装置Ａは、通信が回復したときに、編集済みデータ（データＢ）をサーバ４に送信する（ステップＳ１０２：図４のステップＳ１３に相当）。
【００３２】
さて、前記の第一の動作（図４）の場合、サーバ４は、端末装置Ａから送信された編集済みデータＢでデータＡを上書き更新している（ステップＳ１４）。しかしながら、この第二の動作の場合においては、そのような単純な上書き更新を行うとデータ不整合を招く。
【００３３】
今、端末装置Ａで回線切断が発生している間に、端末装置Ｂで同じデータに対する編集操作が行われた場合を考える。この場合、端末装置Ｂ（のＣＰＵ５、以下、端末装置Ｂで代表する）は、サーバ４に対して編集対象のデータ（データＡまたはデータＡａで更新されたデータＡ、以下、データＡ）を要求し（ステップＳ１０３：図４のステップＳ１、ステップＳ２に相当）、サーバ４は、この要求を受信（ステップＳ１０４：図４のステップＳ３に相当）すると、要求されたデータ（データＡ）を記憶部１４から検索（ステップＳ１０５：図４のステップＳ４に相当）するが、このデータＡの編集フラグがセットされている（すでに端末装置Ａで編集操作の対象になっている）ことから、データＡの複製物（以下、データＡ′）を生成してその複製物（データＡ′）を所定の場所（ＲＡＭ７等）に保存すると共に、データＡを端末装置Ｂに送信する（ステップＳ１０６）。
【００３４】
端末装置Ｂは、データＡを受信し（ステップＳ１０７：図４のステップＳ７に相当）、所要の編集操作（ステップＳ１０８：図４のステップＳ８に相当）を行った後、編集済みデータ（以下、データＣ）をサーバ４に送信する（ステップＳ１０９：図４のステップＳ１３に相当）。サーバ４は、その編集済みデータＣでデータＡを上書き更新する（ステップＳ１１０：図４のステップＳ１４に相当）とともに、データＡの編集フラグをリセットする（ステップＳ１１１：図４のステップＳ１５に相当）。
【００３５】
一方、端末装置Ａは、回線の回復後、編集済みデータ（データＢ）をサーバ４に送信する（ステップＳ１０２：図４のステップＳ１３に相当）。サーバ４は、このデータＢでデータＡを更新しようとするが（ステップＳ１１３：図４のステップＳ１４に相当）、このとき、データＡの複製物（データＡ′）が所定の場所（ＲＡＭ７等）に保存されているか否かを調べ（ステップＳ１１２）、保存されていなければ、データＡを編集済みデータＢで上書き更新（ステップＳ１１３）する一方、保存されていれば、データＡの複製物（データＡ′）を編集済みデータＢで上書き更新（ステップＳ１１５）する。
【００３６】
さらに、サーバ４は、元のデータ（データＡ）の複製物（データＡ′）が変更された旨とその変更内容を示す通知メッセージを、他の端末（端末装置Ｂ）に宛てて送信する（ステップＳ１１６）。
【００３７】
端末装置Ｂは、上記の通知メッセージを表示部１０に表示するとともに、ユーザに対して変更内容の確認を促し（ステップＳ１１７）、且つ、その変更内容で元のデータＡを上書き更新してもよいかをユーザに選択させる（ステップＳ１１８）。
【００３８】
そして、上書き許可の場合（ステップＳ１１８の判定結果がＹＥＳの場合）は、サーバ４に対して複製物（データＡ′）で元のデータ（データＡ）を上書きしてもよい旨を通知し（ステップＳ１１９）、サーバ４は、この通知に応答して元のデータＡをデータＡ′で上書きする（ステップＳ１２０）とともに、データＡの編集フラグをリセットする（ステップＳ１１４：図４のステップＳ１５に相当）。
【００３９】
一方、上書き不許可の場合（ステップＳ１１８の判定結果がＮＯの場合）は、サーバ４に対して一の端末（端末装置Ａ）への通知を依頼し（ステップＳ１２１）、サーバ４は、この依頼に応答して、一の端末（端末装置Ａ）に対して、他の端末（端末装置Ｂ）で所要の変更が行われた旨と、その変更内容を示す通知メッセージを送信する（ステップＳ１２２）。一の端末（端末装置Ａ）は、その通知メッセージを表示部１０に表示するとともに、ユーザに対して変更内容の確認を促し、且つ、必要であれば、データの再編集を促す（ステップＳ１２３）。
【００４０】
以上の動作を整理すると、以下のようになる。
図７は、第二の動作の説明図である。この図において、（ａ）は参考のために示す第一の動作の説明図である。この（ａ）に示すように、第一の動作では一の端末だけでデータＡを編集し、その編集結果（データＢ）でデータＡを更新しているので、データ不整合は発生しない。
【００４１】
一方、（ｂ）は第二の動作のうちデータ不整合が発生する場合の説明図である。この（ｂ）に示すように、一の端末でデータＡを編集中に通信途絶が発生した場合はその途絶寸前に一の端末の編集途中データＡａでデータＡを更新する。
そして、通信途絶の間に、他の端末で同じデータＡ（＝データＡａ）を編集し、その編集データＣでデータＡ（＝データＡａ）を更新した場合を考えると、たとえば、一の端末の通信復帰後に、その編集データＢでデータの更新を行ってしまった場合には、他の端末の編集結果（データＣ）が失われてしまうというデータ不整合が発生する。
【００４２】
（ｃ）は、前記の図５及び図６に対応した説明図である。（ｃ）に示すように、通信途絶中に他の端末でデータＡ（＝データＡａ）の編集を行う際には、まず、データＡ（＝データＡａ）の複製物（データＡ′）を作成する。そして、他の端末の編集結果（データＣ）でデータＡ（＝データＡａ）を更新するとともに、通信復帰後に、一の端末の編集結果（データＢ）でデータＡ（＝データＡａ）の複製物（データＡ′）を更新する。
このようにすると、前記（ｂ）のようなデータ不整合（データＣの喪失）を生じない。一の端末の編集結果であるデータＢと、他の端末の編集結果であるデータＣとがともに失われることなく、サーバ４の記憶部１４に存在し続けるからである。
【００４３】
ただし、このようにした場合は、元のデータＡ（＝データＡａ）について、異なる二つの更新データ（データＢとデータＣ）が存在してしまう。データＢは一の端末の編集結果、データＣは他の端末の編集結果である。データを一つにするためには、一の端末と二の端末の双方のユーザに対して相手側の端末の変更内容を通知し、どのような対処を行えばよいのかを選択させるようにすればよい。
【００４４】
対処の仕方はいろいろ考えられる。（ｄ）は対処の一例である。この（ｄ）の左側に示すように、データＢでデータＣを上書きすることも対処の一つである。データＢは先に編集を始めた一の端末の編集データであるから、この方法は「先編集優先」ということができる。または、この（ｄ）の右側に示すように、データＢを無効としてもよい（データＣをそのまま残してもよい）。データＣは後から編集を始めた他の端末の編集データであるから、この方法は「後編集優先」ということができる。なお、「先編集優先」及び「後編集優先」いずれの場合も、優先される編集内容を、非優先側端末のユーザに伝え、この優先される編集内容を加味した再編集を行わせるようにすることが望ましい。
【００４５】
以下、本発明の特徴を付記する。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
図８は、付記１の構成図である。
付記１は、データを記憶する記憶手段１００（実施形態の記憶部１４に相当）と、
端末１０１（実施形態の第一の端末装置２または第二の端末装置３のいずれか一方に相当）からの要求に応答して前記記憶手段１００からデータを読み出す読み出し手段１０２（実施形態の処理部１３に相当）と、
前記読み出し手段１０２によって読み出されたデータがすでに他の端末１０３（実施形態の第一の端末装置２または第二の端末装置３のいずれか他方に相当）によって編集中であるか否かを判定する第１の判定手段１０４（実施形態の処理部１３に相当）と、
前記第１の判定手段１０４の判定結果が肯定の場合に前記読み出し手段１０２によって読み出されたデータの複製物を生成する生成手段１０５（実施形態の処理部１３に相当）と、
前記端末１０１または前記他の端末１０３からの編集結果を受信する受信手段１０６（実施形態の通信部１２に相当）と、
前記受信手段１０６によって受信した編集結果に対応するデータの複製物が存在するか否かを判定する第２の判定手段１０７（実施形態の処理部１３に相当）と、
前記第２の判定手段１０７の判定結果が肯定の場合には前記受信手段１０６によって受信した編集結果で前記複製物を更新する一方、肯定でない場合には前記受信手段１０５によって受信した編集結果で前記データを更新する更新手段１０８（実施形態の処理部１３に相当）と
を備えたことを特徴とするデータ操作装置１０９（実施形態のサーバ４に相当）である。
（付記２）
付記２は、端末からの要求に応答して記憶手段からデータを読み出す読み出し工程と、
前記読み出し工程によって読み出されたデータがすでに他の端末によって編集中であるか否かを判定する第１の判定工程と、
前記第１の判定工程の判定結果が肯定の場合に前記読み出し工程によって読み出されたデータの複製物を生成する生成工程と、
前記端末または前記他の端末からの編集結果を受信する受信工程と、
前記受信工程によって受信した編集結果に対応するデータの複製物が存在するか否かを判定する第２の判定工程と、
前記第２の判定工程の判定結果が肯定の場合には前記受信工程によって受信した編集結果で前記複製物を更新する一方、肯定でない場合には前記受信工程によって受信した編集結果で前記データを更新する更新工程と
を含むことを特徴とするデータ操作方法である。
（付記３）
付記３は、コンピュータに、
端末からの要求に応答して記憶手段からデータを読み出す読み出し手段、
前記読み出し手段によって読み出されたデータがすでに他の端末によって編集中であるか否かを判定する第１の判定手段、
前記第１の判定手段の判定結果が肯定の場合に前記読み出し手段によって読み出されたデータの複製物を生成する生成手段、
前記端末または前記他の端末からの編集結果を受信する受信手段、
前記受信手段によって受信した編集結果に対応するデータの複製物が存在するか否かを判定する第２の判定手段、
前記第２の判定手段の判定結果が肯定の場合には前記受信手段によって受信した編集結果で前記複製物を更新する一方、肯定でない場合には前記受信手段によって受信した編集結果で前記データを更新する更新手段
としての機能を与えることを特徴とするプログラムである。
【符号の説明】
【００４６】
１００  記憶手段
１０１  端末
１０２  読み出し手段
１０３  他の端末
１０４  第１の判定手段
１０５  生成手段
１０６  受信手段
１０７  第２の判定手段
１０８  更新手段
１０９  データ操作装置
【図１】
2013171557.tif 000003
【図２】
2013171557.tif 000004
【図３】
2013171557.tif 000005
【図４】
2013171557.tif 000006
【図５】
2013171557.tif 000007
【図６】
2013171557.tif 000008
【図７】
2013171557.tif 000009
【図８】
2013171557.tif 000010