(57)【要約】【課題】パフォーマンスの低下を抑制するデータ共有装置、データ共有方法およびプログラムを提供する。【解決手段】実施形態のデータ共有装置は、第１記憶手段と、第２記憶手段と、差分生成手段と、差分送信手段と、差分受信手段と、差分反映手段と、を備える。第１記憶手段は、第１情報を記憶する。第２記憶手段は、第１情報の複製である第２情報を記憶する。差分生成手段は、第１情報が変更された場合、変更された第１情報と、第２情報とを比較して、差分を示す第１差分情報を生成する。差分送信手段は、第１差分情報を他のデータ共有装置に送信する。差分受信手段は、他のデータ共有装置において生成された第２差分情報を受信する。差分反映手段は、第１記憶手段に記憶された第１情報に対して、第２差分情報が示す差分を反映させ、その場合に差分生成手段により第１差分情報を生成させない。【選択図】図２
2016012327.tif 000002
【特許請求の範囲】
【請求項１】
第１情報を記憶する第１記憶手段と、
前記第１記憶手段に記憶された前記第１情報の複製である第２情報を記憶する第２記憶手段と、
前記第１記憶手段に記憶されている前記第１情報が変更された場合、変更された前記第１情報と、前記第２記憶手段に記憶された前記第２情報とを比較して、差分がある場合に前記差分を抽出し、前記差分を示す第１差分情報を生成する差分生成手段と、
前記第１差分情報を他のデータ共有装置に送信する差分送信手段と、
他のデータ共有装置において生成された第２差分情報を受信する差分受信手段と、
前記第１記憶手段に記憶された前記第１情報に対して、前記第２差分情報が示す差分を反映させ、前記差分を反映させる場合に前記差分生成手段により前記第１差分情報を生成させない差分反映手段と、
を備えたデータ共有装置。
【請求項２】
前記差分生成手段は、前記第２記憶手段に記憶された前記第２情報が初期化されている場合、前記第１差分情報を生成せず、
前記差分反映手段は、前記第１記憶手段に記憶された前記第１情報に対して、前記第２差分情報が示す差分を反映させる前に、前記第２記憶手段に記憶された前記第２情報を初期化する請求項１に記載のデータ共有装置。
【請求項３】
前記差分反映手段は、前記第１記憶手段に記憶された前記第１情報、および前記第２記憶手段に記憶された前記第２情報に対して、前記第２差分情報が示す差分を反映させる請求項１に記載のデータ共有装置。
【請求項４】
前記第１記憶手段に記憶された前記第１情報に対する変更内容を示す変更情報を生成する変更生成手段と、
前記第１記憶手段に記憶された前記第１情報に対して、前記変更情報が示す変更内容を反映させる変更反映手段と、
をさらに備えた請求項１に記載のデータ共有装置。
【請求項５】
前記差分生成手段は、変更された前記第１情報と、前記第２情報とを比較した場合、変更された前記第１情報によって、前記第２記憶手段に記憶された前記第２情報を上書きする請求項１に記載のデータ共有装置。
【請求項６】
前記第１情報および前記第２情報は、ウェブページのページ情報である請求項１に記載のデータ共有装置。
【請求項７】
前記第１情報および前記第２情報は、表示画像の画像情報である請求項１に記載のデータ共有装置。
【請求項８】
情報を共有する複数のデータ共有装置のデータ共有方法であって、
第１記憶手段に記憶されている第１情報が変更された場合、変更された前記第１情報と、第２記憶手段に記憶され、かつ前記第１情報の複製である第２情報とを比較して、差分がある場合に前記差分を抽出し、前記差分を示す第１差分情報を生成する差分生成ステップと、
前記第１差分情報を他のデータ共有装置に送信する差分送信ステップと、
他のデータ共有装置において生成された第２差分情報を受信する差分受信ステップと、
前記第１記憶手段に記憶された前記第１情報に対して、前記第２差分情報が示す差分を反映させ、前記差分を反映させる場合に前記第１差分情報を生成しない差分反映ステップと、
を有するデータ共有方法。
【請求項９】
第１情報を記憶する第１記憶手段と、前記第１記憶手段に記憶された前記第１情報の複製である第２情報を記憶する第２記憶手段と、第１差分情報を外部機器に送信する差分送信手段と、外部機器において生成された第２差分情報を受信する差分受信手段と、を備えたコンピュータを、
前記第１記憶手段に記憶されている前記第１情報が変更された場合、変更された前記第１情報と、前記第２記憶手段に記憶された前記第２情報とを比較して、差分がある場合に前記差分を抽出し、前記差分を示す前記第１差分情報を生成する差分生成手段と、
前記第１記憶手段に記憶された前記第１情報に対して、前記第２差分情報が示す差分を反映させ、前記差分を反映させる場合に前記差分生成手段により前記第１差分情報を生成させない差分反映手段と、
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、データ共有装置、データ共有方法およびプログラムに関する。
【背景技術】
【０００２】
近年、ＶＮＣ（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｃｏｍｐｕｔｉｎｇ）等のアプリケーションにより、ネットワーク上で接続された複数の情報処理装置のいずれかで表示画像に変更がなされた場合、画像の差分を他の情報処理装置に転送して、表示画像を一致させるデータ共有システムが提案されている。
【０００３】
しかし、このようなシステムにおいては、特定の情報処理装置上で表示画像の変更が発生して、その画像の差分情報が他の情報処理装置へ転送された場合、他の情報処理装置は、受信した差分情報により表示画像が変更されるので、さらに、その変更による差分情報を、元の特定の情報処理装置に転送するというループが発生する。したがって、このような転送のループの発生により、情報処理装置およびネットワークのパフォーマンスが低下してしまうという問題点があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−２２３４３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上記に鑑みてなされたものであって、パフォーマンスの低下を抑制するデータ共有装置、データ共有方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態のデータ共有装置は、第１記憶手段と、第２記憶手段と、差分生成手段と、差分送信手段と、差分受信手段と、差分反映手段と、を備える。第１記憶手段は、第１情報を記憶する。第２記憶手段は、第１記憶手段に記憶された第１情報の複製である第２情報を記憶する。差分生成手段は、第１記憶手段に記憶されている第１情報が変更された場合、変更された第１情報と、第２記憶手段に記憶された第２情報とを比較して、差分がある場合に差分を抽出し、差分を示す第１差分情報を生成する。差分送信手段は、第１差分情報を他のデータ共有装置に送信する。差分受信手段は、他のデータ共有装置において生成された第２差分情報を受信する。差分反映手段は、第１記憶手段に記憶された第１情報に対して、第２差分情報が示す差分を反映させ、差分を反映させる場合に差分生成手段により第１差分情報を生成させない。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係るデータ共有システムの全体構成の例を示す図である。
【図２】第１の実施形態に係るデータ共有装置のブロック構成の例を示す図である。
【図３】サーバ装置からページ応答を受信した場合の動作のシーケンス図である。
【図４】データ共有装置内でページ変更された場合の動作のシーケンス図である。
【図５】外部からページ差分情報を受信した場合の動作のシーケンス図である。
【図６】変形例に係るデータ共有装置のブロック構成の例を示す図である。
【図７】第２の実施形態に係るデータ共有システムの全体構成の例を示す図である。
【図８】第２の実施形態に係るデータ共有装置のブロック構成の例を示す図である。
【図９】データ共有装置内で画面が変更された場合の動作のシーケンス図である。
【図１０】外部から画像差分情報を受信した場合の動作のシーケンス図である。
【発明を実施するための形態】
【０００８】
以下に、図面を参照しながら、本発明の実施形態に係るデータ共有装置、データ共有方法およびプログラムを詳細に説明する。また、以下の図面において、同一の部分には同一の符号が付してある。ただし、図面は模式的なものであるため、具体的な厚みおよび寸法は以下の説明を参酌して判断すべきものである。
【０００９】
（第１の実施形態）
図１は、第１の実施形態に係るデータ共有システムの全体構成の例を示す図である。図１を参照しながら、データ共有システム５００の全体構成およびデータ共有装置１０、２０のハードウェア構成について説明する。
【００１０】
図１に示すように、データ共有システム５００は、データ共有装置１０と、データ共有装置２０と、サーバ装置３０と、備えている。データ共有装置１０と、データ共有装置２０と、サーバ装置３０とは、ネットワーク１を介して接続されている。ネットワーク１は、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒ）８０２．３等で規定される有線通信プロトコル、またはＩＥＥＥ８０２．１１で規定される無線通信プロトコル、その他のプロトコルに準拠したネットワークであり、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットまたは専用回線等の通信回線によって実現される。
【００１１】
なお、図１には、ネットワーク１を介して接続されるデータ共有装置として、データ共有装置１０およびデータ共有装置２０の２台が記載されているが、これに限定されるものではなく、３台以上のデータ共有装置が接続されているものとしてもよい。
【００１２】
データ共有装置１０は、サーバ装置３０へページ要求を送信し、ページ応答を受信して、ページ応答に含まれるページ情報を、他のデータ共有装置（図１ではデータ共有装置２０）に転送する装置である。ここで、ページ応答とは、データ共有装置１０からの要求されるページを含む応答情報であり、例えば、ヘッダ情報、ウェブページを構成するリソースであるＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイル、メディアファイルまたはスクリプト等を含む。また、ページ情報とは、ここでは、ＸＴＭＬファイルまたはＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイル等のマークアップ言語で記載されたウェブページの情報であるものとする。データ共有装置１０は、通信インターフェース１１と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１４と、表示装置１５と、入力装置１６と、を備えている。上述の各装置は、バスによって互いに通信可能に接続されている。
【００１３】
通信インターフェース１１は、ＬＡＮ等のネットワーク１を介して、データ共有装置２０およびサーバ装置３０等と通信するためのＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）等のプロトコルに準拠したインターフェースである。例えば、通信インターフェース１１がＴＣＰ／ＩＰに準拠している場合、通信インターフェース１１は、データ共有装置２０およびサーバ装置３０から受信したデータからＴＣＰおよびＩＰのヘッダを取り除く。また、通信インターフェース１１は、データ共有装置２０およびサーバ装置３０にデータを通信する場合、データにＴＣＰおよびＩＰ用のヘッダを付加または除去する。通信インターフェース１１は、例えば、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等の通信装置によって構成される。
【００１４】
ＣＰＵ１２は、データ共有装置１０全体の動作を制御する。
【００１５】
ＲＡＭ１３は、データ共有装置１０で実行されるブラウザ等のクライアント用アプリケーションを含む各種プログラム、およびデータ共有装置１０で行われる各種処理に使用されるデータ等を記憶する装置である。ＲＡＭ１３に展開されたＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）上でクライアント用アプリケーションが、ＣＰＵ１２によって実行される。
【００１６】
ＨＤＤ１４は、ＯＳ、プログラムまたはデータ等を蓄積して記憶する外部記憶装置である。なお、ＨＤＤ１４は、外部記憶装置としてのＨＤＤにより実現されることに限定されるものではなく、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、または光磁気ディスク（ＭＯ：Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  Ｄｉｓｋ）等の記憶装置によって実現されるものとしてもよい。
【００１７】
表示装置１５は、ブラウザ等によりサーバ装置３０から受信したページ等の各種画像を表示する装置である。表示装置１５は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ、液晶ディスプレイ、プラズマディスプレイまたは有機ＥＬ（Ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ等によって構成される。
【００１８】
入力装置１６は、ユーザによってＣＰＵ１２に対して所定の処理を実行させるための操作入力を行う装置である。入力装置１６は、例えば、マウス、キーボード、テンキー、タッチパッドまたはタッチパネル等の操作入力機能によって構成される。
【００１９】
データ共有装置２０は、データ共有装置１０と同様の機能を有する装置である。データ共有装置２０は、通信インターフェース２１と、ＣＰＵ２２と、ＲＡＭ２３と、ＨＤＤ２４と、表示装置２５と、入力装置２６と、を備えている。上述の各装置は、バスによって互いに通信可能に接続されている。また、通信インターフェース２１、ＣＰＵ２２、ＲＡＭ２３、ＨＤＤ２４、表示装置２５および入力装置２６は、それぞれデータ共有装置１０の通信インターフェース１１、ＣＰＵ１２、ＲＡＭ１３、ＨＤＤ１４、表示装置１５および入力装置１６の機能と同様の機能を有する。
【００２０】
サーバ装置３０は、データ共有装置１０、２０から受信したページ要求に対して、ウェブページ等のページ情報を含むページ応答をデータ共有装置１０、２０に送信するウェブサーバとして機能する装置である。サーバ装置３０は、通信インターフェース３１と、ＣＰＵ３２と、ＲＡＭ３３と、ＨＤＤ３４と、を備えている。上述の各装置は、バスによって互いに通信可能に接続されている。
【００２１】
通信インターフェース３１は、ＬＡＮ等のネットワーク１を介して、データ共有装置１０、２０等と通信するためのＴＣＰ／ＩＰ等のプロトコルに準拠したインターフェースである。例えば、通信インターフェース３１がＴＣＰ／ＩＰに準拠している場合、通信インターフェース３１は、データ共有装置１０、２０から受信したデータからＴＣＰおよびＩＰのヘッダを取り除く。また、通信インターフェース３１は、データ共有装置１０、２０にデータを通信する場合、データにＴＣＰおよびＩＰ用のヘッダを付加または除去する。通信インターフェース３１は、例えば、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等の通信装置によって構成される。
【００２２】
ＣＰＵ３２は、サーバ装置３０全体の動作を制御する。
【００２３】
ＲＡＭ３３は、サーバ装置３０で実行されるサーバ用アプリケーションを含む各種プログラム、およびサーバ装置３０で行われる各種処理に使用されるデータ等を記憶する装置である。ＲＡＭ３３に展開されたＯＳ上でサーバ用アプリケーションが、ＣＰＵ３２によって実行される。
【００２４】
ＨＤＤ３４は、ＯＳ、プログラムまたはデータ等を蓄積して記憶する外部記憶装置である。なお、ＨＤＤ３４は、外部記憶装置としてのＨＤＤにより実現されることに限定されるものではなく、例えば、ＳＳＤ、光ディスク、または光磁気ディスク（ＭＯ）等の記憶装置によって実現されるものとしてもよい。
【００２５】
図２は、第１の実施形態に係るデータ共有装置のブロック構成の例を示す図である。図２を参照しながら、データ共有装置１０、２０のブロック構成について説明する。
【００２６】
図２に示すように、データ共有装置１０は、変更生成部１０１（変更生成手段）と、変更反映部１０２（変更反映手段）と、差分受信部１１１（差分受信手段）と、差分反映部１１２（差分反映手段）と、差分生成部１２１（差分生成手段）と、差分送信部１２２（差分送信手段）と、データ記憶部１３１（第１記憶手段）と、比較記憶部１３２（第２記憶手段）と、要求生成部１４１と、要求送信部１４２と、応答受信部１５１と、ページ情報抽出部１５２と、ページ制御部１６１と、表示部１６２と、を備えている。
【００２７】
変更生成部１０１は、例えば、ユーザによる入力装置１６の操作によって、表示装置１５に表示されているページの基になるページ情報が変更された場合、その変更内容を示す情報であるページ変更情報（変更情報）を生成する機能部である。変更生成部１０１は、図１に示すＣＰＵ１２により実行されるプログラムにより実現される。
【００２８】
変更反映部１０２は、データ記憶部１３１に記憶され、かつ、表示装置１５に表示されているページの基になるページ情報（第１情報）に対して、変更生成部１０１から受け取ったページ変更情報が示す変更内容を反映させる機能部である。変更反映部１０２は、図１に示すＣＰＵ１２により実行されるプログラムにより実現される。
【００２９】
差分受信部１１１は、他のデータ共有装置（例えば、データ共有装置２０）から、ネットワーク１を介して、ページ差分情報（第２差分情報）にヘッダ情報が付加されたパケットを受信する機能部である。ここで、ページ差分情報とは、後述のように差分生成部１２１が、２つのページ情報を比較して抽出した差分を示す情報である。差分受信部１１１は、図１に示す通信インターフェース１１により実現される。
【００３０】
差分反映部１１２は、比較記憶部１３２に記憶された情報（第２情報）を初期化し、データ記憶部１３１に記憶され、かつ、表示装置１５に表示されているページの基になるページ情報に対して、差分受信部１１１から受け取ったページ差分情報が示す差分を反映させる機能部である。差分反映部１１２は、図１に示すＣＰＵ１２により実行されるプログラムにより実現される。
【００３１】
差分生成部１２１は、変更反映部１０２によるデータ記憶部１３１のページ情報への変更内容の反映、または、差分反映部１１２によるデータ記憶部１３１のページ情報への差分の反映を検知すると、データ記憶部１３１から変更内容が反映されたページ情報を取得し、比較記憶部１３２に記憶されたページ情報（初期化された情報に相当）を取得して、双方のページ情報を比較して差分をページ差分情報（第１差分情報）として抽出する機能部である。差分生成部１２１は、図１に示すＣＰＵ１２により実行されるプログラムにより実現される。
【００３２】
差分送信部１２２は、差分生成部１２１から受け取ったページ差分情報にヘッダ情報を付加したパケットを、ネットワーク１を介して、他のデータ共有装置（データ共有装置２０等）に送信する機能部である。差分送信部１２２は、図１に示す通信インターフェース１１により実現される。
【００３３】
データ記憶部１３１は、表示装置１５に表示されるウェブページのページ情報を記憶する機能部である。データ記憶部１３１は、図１に示すＲＡＭ１３によって実現される。
【００３４】
比較記憶部１３２は、変更反映部１０２によるページ変更情報、または、差分反映部１１２によるページ差分情報によってデータ記憶部１３１に記憶されたページ情報の内容が変わる前の状態のページ情報を一時的に記憶する機能部である。比較記憶部１３２は、図１に示すＲＡＭ１３によって実現される。
【００３５】
要求生成部１４１は、ユーザが閲覧を所望するウェブページを要求するためのページ要求を生成する機能部である。要求生成部１４１は、図１に示すＣＰＵ１２により実行されるプログラムにより実現される。
【００３６】
要求送信部１４２は、要求生成部１４１から受け取ったページ要求にヘッダ情報を付加したパケットを、ネットワーク１を介してサーバ装置３０に送信する機能部である。要求送信部１４２は、図１に示す通信インターフェース１１により実現される。
【００３７】
応答受信部１５１は、サーバ装置３０から、ＨＴＭＬまたはＸＭＬ等のページ情報を含むページ応答にヘッダ情報が付加されたパケットを、ネットワーク１を介して受信する機能部である。応答受信部１５１は、図１に示す通信インターフェース１１により実現される。
【００３８】
ページ情報抽出部１５２は、応答受信部１５１から受け取ったページ応答からページ情報を抽出する機能部である。ページ情報抽出部１５２は、図１に示すＣＰＵ１２により実行されるプログラムにより実現される。
【００３９】
ページ制御部１６１は、データ記憶部１３１から取得したページ情報を表示部１６２が表示できる形式にページ変換する機能部である。ページ制御部１６１は、図１に示すＣＰＵ１２により実行されるプログラムにより実現される。
【００４０】
表示部１６２は、ページ制御部１６１によりページ変換されたページを表示する機能部である。表示部１６２は、図１に示す表示装置１５により実現される。
【００４１】
なお、データ共有装置２０についても、データ共有装置１０と同様に、図２に示すブロック構成を有する。
【００４２】
また、上述の変更生成部１０１、変更反映部１０２、差分反映部１１２、差分生成部１２１、要求生成部１４１、ページ情報抽出部１５２およびページ制御部１６１は、ソフトウェアであるプログラムではなく、ハードウェア回路によって実現されるものとしてもよい。
【００４３】
また、図２に示した変更生成部１０１、変更反映部１０２、差分受信部１１１、差分反映部１１２、差分生成部１２１、差分送信部１２２、データ記憶部１３１、比較記憶部１３２、要求生成部１４１、要求送信部１４２、応答受信部１５１、ページ情報抽出部１５２、ページ制御部１６１および表示部１６２は、機能を概念的に示したものであって、このような構成に限定されるものではない。
【００４４】
図３は、サーバ装置からページ応答を受信した場合の動作のシーケンス図である。図３を参照しながら、データ共有装置１０がサーバ装置３０にページ要求を送信し、サーバ装置３０からページ応答を受信した場合の動作について説明する。
【００４５】
＜ステップＳ１１＞
データ共有装置１０の要求生成部１４１は、ユーザが閲覧を所望するウェブページを要求するためのページ要求を生成し、ページ要求をデータ共有装置１０の要求送信部１４２に送る。
【００４６】
＜ステップＳ１２＞
要求送信部１４２は、受け取ったページ要求にヘッダ情報を付加したパケットを、ネットワーク１を介してサーバ装置３０に送信する。
【００４７】
＜ステップＳ１３＞
サーバ装置３０は、受信したパケットからヘッダ情報を除去したページ要求に基づいて、データ共有装置１０が要求するページを、サーバ装置３０のＨＤＤ３４等の記憶装置から取得する。そして、サーバ装置３０は、取得したＨＴＭＬまたはＸＭＬ等のページ情報を含むページ応答にヘッダ情報を付加したパケットを、ネットワーク１を介してデータ共有装置１０の応答受信部１５１に送信する。
【００４８】
＜ステップＳ１４＞
応答受信部１５１は、受信したパケットからヘッダ情報を除去したページ応答を、データ共有装置１０のページ情報抽出部１５２に送る。
【００４９】
＜ステップＳ１５＞
ページ情報抽出部１５２は、受け取ったページ応答からページ情報を抽出し、ページ情報を、データ共有装置１０のデータ記憶部１３１に送る。
【００５０】
＜ステップＳ１６＞
データ記憶部１３１は、ページ情報を記憶して蓄積する。
【００５１】
＜ステップＳ１７＞
データ共有装置１０のページ制御部１６１は、データ記憶部１３１に記憶されたページ情報を取得する。
【００５２】
＜ステップＳ１８＞
ページ制御部１６１は、取得したページ情報を表示部１６２が表示できる形式にページ変換する。
【００５３】
＜ステップＳ１９＞
ページ制御部１６１は、ページ変換した情報（以下、単にページという）を、データ共有装置１０の表示部１６２に送る。
【００５４】
＜ステップＳ２０＞
表示部１６２は、受け取ったページを表示する。
【００５５】
その後、データ共有装置１０は、サーバ装置３０から受信したページ情報を、ネットワーク１を介して他のデータ共有装置であるデータ共有装置２０に転送する。データ共有装置２０は、受信したページ情報を、データ共有装置１０と同様にページ変換して、ページを表示する。なお、データ共有装置２０は、データ共有装置１０からではなく、サーバ装置３０からページ情報を取得してもよい。
【００５６】
図４は、データ共有装置内でページ変更された場合の動作のシーケンス図である。図４を参照しながら、データ共有装置１０内で、ウェブページのページ情報が変更された場合の動作について説明する。
【００５７】
＜ステップＳ３１＞
データ共有装置１０の変更生成部１０１は、例えば、ユーザによる入力装置１６の操作によって、表示部１６２に表示されているページの基になるページ情報が変更された場合、その変更内容を含む情報であるページ変更情報を生成する。具体的には、ページ情報の変更とは、例えば、表示部１６２に表示されているブラウザ上で文字が入力された場合、ボタン表示が無効化もしくは有効化された場合、ブラウザ上に表示されている部品の色または大きさが変更された場合、または部品に付属したメタデータが変更になった場合等である。そして、変更生成部１０１は、生成したページ変更情報を、データ共有装置１０の変更反映部１０２に送る。
【００５８】
＜ステップＳ３２＞
変更反映部１０２は、データ記憶部１３１に記憶され、かつ、表示部１６２に表示されているページの基になるページ情報に対して、受け取ったページ変更情報が示す変更内容を反映させる。
【００５９】
＜ステップＳ３３＞
ページ制御部１６１は、データ記憶部１３１から、変更内容が反映されたページ情報を取得する。
【００６０】
＜ステップＳ３４＞
ページ制御部１６１は、取得したページ情報を表示部１６２が表示できる形式にページ変換する。
【００６１】
＜ステップＳ３５＞
ページ制御部１６１は、ページ変換したページを表示部１６２に送る。
【００６２】
＜ステップＳ３６＞
表示部１６２は、受け取ったページを表示する。
【００６３】
＜ステップＳ３７＞
データ共有装置１０の差分生成部１２１は、ステップＳ３２における、変更反映部１０２によるデータ記憶部１３１のページ情報への変更内容の反映を検知すると、データ記憶部１３１から変更内容が反映されたページ情報を取得する。また、差分生成部１２１は、データ記憶部１３１からページ情報を取得すると共に、比較記憶部１３２に記憶されたページ情報（ステップＳ３２における変更内容が反映される前のページ情報に相当）を取得する。なお、ステップＳ３２において、変更反映部１０２がデータ記憶部１３１のページ情報に対して変更内容を反映したことは、別途、検知部等の機能部が検知し、差分生成部１２１に対して通知するものとしてもよい。この場合、差分生成部１２１は、検知部から通知を受けると、データ記憶部１３１および比較記憶部１３２からそれぞれページ情報を取得するものとすればよい。
【００６４】
＜ステップＳ３８＞
差分生成部１２１は、比較記憶部１３２から取得したページ情報が、後述する初期化された情報でない場合、比較記憶部１３２から取得したページ情報に対する、データ記憶部１３１から取得したページ情報の差分をページ差分情報として抽出する。
【００６５】
＜ステップＳ３９＞
差分生成部１２１は、データ記憶部１３１から取得したページ情報によって、比較記憶部１３２に記憶されたページ情報を上書きする。
【００６６】
＜ステップＳ４０＞
差分生成部１２１は、抽出したページ差分情報を、データ共有装置１０の差分送信部１２２へ送る。
【００６７】
＜ステップＳ４１＞
差分送信部１２２は、受け取ったページ差分情報にヘッダ情報を付加したパケットを、ネットワーク１を介して、他のデータ共有装置（ここでは、データ共有装置２０）に送信する。
【００６８】
以上の動作のように、データ共有装置１０内で表示部１６２により表示されているウェブページのページ情報が変更された場合、差分生成部１２１により、比較記憶部１３２に記憶された変更される前のページ情報との差分が抽出され、その差分の情報であるページ差分情報が、他のデータ共有装置（ここでは、データ共有装置２０）に送信される。ページ差分情報を受信したデータ共有装置２０は、図５で後述する動作によって、データ共有装置２０の表示部１６２により表示されているウェブページのページ情報に対して、ページ差分情報が示す差分を反映して、差分が反映されたページ情報に基づくページを表示部１６２に表示させる。これによって、データ共有装置１０およびデータ共有装置２０は、同一のページ情報を共有することになり、表示するページ（ウェブページ）を一致させることができる。
【００６９】
図５は、外部からページ差分情報を受信した場合の動作のシーケンス図である。図５を参照しながら、データ共有装置１０が、外部（データ共有装置２０）からページ差分情報を受信した場合の動作について説明する。
【００７０】
＜ステップＳ５１＞
データ共有装置１０の差分受信部１１１は、他のデータ共有装置（例えば、データ共有装置２０）から、ネットワーク１を介して、ページ差分情報を含むパケットを受信する。ここで、ページ差分情報が含む差分の内容とは、上述のページ情報の変更と同様に、例えば、表示部１６２に表示されているブラウザ上で文字が入力された場合、ボタン表示が無効化もしくは有効化された場合、ブラウザ上に表示されている部品の色または大きさが変更された場合、または部品に付属したメタデータが変更になった場合等の内容である。
【００７１】
＜ステップＳ５２＞
差分受信部１１１は、受信したパケットからヘッダ情報を除去したページ差分情報を、データ共有装置１０の差分反映部１１２に送る。
【００７２】
＜ステップＳ５３＞
差分反映部１１２は、比較記憶部１３２に記憶された情報を初期化する。例えば、差分反映部１１２は、比較記憶部１３２に記憶されたページ情報を削除することによって初期化するものとしてもよく、あるいは、所定の初期化情報で上書きすることにより初期化するものとしてもよい。以下、差分反映部１１２による初期化後の比較記憶部１３２の情報を、初期化された情報というものとする。
【００７３】
＜ステップＳ５４＞
差分反映部１１２は、データ記憶部１３１に記憶され、かつ、表示部１６２に表示されているページの基になるページ情報に対して、受け取ったページ差分情報が示す差分を反映させる。
【００７４】
＜ステップＳ５５＞
ページ制御部１６１は、データ記憶部１３１から、差分が反映されたページ情報を取得する。
【００７５】
＜ステップＳ５６＞
ページ制御部１６１は、取得したページ情報を表示部１６２が表示できる形式にページ変換する。
【００７６】
＜ステップＳ５７＞
ページ制御部１６１は、ページ変換したページを表示部１６２に送る。
【００７７】
＜ステップＳ５８＞
表示部１６２は、受け取ったページを表示する。
【００７８】
＜ステップＳ５９＞
差分生成部１２１は、ステップＳ５４における、差分反映部１１２によるデータ記憶部１３１のページ情報への差分の反映を検知すると、データ記憶部１３１から差分が反映されたページ情報を取得する。また、差分生成部１２１は、データ記憶部１３１からページ情報を取得すると共に、比較記憶部１３２に記憶されたページ情報（初期化された情報に相当）を取得する。なお、ステップＳ５４において、差分反映部１１２がデータ記憶部１３１のページ情報に対して差分を反映したことは、別途、検知部等の機能部が検知し、差分生成部１２１に対して通知するものとしてもよい。この場合、差分生成部１２１は、検知部から通知を受けると、データ記憶部１３１および比較記憶部１３２からそれぞれページ情報を取得するものとすればよい。
【００７９】
＜ステップＳ６０＞
差分生成部１２１は、比較記憶部１３２から取得したページ情報が初期化された情報であるので、データ記憶部１３１から取得したページ情報には差分がないものと判断する。したがって、差分生成部１２１は、データ記憶部１３１および比較記憶部１３２から取得したページ情報からページ差分情報を生成しない。
【００８０】
＜ステップＳ６１＞
差分生成部１２１は、データ記憶部１３１から取得したページ情報によって、比較記憶部１３２に記憶された初期化された情報を上書きする。
【００８１】
以上の動作のように、データ共有装置１０が外部（他のデータ共有装置）からページ差分情報を受信した場合、差分反映部１１２は、比較記憶部１３２を初期化すると共に、表示部１６２により表示されているウェブページのページ情報に対して、ページ差分情報が示す差分を反映して、差分が反映されたページ情報に基づくページを表示部１６２に表示させる。さらに、差分生成部１２１は、比較記憶部１３２が初期化されている場合、データ記憶部１３１から取得したページ情報の差分はないものと判断し、ページ差分情報を生成せず、ページ差分情報を外部（他のデータ共有装置）に送信しないものとしている。すなわち、データ共有装置１０にページ差分情報を送信した他のデータ共有装置は、そのページ差分情報が示す差分が反映されたページ情報に基づくページが既に表示されているものと判断できるので、データ共有装置１０が新たに同じ内容のページ差分情報を他のデータ共有装置に送信しないようにしている。これによって、ページ差分情報が元のデータ共有装置に転送されるというループの発生を抑制することができ、データ共有装置１０、２０およびネットワーク１のパフォーマンスの低下を抑制することができる。
【００８２】
（第１の実施形態の変形例）
図６は、第１の実施形態の変形例に係るデータ共有装置のブロック構成の例を示す図である。図６を参照しながら、本変形例に係るデータ共有装置１０ａ、２０ａの構成および動作について、第１の実施形態に係るデータ共有装置１０、２０と相違する構成および動作を中心に説明する。データ共有装置１０ａ、２０ａは、それぞれ図１に示すデータ共有装置１０、２０と同様のハードウェア構成を備える。
【００８３】
図６に示すように、データ共有装置１０ａのブロック構成は、図２に示すデータ共有装置１０のブロック構成における差分反映部１１２が差分反映部１１２ａ（差分反映手段）に置換された構成となっている。差分反映部１１２ａは、データ記憶部１３１に記憶され、かつ、表示装置１５に表示されているページの基になるページ情報に対して、差分受信部１１１から受け取ったページ差分情報が示す差分を反映させる機能部である。さらに、差分反映部１１２ａは、データ記憶部１３１に記憶されたページ情報だけでなく、比較記憶部１３２に記憶されたページ情報に対しても、差分受信部１１１から受け取ったページ差分情報が示す差分を反映させる。差分反映部１１２ａは、図１に示すＣＰＵ１２により実行されるプログラムにより実現される。
【００８４】
なお、データ共有装置２０ａについても、データ共有装置１０ａと同様に、図６に示すブロック構成を有する。
【００８５】
次に、データ共有装置１０ａの外部（データ共有装置２０ａ）からページ差分情報を受信した場合の動作について、図５に示すデータ共有装置１０の動作と相違する点を中心に説明する。なお、ステップＳ５１、Ｓ５２、およびＳ５４〜Ｓ５８については、第１の実施形態に係るデータ共有装置１０の動作と同様である。
【００８６】
＜ステップＳ５３＞
差分反映部１１２ａは、比較記憶部１３２に記憶されたページ情報に対して、受け取ったページ差分情報が示す差分を反映させる。
【００８７】
＜ステップＳ５９＞
差分生成部１２１は、ステップＳ５４における、差分反映部１１２によるデータ記憶部１３１のページ情報への差分の反映を検知すると、データ記憶部１３１から差分が反映されたページ情報を取得する。また、差分生成部１２１は、データ記憶部１３１からページ情報を取得すると共に、比較記憶部１３２に記憶された差分が反映されたページ情報を取得する。なお、ステップＳ５４において、差分反映部１１２がデータ記憶部１３１のページ情報に対して差分を反映したことは、別途、検知部等の機能部が検知し、差分生成部１２１に対して通知するものとしてもよい。この場合、差分生成部１２１は、検知部から通知を受けると、データ記憶部１３１および比較記憶部１３２からそれぞれページ情報を取得するものとすればよい。
【００８８】
＜ステップＳ６０＞
差分生成部１２１は、データ記憶部１３１から取得したページ情報と、比較記憶部１３２から取得したページ情報とを比較する。後述するステップＳ６１、および図４に示すシーケンス図のステップＳ３９の処理のように、データ記憶部１３１に記憶されたページ情報により比較記憶部１３２に記憶されたページ情報が既に上書きされている。さらに、ステップＳ５３およびＳ５４において、データ記憶部１３１および比較記憶部１３２に記憶されたページ情報は、差分反映部１１２によって同じページ差分情報によって差分を反映している。したがって、ここでは、差分生成部１２１は、データ記憶部１３１から取得したページ情報が、比較記憶部１３２から取得したページ情報に対して差分がないものと判断する。よって、差分生成部１２１は、データ記憶部１３１および比較記憶部１３２から取得したページ情報からページ差分情報を生成しない。
【００８９】
＜ステップＳ６１＞
差分生成部１２１は、データ記憶部１３１から取得したページ情報によって、比較記憶部１３２に記憶されたページ情報を上書きする。なお、上述のように、データ記憶部１３１に記憶されたページ情報と、比較記憶部１３２に記憶されたページ情報は同一のものなので、上書きすることは必ずしも必要ではない。
【００９０】
以上のように、差分反映部１１２ａは、比較記憶部１３２を初期化するのではなく、データ記憶部１３１のページ情報に対して差分を反映したページ差分情報によって、比較記憶部１３２のページ情報に対して差分を反映するものとしている。これによって、差分生成部１２１は、データ記憶部１３１から取得したページ情報が、比較記憶部１３２から取得したページ情報に対して差分がないものと判断することになるので、ページ差分情報を外部（他のデータ共有装置）に送信しないことになる。これによって、第１の実施形態と同様に、ページ差分情報が元のデータ共有装置に転送されるというループの発生を抑制することができ、データ共有装置１０ａ、２０ａおよびネットワーク１のパフォーマンスの低下を抑制することができる。また、第１の実施形態のように、比較記憶部１３２から取得したページ情報が初期化された情報である場合には、差分生成部１２１は、データ記憶部１３１から取得したページ情報には差分がないものと判断するというように取り決める必要がない。すなわち、差分生成部１２１は、通常の比較動作で差分の有無を判定すればよいことになり、処理の実装上簡略化することができる。
【００９１】
（第２の実施形態）
本実施の形態に係るデータ共有システム５００ｂおよびデータ共有装置１０ｂ、２０ｂについて、第１の実施形態に係るデータ共有システム５００およびデータ共有装置１０、２０と相違する構成および動作を中心に説明する。
【００９２】
図７は、第２の実施形態に係るデータ共有システムの全体構成の例を示す図である。図７を参照しながら、データ共有システム５００ｂの全体構成およびデータ共有装置１０ａ、２０ａのハードウェア構成について説明する。
【００９３】
図７に示すように、データ共有システム５００ｂは、データ共有装置１０ｂと、データ共有装置２０ｂと、を備えている。データ共有装置１０と、データ共有装置２０とは、ネットワーク１を介して接続されている。
【００９４】
なお、図７には、ネットワーク１を介して接続されるデータ共有装置として、データ共有装置１０ｂおよびデータ共有装置２０ｂの２台が記載されているが、これに限定されるものではなく、３台以上のデータ共有装置が接続されているものとしてもよい。
【００９５】
データ共有装置１０ｂは、表示装置で表示している画像に変更が生じた場合、その変更内容を含む情報を、他のデータ共有装置（図７ではデータ共有装置２０ｂ）に転送する装置である。データ共有装置１０ｂは、通信インターフェース１１ｂと、ＣＰＵ１２ｂと、ＲＡＭ１３ｂと、ＨＤＤ１４ｂと、表示装置１５ｂと、入力装置１６ｂと、を備えている。上述の各部は、バスによって互いに通信可能に接続されている。
【００９６】
通信インターフェース１１ｂは、ＬＡＮ等のネットワーク１を介して、データ共有装置２０ｂと通信するためのＴＣＰ／ＩＰ等のプロトコルに準拠したインターフェースである。例えば、通信インターフェース１１ｂは、データ共有装置２０ｂにデータを通信する場合、データにＴＣＰおよびＩＰ用のヘッダを付加または除去する。通信インターフェース１１ｂは、例えば、ＮＩＣ等の通信装置によって構成される。
【００９７】
ＣＰＵ１２ｂは、データ共有装置１０ｂ全体の動作を制御する。
【００９８】
ＲＡＭ１３ｂは、データ共有装置１０ｂで実行される画面転送アプリケーションおよびその他のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）アプリケーションを含む各種プログラム、およびデータ共有装置１０ｂで行われる各種処理に使用されるデータ等を記憶する装置である。ＲＡＭ１３ｂに展開されたＯＳ上で画面転送アプリケーション等が、ＣＰＵ１２ｂによって実行される。
【００９９】
ＨＤＤ１４ｂは、ＯＳ、プログラムまたはデータ等を蓄積して記憶する外部記憶装置である。なお、ＨＤＤ１４ｂは、外部記憶装置としてのＨＤＤにより実現されることに限定されるものではなく、例えば、ＳＳＤ、光ディスク、または光磁気ディスク（ＭＯ）等の記憶装置によって実現されるものとしてもよい。
【０１００】
表示装置１５ｂは、画面転送アプリケーションまたはＧＵＩアプリケーションによって生成された各種画像を表示する装置である。表示装置１５ｂは、例えば、ＣＲＴディスプレイ、液晶ディスプレイ、プラズマディスプレイまたは有機ＥＬディスプレイ等によって構成される。
【０１０１】
入力装置１６ｂは、ユーザによってＣＰＵ１２ｂに対して所定の処理を実行させるための操作入力を行う装置である。入力装置１６ｂは、例えば、マウス、キーボード、テンキー、タッチパッドまたはタッチパネル等の操作入力機能によって構成される。
【０１０２】
データ共有装置２０ｂは、データ共有装置１０ｂと同様の機能を有する装置である。データ共有装置２０ｂは、通信インターフェース２１ｂと、ＣＰＵ２２ｂと、ＲＡＭ２３ｂと、ＨＤＤ２４ｂと、表示装置２５ｂと、入力装置２６ｂと、を備えている。上述の各装置は、バスによって互いに通信可能に接続されている。また、通信インターフェース２１ｂ、ＣＰＵ２２ｂ、ＲＡＭ２３ｂ、ＨＤＤ２４ｂ、表示装置２５ｂおよび入力装置２６ｂは、それぞれデータ共有装置１０ｂの通信インターフェース１１ｂ、ＣＰＵ１２ｂ、ＲＡＭ１３ｂ、ＨＤＤ１４ｂ、表示装置１５ｂおよび入力装置１６ｂの機能と同様の機能を有する。
【０１０３】
図８は、第２の実施形態に係るデータ共有装置のブロック構成の例を示す図である。図８を参照しながら、データ共有装置１０ｂ、２０ｂのブロック構成について説明する。
【０１０４】
図８に示すように、データ共有装置１０ｂは、変更生成部１０１ｂ（変更生成手段）と、変更反映部１０２ｂ（変更反映手段）と、差分受信部１１１ｂ（差分受信手段）と、差分反映部１１２ｂ（差分反映手段）と、差分生成部１２１ｂ（差分生成手段）と、差分送信部１２２ｂ（差分送信手段）と、データ記憶部１３１ｂ（第１記憶手段）と、比較記憶部１３２ｂ（第２記憶手段）と、画像制御部１６１ｂと、表示部１６２ｂと、を備えている。
【０１０５】
変更生成部１０１ｂは、例えば、ユーザによる入力装置１６ｂの操作によって、表示装置１５ｂに表示されている画像の基になる画像情報が変更された場合、その変更内容を示す情報である画像変更情報（変更情報）を生成する機能部である。変更生成部１０１ｂは、図７に示すＣＰＵ１２ｂにより実行されるプログラムにより実現される。
【０１０６】
変更反映部１０２ｂは、データ記憶部１３１ｂに記憶され、かつ、表示装置１５ｂに表示されている画像の基になる画像情報（第１情報）に対して、変更生成部１０１ｂから受け取った画像変更情報が示す変更内容を反映させる機能部である。変更反映部１０２ｂは、図７に示すＣＰＵ１２ｂにより実行されるプログラムにより実現される。
【０１０７】
差分受信部１１１ｂは、他のデータ共有装置（例えば、データ共有装置２０ｂ）から、ネットワーク１を介して、画像差分情報（第２差分情報）にヘッダ情報が付加されたパケットを受信する機能部である。ここで、画面差分情報とは、後述のように差分生成部１２１ｂが、２つの画像情報を比較して抽出した差分を示す情報である。差分受信部１１１ｂは、図７に示す通信インターフェース１１ｂにより実現される。
【０１０８】
差分反映部１１２ｂは、比較記憶部１３２ｂに記憶された情報（第２情報）を初期化し、データ記憶部１３１ｂに記憶され、かつ、表示装置１５ｂに表示されている画像の基になる画像情報に対して、差分受信部１１１ｂから受け取った画像差分情報が示す差分を反映させる機能部である。差分反映部１１２ｂは、図７に示すＣＰＵ１２ｂにより実行されるプログラムにより実現される。
【０１０９】
差分生成部１２１ｂは、変更反映部１０２ｂによるデータ記憶部１３１ｂの画像情報への変更内容の反映、または、差分反映部１１２ｂによるデータ記憶部１３１ｂの画像情報への差分の反映を検知すると、データ記憶部１３１ｂから変更内容が反映された画像情報を取得し、比較記憶部１３２ｂに記憶された画像情報（初期化された情報に相当）を取得して、双方の画像情報を比較して差分を画像差分情報（第１差分情報）として抽出する機能部である。差分生成部１２１ｂは、図７に示すＣＰＵ１２ｂにより実行されるプログラムにより実現される。
【０１１０】
差分送信部１２２ｂは、差分生成部１２１ｂから受け取った画像差分情報にヘッダ情報を付加したパケットを、ネットワーク１を介して、他のデータ共有装置（データ共有装置２０ｂ）に送信する機能部である。差分送信部１２２ｂは、図７に示す通信インターフェース１１ｂにより実現される。
【０１１１】
データ記憶部１３１ｂは、表示装置１５ｂに表示される画像の画像情報を記憶する機能部である。データ記憶部１３１ｂは、図７に示すＲＡＭ１３ｂによって実現される。
【０１１２】
比較記憶部１３２ｂは、変更反映部１０２ｂによる画像変更情報、または、差分反映部１１２ｂによる画像差分情報によってデータ記憶部１３１ｂに記憶された画像情報の内容が変わる前の状態の画像情報を一時的に記憶する機能部である。比較記憶部１３２ｂは、図７に示すＲＡＭ１３ｂによって実現される。
【０１１３】
画像制御部１６１ｂは、データ記憶部１３１ｂから取得した画像情報を表示部１６２に送る機能部である。画像制御部１６１ｂは、図７に示すＣＰＵ１２ｂにより実行されるプログラムにより実現される。
【０１１４】
表示部１６２ｂは、画像制御部１６１ｂから受け取った画像情報に基づく画像を表示する機能部である。表示部１６２ｂは、図７に示す表示装置１５ｂにより実現される。
【０１１５】
なお、データ記憶部１３１ｂおよび比較記憶部１３２ｂは、ＲＡＭ１３ｂとは別のフレームバッファ等の記憶装置によって実現されるものとしてもよい。
【０１１６】
また、データ共有装置２０ｂについても、データ共有装置１０ｂと同様に、図８に示すブロック構成を有する。
【０１１７】
また、上述の変更生成部１０１ｂ、変更反映部１０２ｂ、差分反映部１１２ｂ、差分生成部１２１ｂおよび画像制御部１６１ｂは、ソフトウェアであるプログラムではなく、ハードウェア回路によって実現されるものとしてもよい。
【０１１８】
また、図８に示した変更生成部１０１ｂ、変更反映部１０２ｂ、差分受信部１１１ｂ、差分反映部１１２ｂ、差分生成部１２１ｂ、差分送信部１２２ｂ、データ記憶部１３１ｂ、比較記憶部１３２ｂ、画像制御部１６１ｂおよび表示部１６２ｂは、機能を概念的に示したものであって、このような構成に限定されるものではない。
【０１１９】
図９は、データ共有装置内で画面が変更された場合の動作のシーケンス図である。図９を参照しながら、データ共有装置１０ｂ内で、表示されている画像の画像情報が変更された場合の動作について説明する。
【０１２０】
＜ステップＳ７１＞
データ共有装置１０ｂの変更生成部１０１ｂは、例えば、ユーザによる入力装置１６ｂの操作によって、表示部１６２ｂに表示されている画像の基になる画像情報が変更された場合、その変更内容を含む情報である画像変更情報を生成する。具体的には、画像情報の変更とは、例えば、表示部１６２ｂに表示されている画像上で文字が入力された場合、またはボタン表示が無効化あるいは有効化された場合等の表示部１６２ｂに表示されているウィンドウの表示内容が変わった場合である。そして、変更生成部１０１ｂは、生成した画像変更情報を、データ共有装置１０ｂの変更反映部１０２ｂに送る。
【０１２１】
＜ステップＳ７２＞
変更反映部１０２ｂは、データ記憶部１３１ｂに記憶され、かつ、表示部１６２ｂに表示されている画像の基になる画像情報に対して、受け取った画像変更情報が示す変更内容を反映させる。
【０１２２】
＜ステップＳ７３＞
データ共有装置１０ｂの画像制御部１６１ｂは、データ記憶部１３１ｂから、変更内容が反映された画像情報を取得する。
【０１２３】
＜ステップＳ７４＞
画像制御部１６１ｂは、画像情報を表示部１６２ｂに送る。
【０１２４】
＜ステップＳ７５＞
表示部１６２ｂは、受け取った画像情報に基づいて画像を表示する。
【０１２５】
＜ステップＳ７６＞
データ共有装置１０ｂの差分生成部１２１ｂは、ステップＳ７２における、変更反映部１０２ｂによるデータ記憶部１３１ｂの画像情報への変更内容の反映を検知すると、データ記憶部１３１ｂから変更内容が反映された画像情報を取得する。また、差分生成部１２１ｂは、データ記憶部１３１ｂから画像情報を取得すると共に、比較記憶部１３２ｂに記憶された画像情報（ステップＳ７２における変更内容が反映される前の画像情報に相当）を取得する。なお、ステップＳ７２において、変更反映部１０２ｂがデータ記憶部１３１ｂの画像情報に対して変更内容を反映したことは、別途、検知部等の機能部が検知し、差分生成部１２１ｂに対して通知するものとしてもよい。この場合、差分生成部１２１ｂは、検知部から通知を受けると、データ記憶部１３１ｂおよび比較記憶部１３２ｂからそれぞれ画像情報を取得するものとすればよい。
【０１２６】
＜ステップＳ７７＞
差分生成部１２１ｂは、比較記憶部１３２ｂから取得した画像情報が、後述する初期化された情報でない場合、比較記憶部１３２ｂから取得した画像情報に対する、データ記憶部１３１ｂから取得した画像情報の差分を画像差分情報として抽出する。
【０１２７】
＜ステップＳ７８＞
差分生成部１２１ｂは、データ記憶部１３１ｂから取得した画像情報によって、比較記憶部１３２ｂに記憶された画像情報を上書きする。
【０１２８】
＜ステップＳ７９＞
差分生成部１２１ｂは、抽出した画像差分情報を、データ共有装置１０ｂの差分送信部１２２ｂへ送る。
【０１２９】
＜ステップＳ８０＞
差分送信部１２２ｂは、受け取った画像差分情報にヘッダ情報を付加したパケットを、ネットワーク１を介して、他のデータ共有装置（ここでは、データ共有装置２０ｂ）に送信する。
【０１３０】
以上の動作のように、データ共有装置１０ｂ内で表示部１６２ｂにより表示されている画像の画像情報が変更された場合、差分生成部１２１ｂにより、比較記憶部１３２ｂに記憶された変更される前の画像情報との差分が抽出され、その差分の情報である画像差分情報が、他のデータ共有装置（ここでは、データ共有装置２０ｂ）に送信される。画像差分情報を受信したデータ共有装置２０ｂは、図１０で後述する動作によって、データ共有装置２０ｂの表示部１６２ｂにより表示されている画像の画像情報に対して、画像差分情報が示す差分を反映して、差分が反映された画像情報に基づく画像を表示部１６２ｂに表示させる。これによって、データ共有装置１０ｂおよびデータ共有装置２０ｂは、同一の画像情報を共有することになり、表示する画像を一致させることができる。
【０１３１】
図１０は、外部から画像差分情報を受信した場合の動作のシーケンス図である。図１０を参照しながら、データ共有装置１０ｂが、外部（データ共有装置２０ｂ）から画像差分情報を受信した場合について説明する。
【０１３２】
＜ステップＳ９１＞
データ共有装置１０ｂの差分受信部１１１ｂは、他のデータ共有装置（例えば、データ共有装置２０ｂ）から、ネットワーク１を介して、画像差分情報を含むパケットを受信する。ここで、画像差分情報が含む差分の内容とは、上述の画像情報の変更と同様に、例えば、表示部１６２ｂに表示されている画像上で文字が入力された場合、またはボタン表示が無効化あるいは有効化された場合等の表示部１６２ｂに表示されているウィンドウの表示内容が変わった場合の内容である。
【０１３３】
＜ステップＳ９２＞
差分受信部１１１ｂは、受信したパケットからヘッダ情報を除去した画像差分情報を、データ共有装置１０ｂの差分反映部１１２ｂに送る。
【０１３４】
＜ステップＳ９３＞
差分反映部１１２ｂは、比較記憶部１３２ｂに記憶された情報を初期化する。例えば、差分反映部１１２ｂは、比較記憶部１３２ｂに記憶された画像情報を削除することによって初期化するものとしてもよく、あるいは、所定の初期化情報で上書きすることにより初期化するものとしてもよい。以下、差分反映部１１２ｂによる初期化後の比較記憶部１３２ｂの情報を、初期化された情報というものとする。
【０１３５】
＜ステップＳ９４＞
差分反映部１１２ｂは、データ記憶部１３１ｂに記憶され、かつ、表示部１６２ｂに表示されている画像の基になる画像情報に対して、受け取った画像差分情報が示す差分を反映させる。
【０１３６】
＜ステップＳ９５＞
画像制御部１６１ｂは、データ記憶部１３１ｂから、差分が反映された画像情報を取得する。
【０１３７】
＜ステップＳ９６＞
画像制御部１６１ｂは、画像情報を表示部１６２ｂに送る。
【０１３８】
＜ステップＳ９７＞
表示部１６２ｂは、受け取った画像情報に基づいて画像を表示する。
【０１３９】
＜ステップＳ９８＞
差分生成部１２１ｂは、ステップＳ９４における、差分反映部１１２ｂによるデータ記憶部１３１ｂの画像情報への差分の反映を検知すると、データ記憶部１３１ｂから差分が反映された画像情報を取得する。また、差分生成部１２１ｂは、データ記憶部１３１ｂから画像情報を取得すると共に、比較記憶部１３２ｂに記憶された画像情報（初期化された情報に相当）を取得する。なお、ステップＳ９４において、差分反映部１１２ｂがデータ記憶部１３１ｂの画像情報に対して差分を反映したことは、別途、検知部等の機能部が検知し、差分生成部１２１ｂに対して通知するものとしてもよい。この場合、差分生成部１２１ｂは、検知部から通知を受けると、データ記憶部１３１ｂおよび比較記憶部１３２ｂからそれぞれ画像情報を取得するものとすればよい。
【０１４０】
＜ステップＳ９９＞
差分生成部１２１ｂは、比較記憶部１３２ｂから取得した画像情報が初期化された情報であるので、データ記憶部１３１ｂから取得した画像情報には差分がないものと判断する。したがって、差分生成部１２１ｂは、データ記憶部１３１ｂおよび比較記憶部１３２ｂから取得した画像情報から画像差分情報を生成しない。
【０１４１】
＜ステップＳ１００＞
差分生成部１２１ｂは、データ記憶部１３１ｂから取得した画像情報によって、比較記憶部１３２ｂに記憶された初期化された情報を上書きする。
【０１４２】
以上の動作のように、データ共有装置１０ｂが外部（他のデータ共有装置）から画像差分情報を受信した場合、差分反映部１１２ｂは、比較記憶部１３２ｂを初期化すると共に、表示部１６２ｂにより表示されている画像の画像情報に対して、画像差分情報が示す差分を反映して、差分が反映された画像情報に基づく画像を表示部１６２ｂに表示させる。さらに、差分生成部１２１ｂは、比較記憶部１３２ｂが初期化されている場合、データ記憶部１３１ｂから取得した画像情報の差分はないものと判断し、画像差分情報を生成せず、画像差分情報を外部（他のデータ共有装置）に送信しないものとしている。すなわち、データ共有装置１０ｂに画像差分情報を送信した他のデータ共有装置は、その画像差分情報が示す差分が反映された画像情報に基づく画像が既に表示されているものと判断できるので、データ共有装置１０ｂが新たに同じ内容の画像差分情報を他のデータ共有装置に送信しないようにしている。これによって、画像差分情報が元のデータ共有装置に転送されるというループの発生を抑制することができ、データ共有装置１０ｂ、２０ｂおよびネットワーク１のパフォーマンスの低下を抑制することができる。
【０１４３】
なお、第１の実施形態の変形例に係るデータ共有装置１０ａ、２０ａと同様に、差分反映部１１２ｂは、比較記憶部１３２ｂを初期化するのではなく、データ記憶部１３１ｂおよび比較記憶部１３２ｂに記憶された画像情報に対して、同じ画像差分情報が示す差分を反映するものとしてもよい。これによって、画像差分情報が元のデータ共有装置に転送されるというループの発生を抑制することができ、データ共有装置１０ｂ、２０ｂおよびネットワーク１のパフォーマンスの低下を抑制することができる。また、第２の実施形態のように、比較記憶部１３２ｂから取得した画像情報が初期化された情報である場合には、差分生成部１２１ｂは、データ記憶部１３１ｂから取得した画像情報には差分がないものと判断するというように取り決める必要がない。すなわち、差分生成部１２１ｂは、通常の比較動作で差分の有無を判定すればよいことになり、処理の実装上簡略化することができる。
【０１４４】
また、第１の実施形態におけるページ情報、および第２の実施形態における画像情報のように、表示装置に画像として表示される情報を複数のデータ共有装置間で共有するものとしたが、共有する情報として、表示される情報に限定されるものではない。すなわち、特に表示を目的としない情報（例えば、データファイル、およびデータベース等）に対して、上述の動作によって、複数のデータ共有装置間で共有するものとしてもよい。
【０１４５】
また、上述の実施形態のデータ共有装置１０（２０）のＣＰＵ１２、およびデータ共有装置１０ｂ（２０ｂ）のＣＰＵ１２ｂで実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、またはフレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
【０１４６】
また、上述の実施形態のデータ共有装置１０（２０）のＣＰＵ１２、およびデータ共有装置１０ｂ（２０ｂ）のＣＰＵ１２ｂで実行されるプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードされることにより提供されるようにしてもよい。また、上述の実施形態のデータ共有装置１０（２０）のＣＰＵ１２、およびデータ共有装置１０ｂ（２０ｂ）のＣＰＵ１２ｂで実行されるプログラムは、インターネット等のネットワーク経由で提供または配布されるようにしてもよい。また、上述の実施形態のデータ共有装置１０（２０）のＣＰＵ１２、およびデータ共有装置１０ｂ（２０ｂ）のＣＰＵ１２ｂで実行されるプログラムは、ＲＯＭ等に予め組み込んで提供されるようにしてもよい。
【０１４７】
また、上述の実施形態のデータ共有装置１０（２０）のＣＰＵ１２、およびデータ共有装置１０ｂ（２０ｂ）のＣＰＵ１２ｂで実行されるプログラムは、上述したＣＰＵ１２およびＣＰＵ１２ｂで実行される各機能をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、ＣＰＵ１２、１２ｂが記憶装置（ＲＡＭ１３、１３ｂ）からプログラムを読み出して実行することによって、上述の各機能がコンピュータ上で実現されるようになっている。
【０１４８】
以上のように本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、および変更を行うことができる。これらの実施形態およびその変形は、発明の範囲および要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１４９】
１  ネットワーク
１０、１０ａ、１０ｂ  データ共有装置
１１、１１ｂ  通信インターフェース
１２、１２ｂ  ＣＰＵ
１３、１３ｂ  ＲＡＭ
１４、１４ｂ  ＨＤＤ
１５、１５ｂ  表示装置
１６、１６ｂ  入力装置
２０、２０ａ、２０ｂ  データ共有装置
２１、２１ｂ  通信インターフェース
２２、２２ｂ  ＣＰＵ
２３、２３ｂ  ＲＡＭ
２４、２４ｂ  ＨＤＤ
２５、２５ｂ  表示装置
２６、２６ｂ  入力装置
３０  サーバ装置
３１  通信インターフェース
３２  ＣＰＵ
３３  ＲＡＭ
３４  ＨＤＤ
１０１、１０１ｂ  変更生成部
１０２、１０２ｂ  変更反映部
１１１、１１１ｂ  差分受信部
１１２、１１２ａ、１１２ｂ  差分反映部
１２１、１２１ｂ  差分生成部
１２２、１２２ｂ  差分送信部
１３１、１３１ｂ  データ記憶部
１３２、１３２ｂ  比較記憶部
１４１  要求生成部
１４２  要求送信部
１５１  応答受信部
１５２  ページ情報抽出部
１６１  ページ制御部
１６１ｂ  画像制御部
１６２、１６２ｂ  表示部
５００、５００ｂ  データ共有システム
【図１】
2016012327.tif 000003
【図２】
2016012327.tif 000004
【図３】
2016012327.tif 000005
【図４】
2016012327.tif 000006
【図５】
2016012327.tif 000007
【図６】
2016012327.tif 000008
【図７】
2016012327.tif 000009
【図８】
2016012327.tif 000010
【図９】
2016012327.tif 000011
【図１０】
2016012327.tif 000012