(57)【要約】【課題】  同時操作を許容する、つまり複数の利用者が同時に異なる操作を行なっても、すべての利用者で操作が同じ順番で発生する、また、操作を同期できないタイミングのないＷＥＢコンテンツ同期システム、端末およびＷＥＢコンテンツ同期方法を提供する。【解決手段】  ＷＥＢコンテンツ制御部１１において、利用者による操作に対する処理の実行を抑止し、処理の実行命令としてすべての利用者に送信して実行させ、またページ遷移中の操作を禁止状態にする。【選択図】  図１
2006202228.tif 000002
【特許請求の範囲】
【請求項１】
複数の利用者によりＷＥＢコンテンツへの操作を同期するＷＥＢコンテンツ同期システムにおいて、共有命令を受信した順番ですべての利用者に転送する共有サーバと、ＷＥＢコンテンツを表示し制御する複数のＷＥＢブラウザとを備え、
前記ＷＥＢブラウザは、ＷＥＢコンテンツの操作による動的変化を検知する操作検知手段と、
埋め込み処理を行い前記操作検知手段をＷＥＢコンテンツに埋め込む埋め込み手段と、
操作に対する処理の実行を抑止する実行抑止手段と、
利用者操作によって発生した動的変化か共有命令によって発生した動的変化かを判別する操作区分判別手段と、
共有命令を生成する共有命令発行手段と、
前記共有サーバと共有命令の送受信を行なう通信手段と、
受信した共有命令の内容を判別する共有命令判別手段と、
操作に対する内部処理を実行する操作実行手段と、
を備えたことを特徴とするＷＥＢコンテンツ同期システム。
【請求項２】
複数の利用者によりＷＥＢコンテンツへの操作を同期するＷＥＢコンテンツ同期システムにおいて、共有命令を受信した順番ですべての利用者に転送する共有サーバと、ＷＥＢコンテンツを表示し制御する複数のＷＥＢブラウザとを備え、
前記ＷＥＢブラウザは、ＷＥＢコンテンツのページ遷移を検知するページ遷移検知手段と、
埋め込み処理を行い前記ページ遷移検知手段をＷＥＢコンテンツに埋め込み、埋め込み処理の完了を通知する埋め込み手段と、
利用者ごとの埋め込み処理完了状態を記憶する埋め込み状態蓄積手段と、
ページ遷移を検知したときにＷＥＢコンテンツへの操作を禁止し前記埋め込み状態蓄積手段のデータを埋め込み未完了状態に変更する操作禁止手段と、
埋め込み処理完了通知を受け共有命令を生成する共有命令発行手段と、
前記共有サーバと共有命令の送受信を行なう通信手段と、
受信した共有命令の内容を判別する共有命令判別手段と、
前記共有命令判別手段から呼び出されて前記埋め込み状態蓄積手段に発信者の登録を行い、すべての利用者が登録されるとＷＥＢコンテンツの操作禁止状態を解除する操作禁止解除手段と、
を備えたことを特徴とするＷＥＢコンテンツ同期システム。
【請求項３】
前記操作禁止解除手段がＷＥＢコンテンツの操作禁止状態を解除する直前に呼ばれ、埋め込み状態蓄積手段を検索して対象のフレームの子フレームに対してすべての利用者が埋め込み処理を完了していなければ、該子フレームを操作禁止にする子フレーム操作禁止手段をさらに備えたことを特徴とする請求項２記載のＷＥＢコンテンツ同期システム。
【請求項４】
ＷＥＢコンテンツ同期システムにおいて、ＷＥＢコンテンツの操作による動的変化を検知する操作検知手段と、
埋め込み処理を行い前記操作検知手段をＷＥＢコンテンツに埋め込む埋め込み手段と、
操作実行を抑止する実行抑止手段と、利用者操作によって発生した動的変化か共有命令によって発生した動的変化かを判別する操作区分判別手段と、
共有命令を生成する共有命令発行手段と、
共有命令の送受信を行なう通信手段と、
受信した共有命令の内容を判別する共有命令判別手段と、
操作に対する内部処理を実行する操作実行手段と、
を備えたことを特徴とする端末。
【請求項５】
ＷＥＢコンテンツ同期システムにおいて、ＷＥＢコンテンツのページ遷移を検知するページ遷移検知手段と、
埋め込み処理を行い前記ページ遷移検知手段をＷＥＢコンテンツに埋め込み、埋め込み処理の完了を通知する埋め込み手段と、
利用者ごとの埋め込み処理完了状態を記憶する埋め込み状態蓄積手段と、
ページ遷移を検知したときにＷＥＢコンテンツへの操作を禁止し前記埋め込み状態蓄積手段のデータを埋め込み未完了状態に変更する操作禁止手段と、
埋め込み処理完了通知を受け共有命令を生成する共有命令発行手段と、
共有サーバと共有命令の送受信を行なう通信手段と、
受信した共有命令の内容を判別する共有命令判別手段と、
前記共有命令判別手段から呼び出されて前記埋め込み状態蓄積手段に発信者の登録を行ない、すべての利用者が登録されるとＷＥＢコンテンツの操作禁止状態を解除する操作禁止解除手段と、
を備えたことを特徴とする端末。
【請求項６】
前記操作禁止解除手段がＷＥＢコンテンツの操作禁止状態を解除する直前に呼ばれ、埋め込み状態蓄積手段を検索して対象のフレームの子フレームに対してすべての利用者が埋め込み処理を完了していなければ、該子フレームを操作禁止にする子フレーム操作禁止手段をさらに備えたことを特徴とする請求項５記載の端末。
【請求項７】
ＷＥＢコンテンツへの利用者操作を検知し、操作を一旦抑止して、自身を含めたすべての利用者に対して操作命令を複製して転送し、受信した操作命令によって操作に対する処理を実行することを特徴とするＷＥＢコンテンツ同期方法。
【請求項８】
ＷＥＢコンテンツのページ遷移を検知し、ページ遷移中の利用者による該ＷＥＢコンテンツの操作を禁止状態にし、ページ遷移が完了してＷＥＢコンテンツの操作が同期可能な状態になったときに操作禁止状態を解除することを特徴とするＷＥＢコンテンツ同期方法。
【請求項９】
ＷＥＢコンテンツの操作禁止を解除する際に、対象のフレームの子フレームがまだ同期可能な状態ではなければ子フレームの操作を禁止状態にすることを特徴とする請求項８記載のＷＥＢコンテンツ同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は、ＷＥＢブラウザを利用してＷＥＢコンテンツを共同的に閲覧し操作や表示を同期するＷＥＢコンテンツ同期システム、端末およびＷＥＢコンテンツ同期方法に関する。
【背景技術】
【０００２】
近年、ＷＷＷ(World Wide Web)システムを使ったインターネット技術の普及によって、様々な情報を得ることができるようになった。
【０００３】
これらの情報はＷＥＢコンテンツと呼ばれ、ＨＴＭＬ(Hyper Text Markup Language)と呼ばれる記述言語で記述された文書に代表されるもので、ＷＥＢブラウザと呼ばれるプログラムで取得し利用することができる。
【０００４】
また情報の取得だけではなく、インターネット技術の利便性から電子商取引などの多様なＷＥＢサービスも展開されるようになった。
【０００５】
しかし、ＷＥＢサービスが多様化するにつれ、ＷＥＢコンテンツの内容や操作方法などが肥大化・複雑化し、理解しづらいといった場面が多々見受けられるようにもなった。
【０００６】
このため、ＷＥＢサービスの利用者を支援しようと、Microsoft InternetExplorer（登録商標）のような一般的なＷＥＢブラウザを利用して、複数人で同じＷＥＢコンテンツを共有し、操作を同期する技術がある。
【０００７】
例えば、特許文献１では、プロキシとして動作しているコラボレーションサーバが、動的変化検知スクリプトと通信用アプレットを読み込むためのタグを、ＷＥＢコンテンツ毎に追加する技術が提案されている。
【０００８】
ここで、ＷＥＢブラウザでは、以下の２通りの方法により、動的変化と呼ばれるＷＥＢコンテンツへの操作もしくは内部処理による状態変化を検知できるようになる。
【０００９】
１つ目の方法は、ＷＥＢコンテンツのボタンやリンク要素がＷＥＢブラウザに読み込まれた後、各要素のｏｎｃｌｉｃｋなどのイベントを検知して動作するように動的変化検知スクリプトの埋め込み処理が行なわれる。埋め込み処理とは、ＤＨＴＭＬ(Dynamic HTML)技術を利用してｏｎｃｌｉｃｋなどのイベントにイベントハンドラ関数をセットする処理である。また、埋め込み処理が動作するタイミングは、ページ遷移が完了しなければＷＥＢコンテンツに含まれるボタンやリンク要素が確定しないため、つまり埋め込み処理の対象となる要素が確定しないため、ページ遷移完了後となる。
【００１０】
２つ目の方法は、動的変化検知スクリプトが読み込まれた時点から、動的変化検知スクリプトが定期的にＷＥＢコンテンツの動的変化を監視する。
【００１１】
ここで、動的変化検知スクリプトは、動的変化を検知して通信用アプレットを通じて同期情報をコラボレーションサーバに送信し、コラボレーションサーバは他の利用者端末にこの同期情報を転送する。
【特許文献１】特開２０００−２１５１７３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述した従来例においては次のような問題点があった。
【００１３】
第１の問題点は、同時操作の排他性が無く、複数の利用者が同時に操作を行なった場合に、ＷＥＢコンテンツが異なるページへ遷移してしまったり、ＷＥＢコンテンツの表示内容が異なるものになり、同期状態がずれてしまうということである。この理由は、動的変化を検知しこれを他の利用者に送信・実行する従来の方式では、同時に複数の利用者が操作した場合に、操作の発生する順番が入れ替わってしまうためである。
【００１４】
この問題点の例が、図１５に示されている。この例によると、利用者１がＷＥＢブラウザ上のボタンやリンクなどを操作することによりＷＥＢブラウザの表示がページＡに遷移（ステップＳ１０１）すると同時に、利用者２でもＷＥＢブラウザ上のボタンやリンクを操作して表示がページＢに遷移（ステップＳ１１１）した場合、それぞれのＷＥＢブラウザがページ遷移を検知し（ステップＳ１０２、Ｓ１１２）お互いにページ遷移の同期情報を送信し（ステップＳ１０３、Ｓ１１３）、これを受信して（ステップＳ１０４、Ｓ１１４）、利用者１のＷＥＢブラウザはページＢに（ステップＳ１０５）、利用者２のＷＥＢブラウザはページＡ（ステップＳ１１５）に遷移してしまう。
【００１５】
第２の問題点は、ＷＥＢコンテンツの操作が必ずしも同期しないタイミングがあるということである。動的変化検知スクリプトが定期的にＷＥＢコンテンツの動的変化を調べる方法では、同期しない期間が存在し、問題点は明白である。また、動的変化検知スクリプトを埋め込む方法では、ページ遷移が完了したときに動的変化検知スクリプトの埋め込み処理が行なわれるので、この後でなければＷＥＢコンテンツの動的変化を検知できないため、同期しないタイミングが存在する。
【００１６】
動的変化検知スクリプトを埋め込む方法の問題点の例が、図１６に示されている。この例によると、ページ遷移を完了してから動的変化を検知する部の埋め込み処理を行なう（ステップＳ２０１〜Ｓ２０２）ため、まだ埋め込み処理が行なわれていないページ遷移中などに操作する（ステップＳ２０３）と、操作を検知できず同期できない。
【００１７】
そこで、本発明は、同時操作を許容する、つまり複数の利用者が同時に異なる操作を行なっても、すべての利用者で操作が同じ順番で発生する、ＷＥＢコンテンツ同期システム、端末およびＷＥＢコンテンツ同期方法を提供することを目的とする。また、操作を同期できないタイミングが存在しないＷＥＢコンテンツ同期システム、端末およびＷＥＢコンテンツ同期方法を提供することを目的とする。
【課題を解決するための手段】
【００１８】
請求項１記載の発明は、複数の利用者によりＷＥＢコンテンツへの操作を同期するＷＥＢコンテンツ同期システムにおいて、共有命令を受信した順番ですべての利用者に転送する共有サーバと、ＷＥＢコンテンツを表示し制御する複数のＷＥＢブラウザとを備え、ＷＥＢブラウザは、ＷＥＢコンテンツの操作による動的変化を検知する操作検知手段と、埋め込み処理を行い操作検知手段をＷＥＢコンテンツに埋め込む埋め込み手段と、操作に対する処理の実行を抑止する実行抑止手段と、利用者操作によって発生した動的変化か共有命令によって発生した動的変化かを判別する操作区分判別手段と、共有命令を生成する共有命令発行手段と、共有サーバと共有命令の送受信を行なう通信手段と、受信した共有命令の内容を判別する共有命令判別手段と、操作に対する内部処理を実行する操作実行手段とを備えたことを特徴とするＷＥＢコンテンツ同期システムである。
【００１９】
請求項２記載の発明は、複数の利用者によりＷＥＢコンテンツへの操作を同期するＷＥＢコンテンツ同期システムにおいて、共有命令を受信した順番ですべての利用者に転送する共有サーバと、ＷＥＢコンテンツを表示し制御する複数のＷＥＢブラウザとを備え、ＷＥＢブラウザは、ＷＥＢコンテンツのページ遷移を検知するページ遷移検知手段と、埋め込み処理を行いページ遷移検知手段をＷＥＢコンテンツに埋め込み、埋め込み処理の完了を通知する埋め込み手段と、利用者ごとの埋め込み処理完了状態を記憶する埋め込み状態蓄積手段と、ページ遷移を検知したときにＷＥＢコンテンツへの操作を禁止し埋め込み状態蓄積手段のデータを埋め込み未完了状態に変更する操作禁止手段と、埋め込み処理完了通知を受け共有命令を生成する共有命令発行手段と、共有サーバと共有命令の送受信を行なう通信手段と、受信した共有命令の内容を判別する共有命令判別手段と、共有命令判別手段から呼び出されて埋め込み状態蓄積手段に発信者の登録を行い、すべての利用者が登録されるとＷＥＢコンテンツの操作禁止状態を解除する操作禁止解除手段とを備えたことを特徴とするＷＥＢコンテンツ同期システムである。
【００２０】
請求項３記載の発明は、請求項２記載のＷＥＢコンテンツ同期システムにおいて、操作禁止解除手段がＷＥＢコンテンツの操作禁止状態を解除する直前に呼ばれ、埋め込み状態蓄積手段を検索して対象のフレームの子フレームに対してすべての利用者が埋め込み処理を完了していなければ、該子フレームを操作禁止にする子フレーム操作禁止手段をさらに備えたことを特徴とする。
【００２１】
請求項４記載の発明は、ＷＥＢコンテンツ同期システムにおいて、ＷＥＢコンテンツの操作による動的変化を検知する操作検知手段と、埋め込み処理を行い操作検知手段をＷＥＢコンテンツに埋め込む埋め込み手段と、操作実行を抑止する実行抑止手段と、利用者操作によって発生した動的変化か共有命令によって発生した動的変化かを判別する操作区分判別手段と、共有命令を生成する共有命令発行手段と、共有命令の送受信を行なう通信手段と、受信した共有命令の内容を判別する共有命令判別手段と、操作に対する内部処理を実行する操作実行手段とを備えたことを特徴とする端末である。
【００２２】
請求項５記載の発明は、ＷＥＢコンテンツ同期システムにおいて、ＷＥＢコンテンツのページ遷移を検知するページ遷移検知手段と、埋め込み処理を行いページ遷移検知手段をＷＥＢコンテンツに埋め込み、埋め込み処理の完了を通知する埋め込み手段と、利用者ごとの埋め込み処理完了状態を記憶する埋め込み状態蓄積手段と、ページ遷移を検知したときにＷＥＢコンテンツへの操作を禁止し埋め込み状態蓄積手段のデータを埋め込み未完了状態に変更する操作禁止手段と、埋め込み処理完了通知を受け共有命令を生成する共有命令発行手段と、共有サーバと共有命令の送受信を行なう通信手段と、受信した共有命令の内容を判別する共有命令判別手段と、共有命令判別手段から呼び出されて埋め込み状態蓄積手段に発信者の登録を行ない、すべての利用者が登録されるとＷＥＢコンテンツの操作禁止状態を解除する操作禁止解除手段とを備えたことを特徴とする端末である。
【００２３】
請求項６記載の発明は、請求項５記載の端末において、操作禁止解除手段がＷＥＢコンテンツの操作禁止状態を解除する直前に呼ばれ、埋め込み状態蓄積手段を検索して対象のフレームの子フレームに対してすべての利用者が埋め込み処理を完了していなければ、該子フレームを操作禁止にする子フレーム操作禁止手段をさらに備えたことを特徴とする。
【００２４】
請求項７記載の発明は、ＷＥＢコンテンツへの利用者操作を検知し、操作を一旦抑止して、自身を含めたすべての利用者に対して操作命令を複製して転送し、受信した操作命令によって操作に対する処理を実行することを特徴とするＷＥＢコンテンツ同期方法である。
【００２５】
請求項８記載の発明は、ＷＥＢコンテンツのページ遷移を検知し、ページ遷移中の利用者による該ＷＥＢコンテンツの操作を禁止状態にし、ページ遷移が完了してＷＥＢコンテンツの操作が同期可能な状態になったときに操作禁止状態を解除することを特徴とするＷＥＢコンテンツ同期方法である。
【００２６】
請求項９記載の発明は、請求項８記載のＷＥＢコンテンツ同期方法において、ＷＥＢコンテンツの操作禁止を解除する際に、対象のフレームの子フレームがまだ同期可能な状態ではなければ子フレームの操作を禁止状態にすることを特徴とする。
【発明の効果】
【００２７】
本発明のＷＥＢコンテンツ同期システム、端末およびＷＥＢコンテンツ同期方法によれば、複数の利用者で共有しているＷＥＢコンテンツに対して同時操作を行なった場合でも、同期がずれることなく共有が継続できる。
【発明を実施するための最良の形態】
【００２８】
次に、本発明の第１の実施の形態について図１、図２および図３を参照して詳細に説明する。
【００２９】
図１は、本発明を実施するためのＷＥＢコンテンツ同期システムの全体図である。図１によると、ＷＥＢコンテンツ同期システムは、複数のＷＥＢブラウザ１と、ＷＥＢコンテンツと共有命令の通信中継路である共有サーバ２と、ＷＥＢコンテンツを格納するＷＥＢサーバ３とを備え、複数のＷＥＢブラウザ１に表示されるＷＥＢコンテンツへの操作による処理を相互に同期し、ＷＥＢコンテンツを共有するように動作する。ただし本システムにおけるＷＥＢブラウザ１は２つに限定されるものではなく、本発明を適用して、２つ以上の複数のＷＥＢブラウザ１によりＷＥＢコンテンツを共有することが可能である。
【００３０】
図２を参照すると、共有サーバ２は、ＷＥＢサーバ３から取得したＷＥＢコンテンツを中継してＷＥＢブラウザ１に送信し、またＷＥＢブラウザ１からのHTTP(Hyper Text Transfer Protocol)リクエストを中継してＷＥＢサーバ３に送信するＷＥＢコンテンツ中継部２１と、ＷＥＢブラウザ１から送信された共有命令を、送信元を含めた全利用者のＷＥＢブラウザ１に転送し、連続的に共有命令が送信されてきても送信された順番通りに順次転送する共有命令転送部２２とを備える。このＷＥＢコンテンツ中継部２１と共有命令転送部２２は、物理的に別々に配置することも可能で、それぞれが独立して、ＷＥＢコンテンツの通信および共有命令の通信を担うことができるものである。
【００３１】
共有命令転送部２２は、ＷＥＢブラウザ１の通信部１０１から送信された共有命令を受信する受信部２２１と、受信した共有命令を一時的に蓄積する一時蓄積部２２２と、蓄積された共有命令を受信した順番で取り出してすべての利用者のＷＥＢブラウザ１の通信部１０１に対して転送する転送部２２３とを備える。
【００３２】
ＷＥＢブラウザ１は、他の利用者とＷＥＢコンテンツを共有するためにＷＥＢコンテンツの制御を行なうＷＥＢコンテンツ制御部１１と、ＷＥＢコンテンツ中継部２１から中継されたＷＥＢコンテンツを表示するＷＥＢコンテンツ表示部１２とを備える。このＷＥＢブラウザ１は、Microsoft InternetExplorer（登録商標）のような一般的なＷＥＢブラウザであり、例えば、１つのウィンドウ内で表示領域を分けて複数のＷＥＢコンテンツを表示できるフレームと呼ばれる構造を利用することによってＷＥＢコンテンツ制御部１１とＷＥＢコンテンツ表示部１２を構成することが可能であるし、また２つのウィンドウを利用してそれぞれＷＥＢコンテンツ制御部１１とＷＥＢコンテンツ表示部１２を表示することも可能である。
【００３３】
ＷＥＢコンテンツ表示部１２は、共有対象となるHTMLなどのＷＥＢコンテンツを表示し、ＷＥＢコンテンツ制御部１１によって埋め込み処理が行なわれ、動的変化検知部１３が埋め込まれる。なお、ＷＥＢコンテンツがフレーム構造である場合には、各フレームごとに埋め込み処理が行なわれる。
【００３４】
図３は、本実施の形態におけるＷＥＢブラウザの詳細を示す。図２によると、ＷＥＢブラウザはＷＥＢコンテンツ制御部１１およびＷＥＢコンテンツ表示部１２を備え、共有対象となるＷＥＢコンテンツをＷＥＢコンテンツ表示部１２に表示し、ＷＥＢコンテンツ制御部１１がこれを制御して複数の利用者間での共有を行なう。
【００３５】
ＷＥＢコンテンツ制御部１１は、共有命令の送受信を行なう通信部１０１と、通信部１０１と共有命令のやり取りを行ない、共有命令の解析や生成を行なう共有命令制御部１０２と、ＷＥＢコンテンツの操作禁止状態を制御する操作禁止制御部１０３と、ＷＥＢコンテンツへの操作に対する処理の実行を制御する実行制御部１０４と、ＷＥＢコンテンツに対して埋め込み処理を行なう埋め込み部１０５とを備える。
【００３６】
共有命令制御部１０２は、共有命令の内容を判別する共有命令判別部１０２１と、共有命令を生成して通信部１０１に対して発行する共有命令発行部１０２２とを備える。
【００３７】
操作禁止制御部１０３は、共有中のすべてのＷＥＢブラウザでの埋め込み処理が完了したときに送られた埋め込み完了通知を受信するとＷＥＢコンテンツの操作禁止を解除する操作禁止解除部１０３１と、共有中の複数のＷＥＢブラウザのＷＥＢコンテンツへの埋め込み処理の完了状態を記録する埋め込み状態蓄積部１０３２と、ページ遷移を検知したときに動作してＷＥＢコンテンツの利用者操作を禁止し埋め込み状態蓄積部１０３２のデータを埋め込み未完了状態に変更する操作禁止部１０３３とを備える。
【００３８】
実行制御部１０４は、操作区分判別部１０４１と、実行抑止部１０４２と、操作実行部１０４３とを備える。操作区分判別部１０４１は、ＷＥＢコンテンツの動的変化を検知したときに動作し、共有命令による内部処理であるかを操作実行部１０４３に問い合わせ、共有命令による内部処理であればそのまま終了し、利用者の操作による処理であれば実行抑止部１０４２を呼び出して処理を抑止し、さらに共有命令発行部１０２２を呼び出して操作情報として共有命令を発行する。実行抑止部１０４２は、操作区分判別部１０４１から呼び出されＷＥＢコンテンツへの操作に対する処理の実行を抑止する。また、操作実行部１０４３は、操作情報である共有命令を受信したときに動作してＷＥＢコンテンツの操作に対応した内部処理の実行を行なう。なお、操作実行部１０４３は、内部処理を行なう際に、埋め込み状態蓄積部１０３２を検索して１つのデータでも埋め込み状態が未完了であるとき、つまりＷＥＢコンテンツがページ遷移中で操作が禁止状態にあるときには内部処理を実行しないように構成することもできる。
【００３９】
ＷＥＢコンテンツ表示部１２には、共有対象となるHTMLなどのＷＥＢコンテンツを表示し、埋め込み部１０５の埋め込み処理により動的変化検知部１３が埋め込まれる。なお、ＷＥＢコンテンツがフレーム構造である場合には、フレームごとに動的変化検知部１３が埋め込まれ本実施の形態を適用できるが、本実施の形態の説明においてはフレームＡ１０６に適用する場合について説明する。
【００４０】
動的変化検知部１３は、ＷＥＢコンテンツのページ遷移開始を検知するページ遷移検知部１３１と、クリックや入力などの操作による処理もしくは内部処理に対する状態変化を検知する操作検知部１３２とを備える。
【００４１】
次に、図４〜図７のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【００４２】
まず、利用者が共有中のＷＥＢコンテンツに対して、例えばクリックなどの操作を行なった場合（ステップＳ６０１）、操作検知部１３２がこの操作による動的変化を検知して（ステップＳ６０２）操作区分判別部１０４１を呼び出す。操作検知部１３２は、例えばＪａｖａ（登録商標）Ｓｃｒｉｐｔのイベントを利用して実装することが可能であり、図８にその一例を示す。図８の例では、クリックするとｏｎｃｌｉｃｋイベントが発生し、ＷＥＢコンテンツ制御部であるtop.controlフレームに定義された操作区分判別部であるonSync関数を呼び出しており、onSync関数にはどのフレームのどの要素に対して何のイベントが発生したかという情報をわたしている。このように、動的変化を検知して操作区分判別部１０４１を呼び出すことができる。
【００４３】
操作区分判別部１０４１は、共有命令によって発生した動的変化か、もしくは利用者の操作によって発生した動的変化かを操作実行部１０４３に問い合わせる（ステップＳ６０３）。操作実行部１０４３は動作しておらず利用者の操作によって発生した動的変化であるため、実行抑止部１０４２がこの処理の実行を抑止する（ステップＳ６０４）。抑止すると同時に共有命令発行部１０２２は、例えばスクリプトコード"doSync(FrameName,ElementID,EventName);"のように、どのフレームのどの要素にどんな操作イベントを適用するかという情報を含んだ共有命令を生成し、通信部１０１を利用して、共有命令転送部２２に送信する（ステップＳ６０５）。図９は、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔによる操作区分判別部１０４１の例であり、この例では操作実行部に問い合わせる処理を、フラグ変数doSyncFlagを利用することによって実現している。なお、フラグ変数doSyncFlagは、操作実行部１０４３が内部処理を実行するときに値trueがセットされる。共有命令による内部処理の実行である場合(doSyncFlag!=trueの場合)には、send関数として定義した共有命令発行部１０２２を呼び出し、処理の実行抑止の手法として、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔイベントにfalseを返すことで実行を中止させる方法を示している。利用者操作による処理の実行の場合(doSyncFlag==trueの場合)には、フラグ変数doSyncFlagをクリアしてから終了している。
【００４４】
共有命令転送部２２は、共有命令を受信（ステップＳ８０１）すると、一時蓄積部２２２に一時的に蓄積する（ステップＳ８０２）。転送部２２３は、共有命令を受信した順番で一時蓄積部２２２から共有命令を取得し、共有命令の送信者を含む全利用者に対して転送（ステップＳ８０３）する。
【００４５】
次に、ＷＥＢブラウザの通信部１０１が共有命令を受信（ステップＳ９０１）すると、共有命令判別部１０２１において共有命令の内容に応じた呼び出し先が選択される（ステップＳ９０２）。共有命令がＷＥＢコンテンツへの操作情報であるため、操作実行部１０４３は、ＷＥＢコンテンツへの内部処理を実行する（ステップＳ９０３）。なお、操作実行部１０４３は埋め込み状態蓄積部１０３２を検索して１つのデータでも未完了ならば内部処理を実行しないようにすることもできる。操作実行部１０４３は、例えば、DHTML技術を利用して実装することが可能で、DHTML技術を利用すると動的にクリックなどの操作に対する内部処理を実行させることができる。
【００４６】
操作検知部１３２は、動的変化を再び検知する（ステップＳ６０２）が、操作実行部１０４３に問い合わせた結果（ステップＳ６０３）、共有命令による内部処理であるため操作区分判別部１０４１は、内部処理の実行を抑止せずそのまま終了する。
【００４７】
次に、上記操作の結果、ページ遷移が発生した場合（ステップＳ７０１）、ページ遷移検知部１３１が、このページ遷移を検知して（ステップＳ７０２）、操作禁止部１０３３を呼び出し利用者によるＷＥＢコンテンツの操作を禁止状態にし、同時に埋め込み状態蓄積部１０３２のデータを埋め込み未完了状態に変更する（ステップＳ７０３）。ページ遷移検知部１３１は、例えば、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔのイベントを利用して実装することが可能であり、図１０にその一例を示す。図１０の例では、ページ遷移開始時にＷＥＢコンテンツのonbeforeunloadイベントが発生し、ＷＥＢコンテンツ制御部であるtop.controlフレームに定義された操作禁止部であるonPageChange関数を呼び出しており、onPageChange関数には自分自身のウィンドウオブジェクトをわたしている。このように、ページ遷移開始を検知して操作禁止部１０３３を呼び出すことができる。また、図１１は、操作禁止部１０３３の２つの例で、どちらの場合もＷＥＢブラウザの表示状態を制御するCSS(Cascading Style Sheet)と呼ばれる技術を利用することにより、利用者による操作を禁止状態にしている。さらに、図１２は、埋め込み状態蓄積部１０３２のデータ構造の例であり、例えば表の１行目のデータは、利用者１（自分）のWWWブラウザのフレームＡの埋め込みが完了したことを示し、また他の行が示すように各フレームごとに独立してデータを持つことができる。
【００４８】
ＷＥＢコンテンツは、操作が禁止された状態のままでページ遷移を行なう（ステップＳ７０４）。ページ遷移が完了すると（ステップＳ７０５）、埋め込み部１０５が埋め込み処理を行ない、ページ遷移検知部１３１と操作検知部１３２を含む動的変化検知部１３をＷＥＢコンテンツに埋め込む（ステップＳ７０６）。埋め込み部１０５が埋め込み処理を終えると、共有命令発行部１０２２が呼び出され、例えばスクリプトコード"doAttachComplete(UserName,FrameName);"のように、どのユーザのどのフレームに埋め込み処理が完了したかという情報を含んだ埋め込み処理完了通知を生成し、通信部１０１を利用して、共有命令転送部２２に送信する（ステップＳ７０７）。埋め込み処理の手法の例としては、ＷＥＢコンテンツ制御部１１がページ遷移をするＷＥＢコンテンツを定期的に監視してページ遷移の完了を検知し埋め込み部を呼び出す方法、ＷＥＢコンテンツ中継部２１においてＷＥＢコンテンツをＷＥＢブラウザに送信する前に埋め込み部を呼び出すためのスクリプトなどのタグを追加する方法などがある。
【００４９】
共有命令転送部２２は、共有命令を受信（ステップＳ８０１）すると、一時蓄積部２２２に一時的に蓄積する（ステップＳ８０２）。転送部２２３は、共有命令を受信した順番で一時蓄積部２２２から共有命令を取得し、共有命令の送信者を含む全利用者に対して転送（ステップＳ８０３）する。
【００５０】
それぞれの利用者のＷＥＢブラウザの通信部１０１が共有命令を受信（ステップＳ９０１）すると、共有命令判別部１０２１において共有命令の内容に応じた呼び出し先が選択される（ステップＳ９０２）。共有命令が埋め込み処理完了通知であるため、操作禁止解除部１０３１により埋め込み状態蓄積部１０３２への埋め込み完了データの登録が行なわれる（ステップＳ９０４）。操作禁止解除部１０３１は、埋め込み完了データの登録後に、現在の埋め込み処理の対象であるＷＥＢコンテンツに対して共有中のすべての利用者での埋め込み処理が完了しているかを検索し（ステップＳ９０５）、すべての利用者による埋め込み処理が完了していなければ終了し、すべての利用者による埋め込み処理が完了していれば、操作禁止になっていたＷＥＢコンテンツに対して操作禁止解除を行ない（ステップＳ９０６）終了する。
【００５１】
上記のように、本実施の形態によれば、ＷＥＢブラウザでの操作による処理の実行を一旦抑止し、共有サーバから転送される共有命令を通してあらためて操作に対する内部処理を実行するため、複数の利用者で操作Ａと操作Ｂを同時に行なっても、必ず操作に対する処理が実行される順番が等しくなる。このため、例えばクリックする要素の順番により挙動が変わるＷＥＢコンテンツにおいて、異なる要素を同時にクリックしたとしても、利用者間での挙動は等しいものになる。
【００５２】
また、ページ遷移時には操作を禁止し、全利用者でページ遷移が完了し動的変化を検知できるようになって初めて操作可能になるため、操作を同期できないタイミングが存在しなくなる。
【００５３】
なお、ＷＥＢコンテンツが操作禁止状態であるときに内部処理を実行しないようにすれば、ページ遷移している最中に共有命令を受信した場合の内部処理の実行を抑止することができ、これにより例えば異なるリンクを複数の利用者が同時にクリックした場合に、先に共有サーバから転送されたリンククリック情報だけを実行することが可能となる。
【００５４】
次に、本発明の第２の実施の形態について図面を参照して説明する。
【００５５】
上記の第１の実施の形態では、フレームごとにＷＥＢコンテンツのページ遷移を検知して、該フレームを操作禁止にすることにより、ページ遷移時の利用者による操作をできなくしていた。しかし、ページ遷移するとフレーム構成が変化する場合がある。特に、ページ遷移した結果、該フレームのＷＥＢコンテンツがさらにフレーム構成になり子フレームが生成される場合には、親フレーム（子フレームを含むフレーム）はページ遷移中の操作が禁止状態になるが、生成される子フレームは規定の状態つまり操作可能な状態であるため、親フレームの操作禁止状態が解除されても子フレームにおける動的変化検知部の埋め込み処理が完了していない可能性がある。つまり、親フレームが操作できるようになれば子フレームも操作できるようになるが、このとき子フレームが同期できる状態である保証がない。
【００５６】
この課題を解決するために、本実施の形態では、親フレームの操作禁止が解除されるタイミングで、すべての利用者における子フレームの埋め込み処理の完了状態を検索して、すべての利用者での埋め込み処理が完了していなければ子フレームを操作禁止状態にするように、図３の構成に変わり図１３の構成をとる。
【００５７】
図１３を参照すると、図３と比較して、子フレーム操作禁止部１０３４が追加され、親フレーム１０６（図２ではフレームＡと呼んだ）は、子フレーム１０６１を含んだ構成となっている。親フレーム１０６と子フレーム１０６１は、あるＷＥＢコンテンツがフレーム構成になっていた場合にその相対的な包含関係を示すために便宜上定義されたものであり、子フレーム１０６１にも本実施の形態を再帰的に適用し親フレームとみなすことができる。
【００５８】
子フレーム操作禁止部１０３４は、操作禁止解除部１０３１から呼び出され、子フレーム１０６１が存在する場合に埋め込み状態蓄積部１０３２を検索して、子フレームの埋め込み完了状態のデータがない利用者があれば（すべての利用者による子フレーム１０６１の埋め込み処理が完了していなければ）、子フレーム１０６１の操作を禁止状態にする。
【００５９】
子フレーム操作禁止部１０３４以外の構成要素は、第１の実施の形態と同様である。
【００６０】
次に、図４〜図６および図１４のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。第１の実施の形態と比較して、図７のフローチャートが図１４に置き換わっている。
【００６１】
まず、利用者が共有中のＷＥＢコンテンツに対して操作をおこない、この操作に対する処理の実行が抑止されて共有命令を発行するまでのステップ（ステップＳ６０１〜Ｓ６０５）と、共有命令を転送サーバが受信して転送するステップ（ステップＳ８０１〜Ｓ８０３）と、ＷＥＢブラウザが転送された共有命令を受信して、操作に対する内部処理を実行して終了するまでのステップ（ステップＳ９０１〜Ｓ９０３、Ｓ６０１、Ｓ６０３）は、第１の実施の形態と同様である。
【００６２】
次に、上記操作の結果、ページ遷移が発生した場合、埋め込み処理完了通知である共有命令を発行するまでのステップ（ステップＳ７０１〜Ｓ７０７）と、共有命令を転送サーバが受信して転送するステップ（ステップＳ８０１〜Ｓ８０３）と、ＷＥＢブラウザが転送された共有命令を受信して埋め込み状態を検索するまでのステップ（ステップＳ１６０１、Ｓ１６０２、Ｓ１６０４、Ｓ１６０５）は、第１の実施の形態と同様である。
【００６３】
埋め込み状態を検索した結果、全利用者の埋め込み処理が完了していた場合、子フレーム操作禁止部１０３４は、子フレーム１０６１が存在するか調べる（ステップＳ１６０６）。
【００６４】
子フレーム１０６１がなければ、操作禁止解除部１０３１が親フレーム１０６の操作禁止化を解除して終了する（ステップＳ１６０７）。
【００６５】
子フレーム１０６１が存在していれば、子フレーム操作禁止部１０３４はさらに埋め込み状態蓄積部１０３２を検索して、子フレーム１０６１の埋め込み状態を調べる（ステップＳ１６０８）。
【００６６】
子フレーム１０６１においてすべての利用者の埋め込み処理が完了していれば、操作禁止解除部１０３１が親フレーム１０６の操作禁止化を解除して終了する（ステップＳ１６０７）。
【００６７】
子フレーム１０６１においてすべての利用者の埋め込み処理が完了していなければ、子フレーム操作禁止部１０３４は、子フレームの操作を禁止にし（ステップＳ１６０９）、操作禁止解除部１０３１が親フレーム１０６の操作禁止化を解除して終了する（ステップＳ１６０７）。
【００６８】
上記のように、本実施の形態によれば、親フレーム１０６がページ遷移して操作禁止状態を解除されるときに、子フレーム１０６１が操作禁止化されている必要があれば、つまりすべての利用者の子フレーム１０６１での動的変化検知部１３の埋め込み処理が完了してなければ、親フレーム１０６が子フレーム１０６１を操作禁止状態にしてから、親フレーム１０６自身が操作禁止解除となるため、ページ遷移によって子フレーム１０６１が生成されフレーム構成が変化する場合でも、ページ遷移時の子フレーム１０６１に対する利用者操作を防止することが可能となる。
【００６９】
なお、本実施の形態の説明とは逆に、フレーム構成をもったＷＥＢコンテンツが非フレーム構成のＷＥＢコンテンツにページ遷移する場合には、親フレームと子フレームのページ遷移開始はそれぞれ検知され操作禁止状態になるが、子フレームは親フレームのページ遷移にともなって消滅するため、特に子フレームを意識することなく、第１の実施の形態が親フレームに適用されていれば利用者操作を防止できる。
【００７０】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、上記の実施の形態におけるＷＥＢブラウザ１、共有サーバ２およびＷＥＢサーバ３の機能を実現するためのプログラムを各装置等に読込ませて実行することにより本システムの機能を実現する処理を行ってもよい。さらに、そのプログラムは、コンピュータ読み取り可能な記録媒体であるＣＤ−ＲＯＭまたは光磁気ディスク等を介して、または伝送媒体であるインターネット、電話回線等を介して伝送波により他のコンピュータシステムに伝送されてもよい。
【００７１】
上述する各実施の形態は、ＷＥＢブラウザ１、共有サーバ２およびＷＥＢサーバ３が別個に接続されているシステム構成について説明したが、各機能が１つのコンピュータシステムとして実現されている構成や機能毎に複数のサーバ装置等が追加された構成にも適用可能であることはもちろんである。
【図面の簡単な説明】
【００７２】
【図１】本発明の第１の実施形態におけるＷＥＢコンテンツ同期システムのブロック図である。
【図２】共有命令転送部のブロック図である。
【図３】本発明の第１の実施の形態におけるＷＥＢブラウザの構成を示すブロック図である。
【図４】本発明の第１の実施形態におけるＷＥＢブラウザにおけるＷＥＢコンテンツ操作時の動作を説明する為のフローチャートである。
【図５】本発明の第１の実施形態におけるＷＥＢブラウザに於けるＷＥＢコンテンツのページ遷移時の動作を説明する為のフローチャートである。
【図６】本発明の第１の実施形態における共有サーバに於ける共有命令受信時の動作を説明する為のフローチャートである。
【図７】本発明の第１の実施形態におけるＷＥＢブラウザに於ける共有命令受信時の動作を説明する為のフローチャートである。
【図８】本発明の第１の実施形態におけるＪａｖａ（登録商標）Ｓｃｒｉｐｔによる操作検知部の一例を示す図である。
【図９】本発明の第１の実施形態におけるＪａｖａ（登録商標）Ｓｃｒｉｐｔによる操作区分判別部の一例を示す図である。
【図１０】本発明の第１の実施形態におけるＪａｖａ（登録商標）Ｓｃｒｉｐｔによるページ遷移検知部の一例を示す図である。
【図１１】本発明の第１の実施形態におけるＪａｖａ（登録商標）Ｓｃｒｉｐｔによる操作禁止化部の一例を示す図である。
【図１２】本発明の第１の実施形態における埋め込み状態蓄積部のデータ構造の一例を示す図である。
【図１３】本発明の第２の実施形態におけるＷＥＢブラウザの構成を示すブロック図である。
【図１４】本発明の第２の実施形態におけるＷＥＢブラウザに於ける共有命令受信時の動作を説明する為のフローチャートである。
【図１５】従来例における問題点１の動作を説明するためのフローチャートである。
【図１６】従来例における問題点２の動作を説明するためのフローチャートである。
【符号の説明】
【００７３】
１    ＷＥＢブラウザ
２    共有サーバ
３    ＷＥＢサーバ
１１    ＷＥＢコンテンツ制御部
１２    ＷＥＢコンテンツ表示部
１３    動的変化検知部
２１    ＷＥＢコンテンツ中継部
２２    共有命令転送部
２２１    受信部
２２２    一時蓄積部
２２３    転送部
１０１    通信部
１０２    共有命令制御部
１０３    操作禁止制御部
１０４    実行制御部
１０５    埋め込み部
１０６    フレームＡ（親フレーム）
１０２１    共有命令判別部
１０２２    共有命令発行部
１０３１    操作禁止解除部
１０３２    埋め込み状態蓄積部
１０３３    操作禁止部
１０４１    操作区分判別部
１０４２    実行抑止部
１０４３    操作実行部
１３１    ページ遷移検知部
１３２    操作検知部
１０３４    操作禁止化状態記憶部
１０６１    子フレーム
【図１】
2006202228.tif 000003
【図２】
2006202228.tif 000004
【図３】
2006202228.tif 000005
【図４】
2006202228.tif 000006
【図５】
2006202228.tif 000007
【図６】
2006202228.tif 000008
【図７】
2006202228.tif 000009
【図８】
2006202228.tif 000010
【図９】
2006202228.tif 000011
【図１０】
2006202228.tif 000012
【図１１】
2006202228.tif 000013
【図１２】
2006202228.tif 000014
【図１３】
2006202228.tif 000015
【図１４】
2006202228.tif 000016
【図１５】
2006202228.tif 000017
【図１６】
2006202228.tif 000018