(57)【要約】【課題】共有のコンテンツに対する操作を行う際に、該コンテンツを使用中のユーザに悪影響を及ぼすことなく、また他のユーザが該コンテンツを使用中であることにより操作を後で再度行うことによるユーザの負担を軽減することを目的とする。【解決手段】Ｓ３０１の判断の結果、実行するコンテンツの操作の種類が削除あるいは移動であるならば、コンテンツを保持しているデータサーバーに対し、ネットワークを経由して操作の開始を指示し（Ｓ３０７）、それに対する応答として、データサーバーから操作実行の結果を受信し（Ｓ３０８）、受信した操作実行の結果を判断する（Ｓ３０９）。ここで、Ｓ３０９において、Ｓ３０７で指示した操作が即時実行可能であれば該操作を実行し、Ｓ３０７で指示した操作が即時実行できない場合は、後で実行するために操作予約を行う。【選択図】図３
2007213288.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された、コンテンツを保持するデータサーバーと、前記データサーバー上の前記コンテンツを参照するクライアントからなるネットワークシステムであって、
前記データサーバーは、前記コンテンツを保持する手段と、前記コンテンツに関する情報およびコンテンツデータ自体を送信する手段と、前記コンテンツ毎に実行中の操作と実行の予約をされている操作とを管理する手段と、前記クライアントから前記コンテンツに対する操作の指示を受ける手段と、前記指示が他の操作が実行中であるために実行できない場合に前記指示を記憶しておく手段と、前記指示が実行可能になった時点で記憶しておいた指示を実行する手段と、前記クライアントから要求された指示の結果を前記クライアントに通知する手段とを有することを特徴とし、
前記クライアントは、前記データサーバーからコンテンツ情報を得る手段と、前記コンテンツを一覧する手段と、前記データサーバーに対して前記コンテンツの操作を指示する手段と、前記データサーバーから前記指示の結果を得る手段と、前記結果が後で指示を実行の場合は一覧上の前記コンテンツの表示を変更する手段とを有することを特徴とするネットワークシステム。
【請求項２】
ネットワークを介して接続された、コンテンツを保持するデータサーバーと、前記データサーバー上の前記コンテンツを参照するクライアントからなるネットワークシステムであって、
前記データサーバーは、前記コンテンツを保持する手段と、前記コンテンツに関する情報およびコンテンツデータ自体を送信する手段と、前記コンテンツ毎に実行中の操作と実行の予約をされている操作とを管理する手段と、前記クライアントから前記コンテンツに対する操作の指示を受ける手段と、前記指示が前記コンテンツの複製である場合に前記コンテンツが変更中であるならば前記指示を記憶しておく手段と、前記コンテンツの変更が完了した時点で、記憶しておいた指示を実行する手段とを有することを特徴とし、
前記クライアントは、前記データサーバーからコンテンツ情報を得る手段と、前記コンテンツを一覧する手段と、前記データサーバーに対して前記コンテンツの複製を指示する手段と、前記データサーバーから前記指示の結果を得る手段と、前記結果が後で指示を実行の場合は複製先に通常のコンテンツとは異なる表示で複製後のコンテンツを表示する手段とを有することを特徴とするネットワークシステム。
【請求項３】
コンテンツに対する操作を管理する手段と、
クライアントからコンテンツに対する操作指示を受ける手段と、
前記指示が他の操作が実行中であるために実行できない場合に前記指示を記憶しておく手段と、
前記指示が実行可能になった時点で記憶しておいた指示を実行する手段と、
前記クライアントから要求された指示の結果を前記クライアントに通知する手段とを有することを特徴とするデータサーバー。
【請求項４】
クライアントからコンテンツに対する操作指示を受ける工程と、
前記指示が他の操作が実行中であるために実行できない場合に前記指示を記憶しておく工程と、
前記指示が実行可能になった時点で記憶しておいた指示を実行する工程と、
前記クライアントから要求された指示の結果を前記クライアントに通知する工程とを有することを特徴とするデータサーバーの操作方法。
【請求項５】
請求項４に記載の方法の各工程をコンピュータにて実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してコンテンツ情報およびコンテンツ自体をやり取りするネットワークシステム等に関するものである。
【背景技術】
【０００２】
従来、ネットワークを介して複数のユーザからアクセスされるコンテンツついて、あるユーザが使用中のコンテンツを他のユーザが削除／移動／改変する場合に対するポリシーとして、アクセス権以外の管理を行わない、使用中のコンテンツにロックをかけることにより、後からアクセスしたユーザからの削除／移動／改変は受け付けない、という２種類が挙げられる。
【０００３】
例えば、ＵＮＩＸ(登録商標)におけるネットワークファイルシステムであるＮＦＳにおいては、前者のポリシーが採用されており、アクセス権さえあれば他のユーザが参照中のコンテンツを削除／移動／改変することが可能である。
【０００４】
また、Ｍｉｃｒｏｓｏｆｔ社のＭｉｃｒｏｓｆｔ  Ｎｅｔｗｏｒｋにおいては、後者のポリシーが採用されており、たとえアクセス権があったとしても他のユーザが参照しているコンテンツは削除／移動／改変できないようになっている。
【０００５】
さらに、ネットワークを経由してコンテンツの削除を行うシステムにおいて、即時にコンテンツの削除を実行した結果、必要なコンテンツを失ってしまうことを回避する為の以下のような技術が開示されている。
【０００６】
ワークステーションがホスト計算機に登録してあるデータを削除する際に、ホスト計算機はワークステーションから削除要求が来ても実際には削除せず、データ管理情報のみを変更する。実際の削除はワークステーションがホスト計算機へのアクセスを終了した時点で実行する（例えば、特許文献１参照）。
【０００７】
【特許文献１】特許第３０４１８０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上記のＮＦＳと同様のポリシーを採用しているシステムにおいては、場合によっては使用しているコンテンツが途中でなくなってしまうという問題があった。
【０００９】
また、上記のＭｉｃｒｏｓｆｔ  Ｎｅｔｗｏｒｋと同様のポリシーを採用しているシステムにおいては、他のユーザが使用中のコンテンツはちょっとした変更／移動もできず、他のユーザが該コンテンツの使用を終えるまで操作を待たなくてはならないという問題があった。
【００１０】
さらに、特許文献１においては、主に削除操作の取り消しを可能にするという点に主眼があり、他のユーザからのコンテンツの削除については考慮されていない。そのため、前述のＮＦＳの例と同様に他のユーザのアクセス終了時に使用中のコンテンツが削除されてしまうという問題があった。
【００１１】
本発明は、このような従来の構成が有していた問題を解決しようとするものであり、共有のコンテンツに対する操作を行う際に、該コンテンツを使用中のユーザに悪影響を及ぼすことなく、また他のユーザが該コンテンツを使用中であることにより操作を後で再度行うことによるユーザの負担を軽減することを目的とする。また、その際にユーザが、他のユーザがコンテンツを使用中であるために指示が後で実行されることを、即時かつ明確に認識することを可能とすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明のネットワークシステムは、ネットワークを介して接続された、コンテンツを保持するデータサーバーと、前記データサーバー上の前記コンテンツを参照するクライアントからなるネットワークシステムであって、前記データサーバーは、前記コンテンツを保持する手段と、前記コンテンツに関する情報およびコンテンツデータ自体を送信する手段と、前記コンテンツ毎に実行中の操作と実行の予約をされている操作とを管理する手段と、前記クライアントから前記コンテンツに対する操作の指示を受ける手段と、前記指示が他の操作が実行中であるために実行できない場合に前記指示を記憶しておく手段と、前記指示が実行可能になった時点で記憶しておいた指示を実行する手段と、前記クライアントから要求された指示の結果を前記クライアントに通知する手段とを有することを特徴とし、前記クライアントは、前記データサーバーからコンテンツ情報を得る手段と、前記コンテンツを一覧する手段と、前記データサーバーに対して前記コンテンツの操作を指示する手段と、前記データサーバーから前記指示の結果を得る手段と、前記結果が後で指示を実行の場合は一覧上の前記コンテンツの表示を変更する手段とを有することを特徴とする。
また、本発明のネットワークシステムは、ネットワークを介して接続された、コンテンツを保持するデータサーバーと、前記データサーバー上の前記コンテンツを参照するクライアントからなるネットワークシステムであって、前記データサーバーは、前記コンテンツを保持する手段と、前記コンテンツに関する情報およびコンテンツデータ自体を送信する手段と、前記コンテンツ毎に実行中の操作と実行の予約をされている操作とを管理する手段と、前記クライアントから前記コンテンツに対する操作の指示を受ける手段と、前記指示が前記コンテンツの複製である場合に前記コンテンツが変更中であるならば前記指示を記憶しておく手段と、前記コンテンツの変更が完了した時点で、記憶しておいた指示を実行する手段とを有することを特徴とし、前記クライアントは、前記データサーバーからコンテンツ情報を得る手段と、前記コンテンツを一覧する手段と、前記データサーバーに対して前記コンテンツの複製を指示する手段と、前記データサーバーから前記指示の結果を得る手段と、前記結果が後で指示を実行の場合は複製先に通常のコンテンツとは異なる表示で複製後のコンテンツを表示する手段とを有することを特徴とする。
また、本発明のデータサーバーは、コンテンツに対する操作を管理する手段と、クライアントからコンテンツに対する操作指示を受ける手段と、前記指示が他の操作が実行中であるために実行できない場合に前記指示を記憶しておく手段と、前記指示が実行可能になった時点で記憶しておいた指示を実行する手段と、前記クライアントから要求された指示の結果を前記クライアントに通知する手段とを有することを特徴とする。
また、本発明のデータサーバーの操作方法は、クライアントからコンテンツに対する操作指示を受ける工程と、前記指示が他の操作が実行中であるために実行できない場合に前記指示を記憶しておく工程と、前記指示が実行可能になった時点で記憶しておいた指示を実行する工程と、前記クライアントから要求された指示の結果を前記クライアントに通知する工程とを有することを特徴とする。
また、本発明のコンピュータプログラムは、上記に記載の方法の各工程をコンピュータにて実行させることを特徴とする。
【発明の効果】
【００１３】
上述したように本発明のネットワークシステムは、共有のコンテンツに対する操作を行う際に、該コンテンツを使用中の他の操作に悪影響を及ぼすことなく指示することが可能で、かつ指示をしたクライアントあるいはユーザが、指示した操作はすぐには実行されないが、受け付けられたことを明確に理解することが可能となる。また、変更中のコンテンツに対して複製を指示した際に、指示の後の変更も複製された側のコンテンツにも反映することが可能になる。また、複製が実行される以前に複製先に複製されたコンテンツが後で生成されることを認識することが可能となる効果がある。
【発明を実施するための最良の形態】
【００１４】
（第１の実施の形態）
以下、図面を参照して本発明の好適な実施の形態を詳細に説明する。図１は本発明の実施の形態に係るネットワークシステムの全体構成の一例を示す概念図である。
【００１５】
図１において、１１０はコンテンツを保持するデータサーバーであり、 データサーバー１１０はコンテンツの状態を管理するためのコンテンツ管理情報１１１をコンテンツ毎に有している。
【００１６】
１２０、１４０、１５０はそれぞれデータサーバー上のコンテンツに対して様々な操作を行うクライアントである。１３０はデータサーバーおよびクライアントを接続し、それらの間でデータおよび命令のやり取りを行うためのネットワークである。
【００１７】
クライアント１２０、１４０、１５０はそれぞれ、ネットワーク１３０を通じてコマンドを送ることにより、データサーバー１１０が保持するコンテンツに対して再生、編集、削除、移動などの操作を行う。
【００１８】
図２は本発明におけるデータサーバーのハードウェア構成の一例を示すブロック図である。２０２はＣＰＵであり、各種処理のための演算や論理判断等を行い、バス２０１に接続された各構成要素を制御する。
【００１９】
本装置には、プログラムメモリとデータメモリを含むメモリが搭載されている。プログラムメモリには、フローチャートにつき後述する処理手順を含むＣＰＵによる制御のためのプログラムを格納する。
【００２０】
メモリはＲＯＭ２０３であっても良いし外部記憶装置などからプログラムがロードされるＲＡＭ２０４であっても良い。２０５はコンテンツ、データ、プログラムを記憶しておくためのハードディスクなどの記憶装置である。
【００２１】
２０６はユーザからの情報を入力するための入力装置であり、この装置はマウス、タッチパネル、キーボードなどである。２０８は分析されたデータ出力情報を出力する出力装置であり、ＣＲＴや液晶表示器などの表示装置である。
【００２２】
２０７はネットワークＩ／Ｆであり、ネットワークで接続されたクライアントとのやり取りを行う。
【００２３】
図３は本実施の形態におけるクライアントのコンテンツ操作処理の流れの一例を示すフローチャートである。図において、Ｓ３０１からＳ３１０は各ステップを表す。
【００２４】
まず、クライアントは実行するコンテンツの操作の種類が削除あるいは移動であるか否かを判断する（Ｓ３０１）。
【００２５】
該判断の結果、操作の種類が削除でも移動でもなければ、該コンテンツを保持しているデータサーバーに対し、ネットワークを経由して操作の開始を通知する（Ｓ３０２）。なお、該操作開始通知には、操作対象コンテンツ、および行う操作の種類、その他必要な情報が含まれるものとする。
【００２６】
次に、該コンテンツを保持しているデータサーバーにネットワークを経由して命令を行うことにより、該操作を実行する（Ｓ３０３）。
【００２７】
そして、実行した操作の種類がコンテンツの再生などの参照や、編集などの変更であるか否かを判断し（Ｓ３０４）、実行した操作の種類が参照あるいは変更であるならば、操作対象コンテンツを保持しているデータサーバーに操作の終了を通知する（Ｓ３０５）。その際、該操作終了通知には、操作対象コンテンツ、および行う操作の種類が含まれるものとする。
【００２８】
その後、操作結果を反映するために、画面表示をデータサーバーからの情報に基づいて最新の状態に更新し（Ｓ３０６）、処理を終了する。
【００２９】
Ｓ３０１の判断の結果、実行するコンテンツの操作の種類が削除あるいは移動であるならば、該コンテンツを保持しているデータサーバーに対し、ネットワークを経由して操作の開始を指示し（Ｓ３０７）、それに対する応答として、該データサーバーから操作実行の結果を受信し（Ｓ３０８）、受信した操作実行の結果を判断する（Ｓ３０９）。
【００３０】
ここで、該操作実行の結果には、操作完了と操作予約がある。操作完了は、Ｓ３０７で指示した操作が即時実行可能であれば該操作を実行し、該操作の完了を通知するものであり、操作予約はＳ３０７で指示した操作が即時実行できないために、後で実行するための予約が行われたことを通知するものである。
【００３１】
Ｓ３０９の判断の結果、データサーバーから受信した操作実行結果が操作完了であれば、Ｓ３０６の処理に移り、データサーバーから受信した操作実行結果が操作予約であれば、操作が予約された状態であることをユーザに通知するために、画面上の操作対象コンテンツアイコンの表示を変更し（Ｓ３１０）、処理を終了する。
【００３２】
図４は本発明におけるデータサーバーのメイン処理の流れの一例を示すフローチャートである。図において、Ｓ４０１からＳ４０９は各ステップを表す。
【００３３】
まず、サーバーの初期化処理を行い（Ｓ４０１）、クライアントからの要求を受信する（Ｓ４０２）。
【００３４】
次に、受信した要求が操作開始通知であるか否かを判断し（Ｓ４０３）、操作開始通知であるならば操作開始処理を行い（Ｓ４０７）、Ｓ４０２の処理に戻る。Ｓ４０３の判断の結果、要求が操作開始要求でないならば、受信した要求が操作実行要求であるか否かを判断し（Ｓ４０４）、操作実行要求であるならば、操作実行処理を行い（Ｓ４０８）、Ｓ４０２の処理に戻る。
【００３５】
Ｓ４０４の判断の結果、要求が操作実行要求でないならば、受信した要求が操作終了通知であるか否かを判断し（Ｓ４０５）、操作終了通知であるならば操作終了処理を行い（Ｓ４０９）、操作終了通知でもなければ、要求に応じたその他の処理を行い（Ｓ４０６）、Ｓ４０２の処理に戻り一連の処理を繰り返す。
【００３６】
図５は本実施の形態におけるデータサーバーのコンテンツ管理情報のデータ構造を示す概念図である。図５において、１１１はコンテンツ管理情報のデータ構造全体である。該データ構造はデータサーバーのＲＡＭ２０４あるいは記憶装置２０５に保持されており、コンテンツと１対１の関係で存在する。
【００３７】
また、該データ構造はコンテンツの追加／生成・更新・削除などに応じて、適宜生成・更新・削除される。データ構造１１１の各行すなわち５０１から５０５は、１つのデータ項目を表しており、各行が何を表わしているかが左側に、実際のデータの値が右側に書かれている。なお、左側の説明はわかりやすさのために記載したものであり、実際には存在しないものである。５０１は参照カウンタであり、データ構造が対応するコンテンツがその時点でどれだけの数参照されているかを示す。
【００３８】
参照カウンタは、０以上の正数であり、図では値が０となっており、現在このコンテンツがどのクライアントからも参照中でも変更中でもないことを表している。５０２は削除予約フラグであり、コンテンツが削除される予定になっているか否かを示す。
【００３９】
削除予約フラグはｔｒｕｅ（真）、あるいはｆａｌｓｅ（偽）のいずれかの値である。図では値がｆａｌｓｅとなっており、現在このコンテンツが削除される予定になっていないことを表す。
【００４０】
５０３は移動予約フラグであり、コンテンツが移動される予定になっているか否かを示す。移動予約フラグはｔｒｕｅ（真）、あるいはｆａｌｓｅ（偽）のいずれかの値である。図では値がｆａｌｓｅとなっており、現在このコンテンツが移動される予定になっていないことを表す。５０４は移動先を示すＵＲＩ文字列へのポインタの格納場所である。
【００４１】
ここでＵＲＩとはＵｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒの略であり、ネットワーク上に存在する情報資源（ここではコンテンツ）の場所を一意に指し示す記述方式のことである。
【００４２】
５０４はコンテンツの移動実行時および移動予約時に移動先を示すＵＲＩ文字列へのポインタを格納し、それ以外の場合にはＮＵＬＬポインタを格納する。図では、移動先を示すＵＲＩ文字列へのポインタがＮＵＬＬポインタとなっており、移動先が指定されていない状態を表す。
【００４３】
５０５は変更中フラグであり、コンテンツが編集など変更中であるか否かを示す。変更中フラグはｔｒｕｅ（真）、あるいはｆａｌｓｅ（偽）のいずれかの値である。図では値がｆａｌｓｅとなっており、現在このコンテンツが変更されていないことを表す。
【００４４】
図６は本実施の形態におけるデータサーバーのコンテンツに対する操作開始処理の流れを示すフローチャートである。図において、Ｓ６０１からＳ６１７は各ステップを表す。
【００４５】
まず、クライアントから受信した操作の種類を判断し（Ｓ６０１）、操作の種類がコンテンツの移動であれば、該コンテンツが移動予約状態か否かを判断し（Ｓ６０２）、移動予約中であれば、移動予約先ＵＲＩ５０４に格納されたポインタの指す実際の移動先ＵＲＩ文字列を解放した（Ｓ６０３）後、移動先ＵＲＩ文字列を保持するための領域を確保し、該領域へのポインタを移動予約先ＵＲＩ５０４に格納した上で、クライアントから指定された移動先ＵＲＩを該領域に複製して覚えておく（Ｓ６０４）。
【００４６】
次に、参照カウンタ５０１の値が０であるか否かを判断することにより、移動しようとしているコンテンツが他のクライアントから参照／変更中であるか否かを判断する（Ｓ６０５）。
【００４７】
該判断の結果、参照カウンタが０ではない、すなわち移動しようとしているコンテンツが他のクライアントから参照／変更中であるならば、移動予約フラグ５０３をｔｒｕｅにすることで、該コンテンツを移動予約状態とし（Ｓ６０６）、操作の実行結果が操作予約状態であることを該コンテンツの移動を要求したクライアントに通知して（Ｓ６０７）、処理を終了する。
【００４８】
Ｓ６０５の判断の結果、参照カウンタが０である、すなわち移動しようとしているコンテンツが他のクライアントから参照／変更中ではないならば、該コンテンツの移動処理を実行し（Ｓ６０８）、操作の実行結果が実行完了であることを該コンテンツの移動を要求したクライアントに通知して（Ｓ６０９）、処理を終了する。
【００４９】
Ｓ６０１の判断の結果、操作の種類がコンテンツの削除であれば、参照カウンタ５０１の値が０であるか否かを判断することにより、削除しようとしているコンテンツが他のクライアントから参照／変更中であるか否かを判断する（Ｓ６１０）。
【００５０】
該判断の結果、参照カウンタが０である、すなわち削除しようとしているコンテンツが他のクライアントから参照／変更中ではないならば、該コンテンツの削除処理を実行し（Ｓ６１１）、Ｓ６０９の処理に移る。Ｓ６１０の判断の結果、参照カウンタが０ではない、すなわち削除しようとしているコンテンツが他のクライアントから参照／変更中であるならば、削除予約フラグ５０２をｔｒｕｅにすることで、該コンテンツを削除予約状態とし（Ｓ６１２）、操作の実行結果が操作予約状態であることを該コンテンツの削除を要求したクライアントに通知して（Ｓ６１３）、処理を終了する。
【００５１】
Ｓ６０１の判断の結果、操作の種類がコンテンツの変更であれば、参照カウンタ５０１の値に１を加えて（Ｓ６１４）、変更中フラグ５０５をｔｒｕｅにすることで、該コンテンツが変更中であることを設定し（Ｓ６１５）、処理を終了する。
【００５２】
Ｓ６０１の判断の結果、操作の種類がコンテンツの参照であれば、参照カウンタ５０１の値に１を加えて（Ｓ６１６）、処理を終了する。
【００５３】
Ｓ６０１の判断の結果、操作の種類がコンテンツの移動／削除／変更／参照のいずれにも当てはまらない場合には、該操作の種類に応じた操作の開始処理を行い（Ｓ６１７）、処理を終了する。
【００５４】
図７は本発明におけるデータサーバーのコンテンツ削除処理の流れの一例を示すフローチャートである。図において、Ｓ７０１からＳ７０２は各ステップを表す。
【００５５】
まず、コンテンツ自体を削除し（Ｓ７０１）、次にデータサーバーのＲＡＭ２０４あるいは記憶装置２０５に保持されている該コンテンツに対応するコンテンツ管理情報１１１を削除し（Ｓ７０２）、処理を終了する。
【００５６】
図８は本発明におけるデータサーバーのコンテンツ移動処理の流れの一例を示すフローチャートである。図において、Ｓ８０１からＳ８０２は各ステップを表す。
【００５７】
まず、コンテンツを移動先ＵＲＩ５０４に格納されたポインタが指すＵＲＩに移動し（Ｓ８０１）、次に該ポインタの指す実際の移動先ＵＲＩ文字列を解放した後、移動予約先ＵＲＩ５０４にＮＵＬＬポインタを格納することで移動先が設定されていない状態にして（Ｓ８０２）、処理を終了する。
【００５８】
図９は本実施の形態におけるデータサーバーのコンテンツに対する操作終了処理の流れの一例を示すフローチャートである。図において、Ｓ９０１からＳ９０９は各ステップを表す。
【００５９】
まず、クライアントから受信した操作対象コンテンツの管理情報中の参照カウンタ５０１の値を１減らす（Ｓ９０１）。
【００６０】
次に、該参照カウンタ５０１の値が０である、すなわち終了する参照／変更がその時点で該コンテンツの最後の参照／変更であるか否かを判断する（Ｓ９０２）。
【００６１】
該判断の結果、参照カウンタ５０１の値が０である、すなわち他に実行中の参照／変更がないならば、該コンテンツは削除予約されているか否かを削除予約フラグ５０２がｔｒｕｅであるか否かによって判断し（Ｓ９０３）、削除予約中であれば該コンテンツの削除処理を実行し（Ｓ９０９）、処理を終了する。
【００６２】
Ｓ９０３の判断の結果、該コンテンツが削除予約されていなければ、該コンテンツが移動予約されているか否かを移動予約フラグ５０３がｔｒｕｅであるか否かによって判断し（Ｓ９０４）、移動予約中であれば該コンテンツの移動処理を実行し（Ｓ９０５）、移動予約フラグ５０３をｆａｌｓｅに設定する。
【００６３】
それから、終了する操作が該コンテンツの変更操作であるか否かをクライアントから受信した操作終了要求に含まれる操作の種類により判断し（Ｓ９０７）、変更操作であるならば変更中フラグ５０５の値をｆａｌｓｅにして（Ｓ９０８）処理を終了する。
【００６４】
Ｓ９０２の判断の結果、参照カウンタ５０１の値が０でない、すなわち他に実行中の参照／変更があるならば、Ｓ９０７の処理に移る。
【００６５】
図１０は本実施の形態におけるクライアントで表示される通常のコンテンツ一覧を表す概念図である。図において、１０００はデータサーバー上に保持されているコンテンツの一覧を表示する領域全体である。１００１から１００４はそれぞれ１つのコンテンツを表しており、サムネール画像とそのタイトルが表示されている。
【００６６】
図１１は本実施の形態におけるクライアントで表示される削除／移動予約中のコンテンツを含むコンテンツ一覧を表す概念図である。図において、１１０１は図１０の１００１と同一のコンテンツが削除あるいは移動の予約状態になったものを表している。これは、コンテンツ一覧を表示しているクライアントから、コンテンツ１００１の削除あるいは移動操作を行ったが、該コンテンツが参照あるいは変更中であったために、指示した削除あるいは移動操作がすぐに実行できなかったこと、および指示した削除あるいは移動操作は、該コンテンツに対するすべての参照および変更操作が終了した時点で実行されることを示している。
【００６７】
以上のように、本実施の形態のネットワークシステムにおいては、複数のクライアントあるいはユーザが同一のデータサーバー上のコンテンツを操作可能な環境において、他のクライアントあるいはユーザが参照あるいは変更中のコンテンツの移動および削除を、参照あるいは変更中のクライアントあるいはユーザに迷惑をかけることなく指示することが可能で、かつ指示をしたクライアントあるいはユーザが、指示を受け付けたが操作はすぐには実行されないことを明確に理解可能になる。
【００６８】
（第２の実施形態）
本実施の形態においては、他のクライアントあるいはユーザから変更中のコンテンツを複製する場合について、図面を参照しながら説明する。図１２は本実施の形態におけるクライアントのコンテンツ操作処理の流れの一例を示すフローチャートである。図において、Ｓ１２０１からＳ１２１０は各ステップを表す。
【００６９】
まず、クライアントは実行するコンテンツの操作の種類が複製であるか否かを判断する（Ｓ１２０１）。
【００７０】
該判断の結果、操作の種類が複製でなければ、該コンテンツを保持しているデータサーバーに対し、ネットワークを経由して操作の開始を通知する（Ｓ１２０２）。なお、該操作開始通知には、操作対象コンテンツ、および行う操作の種類、その他必要な情報が含まれるものとする。
【００７１】
次に、該コンテンツを保持しているデータサーバーにネットワークを経由して命令を行うことにより、該操作を実行する（Ｓ１２０３）。
【００７２】
そして、実行した操作の種類がコンテンツの編集などの変更であるか否かを判断し（Ｓ１２０４）、実行した操作の種類が変更であるならば、操作対象コンテンツを保持しているデータサーバーに操作の終了を通知する（Ｓ１２０５）。その際、該操作終了通知には、操作対象コンテンツ、および行う操作の種類が含まれるものとする。
【００７３】
その後、操作結果を反映するために、画面表示をデータサーバーからの情報に基づいて最新の状態に更新し（Ｓ１２０６）、処理を終了する。
【００７４】
Ｓ１２０１の判断の結果、実行するコンテンツの操作の種類が複製であるならば、該コンテンツを保持しているデータサーバーに対し、ネットワークを経由して対象と複製先を指定して複製の開始を指示し（Ｓ１２０７）、それに対する応答として、該データサーバーから操作実行の結果を受信し（Ｓ１２０８）、受信した操作実行の結果を判断する（Ｓ１２０９）。ここで、該操作実行の結果には、操作完了と操作予約がある。
【００７５】
操作完了は、Ｓ１２０７で指示した操作が即時実行可能であれば該操作を実行し、該操作の完了を通知するものであり、操作予約はＳ１２０７で指示した複製が即時実行できないために、後で実行するための予約が行われたことを通知するものである。
【００７６】
Ｓ１２０９の判断の結果、データサーバーから受信した操作実行結果が操作完了であれば、Ｓ１２０６の処理に移り、データサーバーから受信した操作実行結果が操作予約であれば、画面上の複製先を示す表示領域に複製が予約された状態であることをユーザに通知するために、複製予約コンテンツアイコンの表示を変更し（Ｓ１２１０）、処理を終了する。
【００７７】
図１３は本実施の形態におけるデータサーバーのコンテンツ管理情報のデータ構造を示す概念図である。図において、１１１はコンテンツ管理情報のデータ構造全体である。該データ構造はデータサーバーのＲＡＭ２０４あるいは記憶装置２０５に保持されており、コンテンツと１対１の関係で存在する。
【００７８】
データ構造１１１の各行すなわち１３０１から１３０８は、１つのデータ項目を表しており、各行が何を表わしているかが左側に、実際のデータの値が右側に書かれている。なお、左側の説明はわかりやすさのために記載したものであり、実際には存在しないものである。
【００７９】
１３０１は参照カウンタであり、データ構造が対応するコンテンツがその時点でどれだけの数参照されているかを示す。参照カウンタは、０以上の正数であり、図では値が０となっており、現在このコンテンツがどのクライアントからも参照中でも変更中でもないことを表している。
【００８０】
１３０２は削除予約フラグであり、コンテンツが削除される予定になっているか否かを示す。削除予約フラグはｔｒｕｅ（真）、あるいはｆａｌｓｅ（偽）のいずれかの値である。図では値がｆａｌｓｅとなっており、現在このコンテンツが削除される予定になっていないことを表す。
【００８１】
１３０３は移動予約フラグであり、コンテンツが移動される予定になっているか否かを示す。移動予約フラグはｔｒｕｅ（真）、あるいはｆａｌｓｅ（偽）のいずれかの値である。図では値がｆａｌｓｅとなっており、現在このコンテンツが移動される予定になっていないことを表す。１３０４は移動先を示すＵＲＩ文字列へのポインタの格納場所である。
【００８２】
１３０４はコンテンツの移動実行時および移動予約時に移動先を示すＵＲＩ文字列へのポインタを格納し、それ以外の場合にはＮＵＬＬポインタを格納する。図では、移動先を示すＵＲＩ文字列へのポインタがＮＵＬＬポインタとなっており、移動先が指定されていない状態を表す。
【００８３】
１３０５は変更中フラグであり、コンテンツが編集など変更中であるか否かを示す。変更中フラグはｔｒｕｅ（真）、あるいはｆａｌｓｅ（偽）のいずれかの値である。図では値がｆａｌｓｅとなっており、現在このコンテンツが変更されていないことを表す。
【００８４】
１３０６は複製予約フラグであり、コンテンツが複製される予定になっているか否かを示す。複製予約フラグはｔｒｕｅ（真）、あるいはｆａｌｓｅ（偽）のいずれかの値である。図では値がｆａｌｓｅとなっており、現在このコンテンツが複製される予定になっていないことを表す。
【００８５】
１３０７は複製先を示すＵＲＩ文字列へのポインタの格納場所である。１３０７はコンテンツの複製実行時および複製予約時に複製先を示すＵＲＩ文字列へのポインタを格納し、それ以外の場合にはＮＵＬＬポインタを格納する。図では、複製先を示すＵＲＩ文字列へのポインタがＮＵＬＬポインタとなっており、複製先が指定されていない状態を表す。
【００８６】
１３０８はコンテンツの複製予約時に複製完了通知先を示す文字列へのポインタを格納し、それ以外の場合にはＮＵＬＬポインタを格納する。図では、複製完了通知先を示す文字列へのポインタがＮＵＬＬポインタとなっており、複製完了先が指定されていない状態を表す。
【００８７】
図１４は本実施の形態におけるデータサーバーのコンテンツに対する操作開始処理の流れを示すフローチャートである。図において、Ｓ１４０１からＳ１４１２は各ステップを表す。
【００８８】
まず、クライアントから受信した操作の種類がコンテンツの複製であるか否かを判断し（Ｓ１４０１）、操作の種類が複製であれば、複製先ＵＲＩ文字列を保持するための領域を確保し、該領域へのポインタを複製予約先ＵＲＩ１３０７に格納した上で、クライアントから指定された移動先ＵＲＩを該領域に複製して覚えておく（Ｓ１４０２）。
【００８９】
次に、該コンテンツが変更中であるか否かを変更中フラグ１３０５がｔｒｕｅであるか否かを調べて判断し（Ｓ１４０３）、該コンテンツが変更中であれば、複製予約フラグ１３０６をｔｒｕｅにすることで、該コンテンツを複製予約状態とし（Ｓ１４０４）、複製完了通知先文字列を保持するための領域を確保し、該領域へのポインタを複製完了通知先１３０８に格納した上で、複製を指示したクライアントを示す文字列を該領域に複製して覚えておく（Ｓ１４０５）。
【００９０】
それから、操作の実行結果が操作予約状態であることを該コンテンツの削除を要求したクライアントに通知して（Ｓ１４０６）、処理を終了する。
【００９１】
Ｓ１４０３の判断の結果、操作対象コンテンツが変更中でないならば、該コンテンツの移動処理を実行し（Ｓ１４０７）、操作の実行結果が実行完了であることを該コンテンツの移動を要求したクライアントに通知して（Ｓ１４０８）、処理を終了する。
【００９２】
Ｓ１４０１の判断の結果、クライアントから受信した操作の種類がコンテンツの複製でなければ、操作の種類が変更であるか否かを判断し（Ｓ１４０９）、操作の種類がコンテンツの変更であれば、参照カウンタ５０１の値に１を加えて（Ｓ１４１０）、変更中フラグ１３０５をｔｒｕｅにすることで、該コンテンツが変更中であることを設定し（Ｓ１４１１）、処理を終了する。
【００９３】
Ｓ１４０９の判断の結果、操作の種類がコンテンツの変更でない場合には、該操作の種類に応じた操作の開始処理を行い（Ｓ１４１２）、処理を終了する。
【００９４】
図１５は本実施の形態におけるデータサーバーのコンテンツ複製処理の流れの一例を示すフローチャートである。図において、Ｓ１５０１からＳ１５０３は各ステップを表す。
【００９５】
まず、コンテンツを複製先ＵＲＩ１３０７に格納されたポインタが指すＵＲＩに移動し（Ｓ１５０１）、該コンテンツに対応するコンテンツ管理情報１１１を新規に生成し（Ｓ１５０２）する。
【００９６】
次に、複製元コンテンツのコンテンツ管理情報１１１の複製先ＵＲＩ１３０７に格納されたポインタの指す実際の複製先ＵＲＩ文字列を解放した後、複製先ＵＲＩ１３０７にＮＵＬＬポインタを格納することで複製先が設定されていない状態にして（Ｓ１５０３）、処理を終了する。
【００９７】
図１６は本実施の形態におけるデータサーバーのコンテンツに対する操作終了処理の流れの一例を示すフローチャートである。図において、Ｓ１６０１からＳ１６０９は各ステップを表す。
【００９８】
まず、クライアントから受信した操作対象コンテンツの管理情報中の参照カウンタ５０１の値を１減らす（Ｓ１６０１）。
【００９９】
次に、終了する操作が該コンテンツの変更操作であるか否かをクライアントから受信した操作終了要求に含まれる操作の種類により判断し（Ｓ１６０２）、変更操作であるならば、該コンテンツが複製予約されているか否かを複製予約フラグ１３０６がｔｒｕｅであるか否かによって判断する（Ｓ１６０３）。
【０１００】
該コンテンツが複製予約中であれば該コンテンツの複製処理を実行し（Ｓ１６０４）、複製完了通知先１３０８に保持されている複製完了を通知すべきクライアントにコンテンツの複製完了を通知し（Ｓ１６０５）、該ポインタの指す実際の複製完了を通知すべきクライアントを示す文字列を解放した後、複製完了通知先１３０８にＮＵＬＬポインタを格納することで複製完了通知先が設定されていない状態にする（Ｓ１６０６）。
【０１０１】
その後、複製予約フラグ１３０６をｆａｌｓｅに設定し（Ｓ１６０７）、変更中フラグ１３０５の値をｆａｌｓｅにして（Ｓ１６０８）、処理を終了する。
【０１０２】
Ｓ１６０２の判断の結果、終了する操作がコンテンツの変更操作でなければ、処理を終了する。
【０１０３】
Ｓ１６０３の判断の結果、該コンテンツが複製予約されていなければ、Ｓ１６０８の処理に移る。
【０１０４】
図１７は本実施の形態におけるクライアントで表示されるコンテンツ複製前のコンテンツ一覧を表す概念図である。図において、１７１０はデータサーバー上に保持されている複製元のコンテンツの一覧を表示する領域である。
【０１０５】
１７１１から１７１３はそれぞれ１つのコンテンツを表しており、サムネール画像とそのタイトルが表示されている。１７２０はコンテンツの複製先を表す領域である。
【０１０６】
図１８は本実施の形態におけるクライアントで表示される複製予約中のコンテンツを含むコンテンツ一覧を表す概念図である。図において、１８２１は図１７のコンテンツ１７１１の複製が複製予約状態になったものを表わしている。
【０１０７】
これは、コンテンツ一覧を表示しているクライアントから、コンテンツ１７１１の１７１０の領域から１７２０の領域への複製操作を行ったが、該コンテンツが変更中であったために、指示した複製操作がすぐに実行できなかったこと、および指示した複製操作は、該コンテンツに対する変更操作が終了した時点で実行され、領域１７２０には変更後のコンテンツが複製されることを示している。
【０１０８】
以上のように、本実施の形態のネットワークシステムにおいては、変更中のコンテンツに対して複製を指示した際に、指示の後の変更も複製された側のコンテンツにも反映することが可能になる。
【０１０９】
また、複製が実行される以前に複製先に複製されたコンテンツが後で生成されることを認識することが可能となる。
【０１１０】
また、本発明に係るネットワークシステムにおいて、コンテンツに対する操作要求を行ったユーザが管理者権限を有する場合には、該要求を常に即時に実行するように構成しても良い。また、本発明の第２の実施の形態に記載のコンテンツ管理情報において、複製先ＵＲＩおよび複製完了通知先を複数持てる構造とし、図１５のコンテンツ複製処理は該複数の複製先ＵＲＩに順にコンテンツを複製し、図１６のＳ１６０５、Ｓ１６０６を保持する複製完了通知先分だけ繰り返すように構成しても良い。
【図面の簡単な説明】
【０１１１】
【図１】本発明の実施の形態に係るネットワークシステムの全体構成の一例を示す図である。
【図２】本発明の実施の形態に係るデータサーバーの構成を示すブロック図である。
【図３】本発明の第１の実施の形態におけるクライアントのコンテンツ操作処理の流れの一例を示すフローチャートである。
【図４】本発明の第１の実施の形態におけるデータサーバーのメイン処理の流れの一例を示すフローチャートである。
【図５】本発明の第１の実施の形態におけるデータサーバーのコンテンツ管理情報のデータ構造を示す概念図である。
【図６】本発明の第１の実施の形態におけるデータサーバーのコンテンツに対する操作開始処理の流れを示すフローチャートである。
【図７】本発明の第１の実施の形態におけるデータサーバーのコンテンツ削除処理の流れの一例を示すフローチャートである。
【図８】本発明の第１の実施の形態におけるデータサーバーのコンテンツ移動処理の流れの一例を示すフローチャートである。
【図９】本発明の第１の実施の形態におけるデータサーバーのコンテンツに対する操作終了処理の流れの一例を示すフローチャートである。
【図１０】本発明の第１の実施の形態におけるクライアントで表示される通常のコンテンツ一覧を表す概念図である。
【図１１】本発明の第１の実施の形態におけるクライアントで表示される削除／移動予約中のコンテンツを含むコンテンツ一覧を表す概念図である。
【図１２】本発明の第２の実施の形態におけるクライアントのコンテンツ操作処理の流れの一例を示すフローチャートである。
【図１３】本発明の第２の実施の形態におけるデータサーバーのコンテンツ管理情報のデータ構造を示す概念図である。
【図１４】本発明の第２の実施の形態におけるデータサーバーのコンテンツに対する操作開始処理の流れを示すフローチャートである。
【図１５】本発明の第２の実施の形態におけるデータサーバーのコンテンツ複製処理の流れの一例を示すフローチャートである。
【図１６】本発明の第２の実施の形態におけるデータサーバーのコンテンツに対する操作終了処理の流れの一例を示すフローチャートである。
【図１７】本発明の第２の実施の形態におけるクライアントで表示されるコンテンツ複製前のコンテンツ一覧を表す概念図である。
【図１８】本発明の第２の実施の形態におけるクライアントで表示される複製予約中のコンテンツを含むコンテンツ一覧を表す概念図である。
【符号の説明】
【０１１２】
１１０  データサーバー
１１１  コンテンツ管理情報
１２０  クライアント
１３０  ネットワーク
１４０  クライアント
１５０  クライアント
２０１  バス
２０２  ＣＰＵ
２０３  ＲＯＭ
２０４  ＲＡＭ
２０５  記憶装置
２０６  入力装置
２０７  ネットワークＩ／Ｆ
２０８  出力装置
５０１  参照カウンタ
５０２  削除予約フラグ
５０３  移動予約フラグ
５０４  移動先ＵＲＩ文字列へのポインタ格納領域
５０５  変更中フラグ
１０００  コンテンツの一覧を表示する領域
１００１〜１００４  コンテンツ
１１０１  削除あるいは移動予約中コンテンツアイコン
１３０１  参照カウンタ
１３０２  削除予約フラグ
１３０３  移動予約フラグ
１３０４  移動先ＵＲＩ文字列へのポインタ格納領域
１３０５  変更中フラグ
１３０６  複製予約フラグ
１３０７  複製先ＵＲＩ文字列へのポインタ格納領域
１３０８  複製完了通知先を示す文字列へのポインタ格納領域
１７１０  複製元のコンテンツ一覧表示領域
１７１１〜１７１３  コンテンツ
１７２０  コンテンツの複製先表示領域
１８２１  複製予約状態コンテンツアイコン
【図１】
2007213288.tif 000003
【図２】
2007213288.tif 000004
【図３】
2007213288.tif 000005
【図４】
2007213288.tif 000006
【図５】
2007213288.tif 000007
【図６】
2007213288.tif 000008
【図７】
2007213288.tif 000009
【図８】
2007213288.tif 000010
【図９】
2007213288.tif 000011
【図１０】
2007213288.tif 000012
【図１１】
2007213288.tif 000013
【図１２】
2007213288.tif 000014
【図１３】
2007213288.tif 000015
【図１４】
2007213288.tif 000016
【図１５】
2007213288.tif 000017
【図１６】
2007213288.tif 000018
【図１７】
2007213288.tif 000019
【図１８】
2007213288.tif 000020