JP2016012327A - データ共有装置、データ共有方法およびプログラム - Google Patents

データ共有装置、データ共有方法およびプログラム Download PDF

Info

Publication number
JP2016012327A
JP2016012327A JP2014135025A JP2014135025A JP2016012327A JP 2016012327 A JP2016012327 A JP 2016012327A JP 2014135025 A JP2014135025 A JP 2014135025A JP 2014135025 A JP2014135025 A JP 2014135025A JP 2016012327 A JP2016012327 A JP 2016012327A
Authority
JP
Japan
Prior art keywords
difference
information
data sharing
unit
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014135025A
Other languages
English (en)
Inventor
成道 坂井
Narumichi Sakai
成道 坂井
会津 宏幸
Hiroyuki Aizu
宏幸 会津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014135025A priority Critical patent/JP2016012327A/ja
Priority to US14/731,543 priority patent/US9762666B2/en
Publication of JP2016012327A publication Critical patent/JP2016012327A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】パフォーマンスの低下を抑制するデータ共有装置、データ共有方法およびプログラムを提供する。
【解決手段】実施形態のデータ共有装置は、第1記憶手段と、第2記憶手段と、差分生成手段と、差分送信手段と、差分受信手段と、差分反映手段と、を備える。第1記憶手段は、第1情報を記憶する。第2記憶手段は、第1情報の複製である第2情報を記憶する。差分生成手段は、第1情報が変更された場合、変更された第1情報と、第2情報とを比較して、差分を示す第1差分情報を生成する。差分送信手段は、第1差分情報を他のデータ共有装置に送信する。差分受信手段は、他のデータ共有装置において生成された第2差分情報を受信する。差分反映手段は、第1記憶手段に記憶された第1情報に対して、第2差分情報が示す差分を反映させ、その場合に差分生成手段により第1差分情報を生成させない。
【選択図】図2

Description

本発明の実施形態は、データ共有装置、データ共有方法およびプログラムに関する。
近年、VNC(Virtual Network Computing)等のアプリケーションにより、ネットワーク上で接続された複数の情報処理装置のいずれかで表示画像に変更がなされた場合、画像の差分を他の情報処理装置に転送して、表示画像を一致させるデータ共有システムが提案されている。
しかし、このようなシステムにおいては、特定の情報処理装置上で表示画像の変更が発生して、その画像の差分情報が他の情報処理装置へ転送された場合、他の情報処理装置は、受信した差分情報により表示画像が変更されるので、さらに、その変更による差分情報を、元の特定の情報処理装置に転送するというループが発生する。したがって、このような転送のループの発生により、情報処理装置およびネットワークのパフォーマンスが低下してしまうという問題点があった。
特開平8−223430号公報
本発明は、上記に鑑みてなされたものであって、パフォーマンスの低下を抑制するデータ共有装置、データ共有方法およびプログラムを提供することを目的とする。
実施形態のデータ共有装置は、第1記憶手段と、第2記憶手段と、差分生成手段と、差分送信手段と、差分受信手段と、差分反映手段と、を備える。第1記憶手段は、第1情報を記憶する。第2記憶手段は、第1記憶手段に記憶された第1情報の複製である第2情報を記憶する。差分生成手段は、第1記憶手段に記憶されている第1情報が変更された場合、変更された第1情報と、第2記憶手段に記憶された第2情報とを比較して、差分がある場合に差分を抽出し、差分を示す第1差分情報を生成する。差分送信手段は、第1差分情報を他のデータ共有装置に送信する。差分受信手段は、他のデータ共有装置において生成された第2差分情報を受信する。差分反映手段は、第1記憶手段に記憶された第1情報に対して、第2差分情報が示す差分を反映させ、差分を反映させる場合に差分生成手段により第1差分情報を生成させない。
第1の実施形態に係るデータ共有システムの全体構成の例を示す図である。 第1の実施形態に係るデータ共有装置のブロック構成の例を示す図である。 サーバ装置からページ応答を受信した場合の動作のシーケンス図である。 データ共有装置内でページ変更された場合の動作のシーケンス図である。 外部からページ差分情報を受信した場合の動作のシーケンス図である。 変形例に係るデータ共有装置のブロック構成の例を示す図である。 第2の実施形態に係るデータ共有システムの全体構成の例を示す図である。 第2の実施形態に係るデータ共有装置のブロック構成の例を示す図である。 データ共有装置内で画面が変更された場合の動作のシーケンス図である。 外部から画像差分情報を受信した場合の動作のシーケンス図である。
以下に、図面を参照しながら、本発明の実施形態に係るデータ共有装置、データ共有方法およびプログラムを詳細に説明する。また、以下の図面において、同一の部分には同一の符号が付してある。ただし、図面は模式的なものであるため、具体的な厚みおよび寸法は以下の説明を参酌して判断すべきものである。
(第1の実施形態)
図1は、第1の実施形態に係るデータ共有システムの全体構成の例を示す図である。図1を参照しながら、データ共有システム500の全体構成およびデータ共有装置10、20のハードウェア構成について説明する。
図1に示すように、データ共有システム500は、データ共有装置10と、データ共有装置20と、サーバ装置30と、備えている。データ共有装置10と、データ共有装置20と、サーバ装置30とは、ネットワーク1を介して接続されている。ネットワーク1は、IEEE(Institute of Electrical and Electronics Engineer)802.3等で規定される有線通信プロトコル、またはIEEE802.11で規定される無線通信プロトコル、その他のプロトコルに準拠したネットワークであり、LAN(Local Area Network)、インターネットまたは専用回線等の通信回線によって実現される。
なお、図1には、ネットワーク1を介して接続されるデータ共有装置として、データ共有装置10およびデータ共有装置20の2台が記載されているが、これに限定されるものではなく、3台以上のデータ共有装置が接続されているものとしてもよい。
データ共有装置10は、サーバ装置30へページ要求を送信し、ページ応答を受信して、ページ応答に含まれるページ情報を、他のデータ共有装置(図1ではデータ共有装置20)に転送する装置である。ここで、ページ応答とは、データ共有装置10からの要求されるページを含む応答情報であり、例えば、ヘッダ情報、ウェブページを構成するリソースであるHTML(HyperText Markup Language)ファイル、メディアファイルまたはスクリプト等を含む。また、ページ情報とは、ここでは、XTMLファイルまたはXML(Extensible Markup Language)ファイル等のマークアップ言語で記載されたウェブページの情報であるものとする。データ共有装置10は、通信インターフェース11と、CPU(Central Processing Unit)12と、RAM(Random Access Memory)13と、HDD(Hard Disk Drive)14と、表示装置15と、入力装置16と、を備えている。上述の各装置は、バスによって互いに通信可能に接続されている。
通信インターフェース11は、LAN等のネットワーク1を介して、データ共有装置20およびサーバ装置30等と通信するためのTCP(Transmission Control Protocol)/IP(Internet Protocol)等のプロトコルに準拠したインターフェースである。例えば、通信インターフェース11がTCP/IPに準拠している場合、通信インターフェース11は、データ共有装置20およびサーバ装置30から受信したデータからTCPおよびIPのヘッダを取り除く。また、通信インターフェース11は、データ共有装置20およびサーバ装置30にデータを通信する場合、データにTCPおよびIP用のヘッダを付加または除去する。通信インターフェース11は、例えば、NIC(Network Interface Card)等の通信装置によって構成される。
CPU12は、データ共有装置10全体の動作を制御する。
RAM13は、データ共有装置10で実行されるブラウザ等のクライアント用アプリケーションを含む各種プログラム、およびデータ共有装置10で行われる各種処理に使用されるデータ等を記憶する装置である。RAM13に展開されたOS(Operating System)上でクライアント用アプリケーションが、CPU12によって実行される。
HDD14は、OS、プログラムまたはデータ等を蓄積して記憶する外部記憶装置である。なお、HDD14は、外部記憶装置としてのHDDにより実現されることに限定されるものではなく、例えば、SSD(Solid State Drive)、光ディスク、または光磁気ディスク(MO:Magneto−Optical Disk)等の記憶装置によって実現されるものとしてもよい。
表示装置15は、ブラウザ等によりサーバ装置30から受信したページ等の各種画像を表示する装置である。表示装置15は、例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、プラズマディスプレイまたは有機EL(Electroluminescence)ディスプレイ等によって構成される。
入力装置16は、ユーザによってCPU12に対して所定の処理を実行させるための操作入力を行う装置である。入力装置16は、例えば、マウス、キーボード、テンキー、タッチパッドまたはタッチパネル等の操作入力機能によって構成される。
データ共有装置20は、データ共有装置10と同様の機能を有する装置である。データ共有装置20は、通信インターフェース21と、CPU22と、RAM23と、HDD24と、表示装置25と、入力装置26と、を備えている。上述の各装置は、バスによって互いに通信可能に接続されている。また、通信インターフェース21、CPU22、RAM23、HDD24、表示装置25および入力装置26は、それぞれデータ共有装置10の通信インターフェース11、CPU12、RAM13、HDD14、表示装置15および入力装置16の機能と同様の機能を有する。
サーバ装置30は、データ共有装置10、20から受信したページ要求に対して、ウェブページ等のページ情報を含むページ応答をデータ共有装置10、20に送信するウェブサーバとして機能する装置である。サーバ装置30は、通信インターフェース31と、CPU32と、RAM33と、HDD34と、を備えている。上述の各装置は、バスによって互いに通信可能に接続されている。
通信インターフェース31は、LAN等のネットワーク1を介して、データ共有装置10、20等と通信するためのTCP/IP等のプロトコルに準拠したインターフェースである。例えば、通信インターフェース31がTCP/IPに準拠している場合、通信インターフェース31は、データ共有装置10、20から受信したデータからTCPおよびIPのヘッダを取り除く。また、通信インターフェース31は、データ共有装置10、20にデータを通信する場合、データにTCPおよびIP用のヘッダを付加または除去する。通信インターフェース31は、例えば、NIC(Network Interface Card)等の通信装置によって構成される。
CPU32は、サーバ装置30全体の動作を制御する。
RAM33は、サーバ装置30で実行されるサーバ用アプリケーションを含む各種プログラム、およびサーバ装置30で行われる各種処理に使用されるデータ等を記憶する装置である。RAM33に展開されたOS上でサーバ用アプリケーションが、CPU32によって実行される。
HDD34は、OS、プログラムまたはデータ等を蓄積して記憶する外部記憶装置である。なお、HDD34は、外部記憶装置としてのHDDにより実現されることに限定されるものではなく、例えば、SSD、光ディスク、または光磁気ディスク(MO)等の記憶装置によって実現されるものとしてもよい。
図2は、第1の実施形態に係るデータ共有装置のブロック構成の例を示す図である。図2を参照しながら、データ共有装置10、20のブロック構成について説明する。
図2に示すように、データ共有装置10は、変更生成部101(変更生成手段)と、変更反映部102(変更反映手段)と、差分受信部111(差分受信手段)と、差分反映部112(差分反映手段)と、差分生成部121(差分生成手段)と、差分送信部122(差分送信手段)と、データ記憶部131(第1記憶手段)と、比較記憶部132(第2記憶手段)と、要求生成部141と、要求送信部142と、応答受信部151と、ページ情報抽出部152と、ページ制御部161と、表示部162と、を備えている。
変更生成部101は、例えば、ユーザによる入力装置16の操作によって、表示装置15に表示されているページの基になるページ情報が変更された場合、その変更内容を示す情報であるページ変更情報(変更情報)を生成する機能部である。変更生成部101は、図1に示すCPU12により実行されるプログラムにより実現される。
変更反映部102は、データ記憶部131に記憶され、かつ、表示装置15に表示されているページの基になるページ情報(第1情報)に対して、変更生成部101から受け取ったページ変更情報が示す変更内容を反映させる機能部である。変更反映部102は、図1に示すCPU12により実行されるプログラムにより実現される。
差分受信部111は、他のデータ共有装置(例えば、データ共有装置20)から、ネットワーク1を介して、ページ差分情報(第2差分情報)にヘッダ情報が付加されたパケットを受信する機能部である。ここで、ページ差分情報とは、後述のように差分生成部121が、2つのページ情報を比較して抽出した差分を示す情報である。差分受信部111は、図1に示す通信インターフェース11により実現される。
差分反映部112は、比較記憶部132に記憶された情報(第2情報)を初期化し、データ記憶部131に記憶され、かつ、表示装置15に表示されているページの基になるページ情報に対して、差分受信部111から受け取ったページ差分情報が示す差分を反映させる機能部である。差分反映部112は、図1に示すCPU12により実行されるプログラムにより実現される。
差分生成部121は、変更反映部102によるデータ記憶部131のページ情報への変更内容の反映、または、差分反映部112によるデータ記憶部131のページ情報への差分の反映を検知すると、データ記憶部131から変更内容が反映されたページ情報を取得し、比較記憶部132に記憶されたページ情報(初期化された情報に相当)を取得して、双方のページ情報を比較して差分をページ差分情報(第1差分情報)として抽出する機能部である。差分生成部121は、図1に示すCPU12により実行されるプログラムにより実現される。
差分送信部122は、差分生成部121から受け取ったページ差分情報にヘッダ情報を付加したパケットを、ネットワーク1を介して、他のデータ共有装置(データ共有装置20等)に送信する機能部である。差分送信部122は、図1に示す通信インターフェース11により実現される。
データ記憶部131は、表示装置15に表示されるウェブページのページ情報を記憶する機能部である。データ記憶部131は、図1に示すRAM13によって実現される。
比較記憶部132は、変更反映部102によるページ変更情報、または、差分反映部112によるページ差分情報によってデータ記憶部131に記憶されたページ情報の内容が変わる前の状態のページ情報を一時的に記憶する機能部である。比較記憶部132は、図1に示すRAM13によって実現される。
要求生成部141は、ユーザが閲覧を所望するウェブページを要求するためのページ要求を生成する機能部である。要求生成部141は、図1に示すCPU12により実行されるプログラムにより実現される。
要求送信部142は、要求生成部141から受け取ったページ要求にヘッダ情報を付加したパケットを、ネットワーク1を介してサーバ装置30に送信する機能部である。要求送信部142は、図1に示す通信インターフェース11により実現される。
応答受信部151は、サーバ装置30から、HTMLまたはXML等のページ情報を含むページ応答にヘッダ情報が付加されたパケットを、ネットワーク1を介して受信する機能部である。応答受信部151は、図1に示す通信インターフェース11により実現される。
ページ情報抽出部152は、応答受信部151から受け取ったページ応答からページ情報を抽出する機能部である。ページ情報抽出部152は、図1に示すCPU12により実行されるプログラムにより実現される。
ページ制御部161は、データ記憶部131から取得したページ情報を表示部162が表示できる形式にページ変換する機能部である。ページ制御部161は、図1に示すCPU12により実行されるプログラムにより実現される。
表示部162は、ページ制御部161によりページ変換されたページを表示する機能部である。表示部162は、図1に示す表示装置15により実現される。
なお、データ共有装置20についても、データ共有装置10と同様に、図2に示すブロック構成を有する。
また、上述の変更生成部101、変更反映部102、差分反映部112、差分生成部121、要求生成部141、ページ情報抽出部152およびページ制御部161は、ソフトウェアであるプログラムではなく、ハードウェア回路によって実現されるものとしてもよい。
また、図2に示した変更生成部101、変更反映部102、差分受信部111、差分反映部112、差分生成部121、差分送信部122、データ記憶部131、比較記憶部132、要求生成部141、要求送信部142、応答受信部151、ページ情報抽出部152、ページ制御部161および表示部162は、機能を概念的に示したものであって、このような構成に限定されるものではない。
図3は、サーバ装置からページ応答を受信した場合の動作のシーケンス図である。図3を参照しながら、データ共有装置10がサーバ装置30にページ要求を送信し、サーバ装置30からページ応答を受信した場合の動作について説明する。
<ステップS11>
データ共有装置10の要求生成部141は、ユーザが閲覧を所望するウェブページを要求するためのページ要求を生成し、ページ要求をデータ共有装置10の要求送信部142に送る。
<ステップS12>
要求送信部142は、受け取ったページ要求にヘッダ情報を付加したパケットを、ネットワーク1を介してサーバ装置30に送信する。
<ステップS13>
サーバ装置30は、受信したパケットからヘッダ情報を除去したページ要求に基づいて、データ共有装置10が要求するページを、サーバ装置30のHDD34等の記憶装置から取得する。そして、サーバ装置30は、取得したHTMLまたはXML等のページ情報を含むページ応答にヘッダ情報を付加したパケットを、ネットワーク1を介してデータ共有装置10の応答受信部151に送信する。
<ステップS14>
応答受信部151は、受信したパケットからヘッダ情報を除去したページ応答を、データ共有装置10のページ情報抽出部152に送る。
<ステップS15>
ページ情報抽出部152は、受け取ったページ応答からページ情報を抽出し、ページ情報を、データ共有装置10のデータ記憶部131に送る。
<ステップS16>
データ記憶部131は、ページ情報を記憶して蓄積する。
<ステップS17>
データ共有装置10のページ制御部161は、データ記憶部131に記憶されたページ情報を取得する。
<ステップS18>
ページ制御部161は、取得したページ情報を表示部162が表示できる形式にページ変換する。
<ステップS19>
ページ制御部161は、ページ変換した情報(以下、単にページという)を、データ共有装置10の表示部162に送る。
<ステップS20>
表示部162は、受け取ったページを表示する。
その後、データ共有装置10は、サーバ装置30から受信したページ情報を、ネットワーク1を介して他のデータ共有装置であるデータ共有装置20に転送する。データ共有装置20は、受信したページ情報を、データ共有装置10と同様にページ変換して、ページを表示する。なお、データ共有装置20は、データ共有装置10からではなく、サーバ装置30からページ情報を取得してもよい。
図4は、データ共有装置内でページ変更された場合の動作のシーケンス図である。図4を参照しながら、データ共有装置10内で、ウェブページのページ情報が変更された場合の動作について説明する。
<ステップS31>
データ共有装置10の変更生成部101は、例えば、ユーザによる入力装置16の操作によって、表示部162に表示されているページの基になるページ情報が変更された場合、その変更内容を含む情報であるページ変更情報を生成する。具体的には、ページ情報の変更とは、例えば、表示部162に表示されているブラウザ上で文字が入力された場合、ボタン表示が無効化もしくは有効化された場合、ブラウザ上に表示されている部品の色または大きさが変更された場合、または部品に付属したメタデータが変更になった場合等である。そして、変更生成部101は、生成したページ変更情報を、データ共有装置10の変更反映部102に送る。
<ステップS32>
変更反映部102は、データ記憶部131に記憶され、かつ、表示部162に表示されているページの基になるページ情報に対して、受け取ったページ変更情報が示す変更内容を反映させる。
<ステップS33>
ページ制御部161は、データ記憶部131から、変更内容が反映されたページ情報を取得する。
<ステップS34>
ページ制御部161は、取得したページ情報を表示部162が表示できる形式にページ変換する。
<ステップS35>
ページ制御部161は、ページ変換したページを表示部162に送る。
<ステップS36>
表示部162は、受け取ったページを表示する。
<ステップS37>
データ共有装置10の差分生成部121は、ステップS32における、変更反映部102によるデータ記憶部131のページ情報への変更内容の反映を検知すると、データ記憶部131から変更内容が反映されたページ情報を取得する。また、差分生成部121は、データ記憶部131からページ情報を取得すると共に、比較記憶部132に記憶されたページ情報(ステップS32における変更内容が反映される前のページ情報に相当)を取得する。なお、ステップS32において、変更反映部102がデータ記憶部131のページ情報に対して変更内容を反映したことは、別途、検知部等の機能部が検知し、差分生成部121に対して通知するものとしてもよい。この場合、差分生成部121は、検知部から通知を受けると、データ記憶部131および比較記憶部132からそれぞれページ情報を取得するものとすればよい。
<ステップS38>
差分生成部121は、比較記憶部132から取得したページ情報が、後述する初期化された情報でない場合、比較記憶部132から取得したページ情報に対する、データ記憶部131から取得したページ情報の差分をページ差分情報として抽出する。
<ステップS39>
差分生成部121は、データ記憶部131から取得したページ情報によって、比較記憶部132に記憶されたページ情報を上書きする。
<ステップS40>
差分生成部121は、抽出したページ差分情報を、データ共有装置10の差分送信部122へ送る。
<ステップS41>
差分送信部122は、受け取ったページ差分情報にヘッダ情報を付加したパケットを、ネットワーク1を介して、他のデータ共有装置(ここでは、データ共有装置20)に送信する。
以上の動作のように、データ共有装置10内で表示部162により表示されているウェブページのページ情報が変更された場合、差分生成部121により、比較記憶部132に記憶された変更される前のページ情報との差分が抽出され、その差分の情報であるページ差分情報が、他のデータ共有装置(ここでは、データ共有装置20)に送信される。ページ差分情報を受信したデータ共有装置20は、図5で後述する動作によって、データ共有装置20の表示部162により表示されているウェブページのページ情報に対して、ページ差分情報が示す差分を反映して、差分が反映されたページ情報に基づくページを表示部162に表示させる。これによって、データ共有装置10およびデータ共有装置20は、同一のページ情報を共有することになり、表示するページ(ウェブページ)を一致させることができる。
図5は、外部からページ差分情報を受信した場合の動作のシーケンス図である。図5を参照しながら、データ共有装置10が、外部(データ共有装置20)からページ差分情報を受信した場合の動作について説明する。
<ステップS51>
データ共有装置10の差分受信部111は、他のデータ共有装置(例えば、データ共有装置20)から、ネットワーク1を介して、ページ差分情報を含むパケットを受信する。ここで、ページ差分情報が含む差分の内容とは、上述のページ情報の変更と同様に、例えば、表示部162に表示されているブラウザ上で文字が入力された場合、ボタン表示が無効化もしくは有効化された場合、ブラウザ上に表示されている部品の色または大きさが変更された場合、または部品に付属したメタデータが変更になった場合等の内容である。
<ステップS52>
差分受信部111は、受信したパケットからヘッダ情報を除去したページ差分情報を、データ共有装置10の差分反映部112に送る。
<ステップS53>
差分反映部112は、比較記憶部132に記憶された情報を初期化する。例えば、差分反映部112は、比較記憶部132に記憶されたページ情報を削除することによって初期化するものとしてもよく、あるいは、所定の初期化情報で上書きすることにより初期化するものとしてもよい。以下、差分反映部112による初期化後の比較記憶部132の情報を、初期化された情報というものとする。
<ステップS54>
差分反映部112は、データ記憶部131に記憶され、かつ、表示部162に表示されているページの基になるページ情報に対して、受け取ったページ差分情報が示す差分を反映させる。
<ステップS55>
ページ制御部161は、データ記憶部131から、差分が反映されたページ情報を取得する。
<ステップS56>
ページ制御部161は、取得したページ情報を表示部162が表示できる形式にページ変換する。
<ステップS57>
ページ制御部161は、ページ変換したページを表示部162に送る。
<ステップS58>
表示部162は、受け取ったページを表示する。
<ステップS59>
差分生成部121は、ステップS54における、差分反映部112によるデータ記憶部131のページ情報への差分の反映を検知すると、データ記憶部131から差分が反映されたページ情報を取得する。また、差分生成部121は、データ記憶部131からページ情報を取得すると共に、比較記憶部132に記憶されたページ情報(初期化された情報に相当)を取得する。なお、ステップS54において、差分反映部112がデータ記憶部131のページ情報に対して差分を反映したことは、別途、検知部等の機能部が検知し、差分生成部121に対して通知するものとしてもよい。この場合、差分生成部121は、検知部から通知を受けると、データ記憶部131および比較記憶部132からそれぞれページ情報を取得するものとすればよい。
<ステップS60>
差分生成部121は、比較記憶部132から取得したページ情報が初期化された情報であるので、データ記憶部131から取得したページ情報には差分がないものと判断する。したがって、差分生成部121は、データ記憶部131および比較記憶部132から取得したページ情報からページ差分情報を生成しない。
<ステップS61>
差分生成部121は、データ記憶部131から取得したページ情報によって、比較記憶部132に記憶された初期化された情報を上書きする。
以上の動作のように、データ共有装置10が外部(他のデータ共有装置)からページ差分情報を受信した場合、差分反映部112は、比較記憶部132を初期化すると共に、表示部162により表示されているウェブページのページ情報に対して、ページ差分情報が示す差分を反映して、差分が反映されたページ情報に基づくページを表示部162に表示させる。さらに、差分生成部121は、比較記憶部132が初期化されている場合、データ記憶部131から取得したページ情報の差分はないものと判断し、ページ差分情報を生成せず、ページ差分情報を外部(他のデータ共有装置)に送信しないものとしている。すなわち、データ共有装置10にページ差分情報を送信した他のデータ共有装置は、そのページ差分情報が示す差分が反映されたページ情報に基づくページが既に表示されているものと判断できるので、データ共有装置10が新たに同じ内容のページ差分情報を他のデータ共有装置に送信しないようにしている。これによって、ページ差分情報が元のデータ共有装置に転送されるというループの発生を抑制することができ、データ共有装置10、20およびネットワーク1のパフォーマンスの低下を抑制することができる。
(第1の実施形態の変形例)
図6は、第1の実施形態の変形例に係るデータ共有装置のブロック構成の例を示す図である。図6を参照しながら、本変形例に係るデータ共有装置10a、20aの構成および動作について、第1の実施形態に係るデータ共有装置10、20と相違する構成および動作を中心に説明する。データ共有装置10a、20aは、それぞれ図1に示すデータ共有装置10、20と同様のハードウェア構成を備える。
図6に示すように、データ共有装置10aのブロック構成は、図2に示すデータ共有装置10のブロック構成における差分反映部112が差分反映部112a(差分反映手段)に置換された構成となっている。差分反映部112aは、データ記憶部131に記憶され、かつ、表示装置15に表示されているページの基になるページ情報に対して、差分受信部111から受け取ったページ差分情報が示す差分を反映させる機能部である。さらに、差分反映部112aは、データ記憶部131に記憶されたページ情報だけでなく、比較記憶部132に記憶されたページ情報に対しても、差分受信部111から受け取ったページ差分情報が示す差分を反映させる。差分反映部112aは、図1に示すCPU12により実行されるプログラムにより実現される。
なお、データ共有装置20aについても、データ共有装置10aと同様に、図6に示すブロック構成を有する。
次に、データ共有装置10aの外部(データ共有装置20a)からページ差分情報を受信した場合の動作について、図5に示すデータ共有装置10の動作と相違する点を中心に説明する。なお、ステップS51、S52、およびS54〜S58については、第1の実施形態に係るデータ共有装置10の動作と同様である。
<ステップS53>
差分反映部112aは、比較記憶部132に記憶されたページ情報に対して、受け取ったページ差分情報が示す差分を反映させる。
<ステップS59>
差分生成部121は、ステップS54における、差分反映部112によるデータ記憶部131のページ情報への差分の反映を検知すると、データ記憶部131から差分が反映されたページ情報を取得する。また、差分生成部121は、データ記憶部131からページ情報を取得すると共に、比較記憶部132に記憶された差分が反映されたページ情報を取得する。なお、ステップS54において、差分反映部112がデータ記憶部131のページ情報に対して差分を反映したことは、別途、検知部等の機能部が検知し、差分生成部121に対して通知するものとしてもよい。この場合、差分生成部121は、検知部から通知を受けると、データ記憶部131および比較記憶部132からそれぞれページ情報を取得するものとすればよい。
<ステップS60>
差分生成部121は、データ記憶部131から取得したページ情報と、比較記憶部132から取得したページ情報とを比較する。後述するステップS61、および図4に示すシーケンス図のステップS39の処理のように、データ記憶部131に記憶されたページ情報により比較記憶部132に記憶されたページ情報が既に上書きされている。さらに、ステップS53およびS54において、データ記憶部131および比較記憶部132に記憶されたページ情報は、差分反映部112によって同じページ差分情報によって差分を反映している。したがって、ここでは、差分生成部121は、データ記憶部131から取得したページ情報が、比較記憶部132から取得したページ情報に対して差分がないものと判断する。よって、差分生成部121は、データ記憶部131および比較記憶部132から取得したページ情報からページ差分情報を生成しない。
<ステップS61>
差分生成部121は、データ記憶部131から取得したページ情報によって、比較記憶部132に記憶されたページ情報を上書きする。なお、上述のように、データ記憶部131に記憶されたページ情報と、比較記憶部132に記憶されたページ情報は同一のものなので、上書きすることは必ずしも必要ではない。
以上のように、差分反映部112aは、比較記憶部132を初期化するのではなく、データ記憶部131のページ情報に対して差分を反映したページ差分情報によって、比較記憶部132のページ情報に対して差分を反映するものとしている。これによって、差分生成部121は、データ記憶部131から取得したページ情報が、比較記憶部132から取得したページ情報に対して差分がないものと判断することになるので、ページ差分情報を外部(他のデータ共有装置)に送信しないことになる。これによって、第1の実施形態と同様に、ページ差分情報が元のデータ共有装置に転送されるというループの発生を抑制することができ、データ共有装置10a、20aおよびネットワーク1のパフォーマンスの低下を抑制することができる。また、第1の実施形態のように、比較記憶部132から取得したページ情報が初期化された情報である場合には、差分生成部121は、データ記憶部131から取得したページ情報には差分がないものと判断するというように取り決める必要がない。すなわち、差分生成部121は、通常の比較動作で差分の有無を判定すればよいことになり、処理の実装上簡略化することができる。
(第2の実施形態)
本実施の形態に係るデータ共有システム500bおよびデータ共有装置10b、20bについて、第1の実施形態に係るデータ共有システム500およびデータ共有装置10、20と相違する構成および動作を中心に説明する。
図7は、第2の実施形態に係るデータ共有システムの全体構成の例を示す図である。図7を参照しながら、データ共有システム500bの全体構成およびデータ共有装置10a、20aのハードウェア構成について説明する。
図7に示すように、データ共有システム500bは、データ共有装置10bと、データ共有装置20bと、を備えている。データ共有装置10と、データ共有装置20とは、ネットワーク1を介して接続されている。
なお、図7には、ネットワーク1を介して接続されるデータ共有装置として、データ共有装置10bおよびデータ共有装置20bの2台が記載されているが、これに限定されるものではなく、3台以上のデータ共有装置が接続されているものとしてもよい。
データ共有装置10bは、表示装置で表示している画像に変更が生じた場合、その変更内容を含む情報を、他のデータ共有装置(図7ではデータ共有装置20b)に転送する装置である。データ共有装置10bは、通信インターフェース11bと、CPU12bと、RAM13bと、HDD14bと、表示装置15bと、入力装置16bと、を備えている。上述の各部は、バスによって互いに通信可能に接続されている。
通信インターフェース11bは、LAN等のネットワーク1を介して、データ共有装置20bと通信するためのTCP/IP等のプロトコルに準拠したインターフェースである。例えば、通信インターフェース11bは、データ共有装置20bにデータを通信する場合、データにTCPおよびIP用のヘッダを付加または除去する。通信インターフェース11bは、例えば、NIC等の通信装置によって構成される。
CPU12bは、データ共有装置10b全体の動作を制御する。
RAM13bは、データ共有装置10bで実行される画面転送アプリケーションおよびその他のGUI(Graphical User Interface)アプリケーションを含む各種プログラム、およびデータ共有装置10bで行われる各種処理に使用されるデータ等を記憶する装置である。RAM13bに展開されたOS上で画面転送アプリケーション等が、CPU12bによって実行される。
HDD14bは、OS、プログラムまたはデータ等を蓄積して記憶する外部記憶装置である。なお、HDD14bは、外部記憶装置としてのHDDにより実現されることに限定されるものではなく、例えば、SSD、光ディスク、または光磁気ディスク(MO)等の記憶装置によって実現されるものとしてもよい。
表示装置15bは、画面転送アプリケーションまたはGUIアプリケーションによって生成された各種画像を表示する装置である。表示装置15bは、例えば、CRTディスプレイ、液晶ディスプレイ、プラズマディスプレイまたは有機ELディスプレイ等によって構成される。
入力装置16bは、ユーザによってCPU12bに対して所定の処理を実行させるための操作入力を行う装置である。入力装置16bは、例えば、マウス、キーボード、テンキー、タッチパッドまたはタッチパネル等の操作入力機能によって構成される。
データ共有装置20bは、データ共有装置10bと同様の機能を有する装置である。データ共有装置20bは、通信インターフェース21bと、CPU22bと、RAM23bと、HDD24bと、表示装置25bと、入力装置26bと、を備えている。上述の各装置は、バスによって互いに通信可能に接続されている。また、通信インターフェース21b、CPU22b、RAM23b、HDD24b、表示装置25bおよび入力装置26bは、それぞれデータ共有装置10bの通信インターフェース11b、CPU12b、RAM13b、HDD14b、表示装置15bおよび入力装置16bの機能と同様の機能を有する。
図8は、第2の実施形態に係るデータ共有装置のブロック構成の例を示す図である。図8を参照しながら、データ共有装置10b、20bのブロック構成について説明する。
図8に示すように、データ共有装置10bは、変更生成部101b(変更生成手段)と、変更反映部102b(変更反映手段)と、差分受信部111b(差分受信手段)と、差分反映部112b(差分反映手段)と、差分生成部121b(差分生成手段)と、差分送信部122b(差分送信手段)と、データ記憶部131b(第1記憶手段)と、比較記憶部132b(第2記憶手段)と、画像制御部161bと、表示部162bと、を備えている。
変更生成部101bは、例えば、ユーザによる入力装置16bの操作によって、表示装置15bに表示されている画像の基になる画像情報が変更された場合、その変更内容を示す情報である画像変更情報(変更情報)を生成する機能部である。変更生成部101bは、図7に示すCPU12bにより実行されるプログラムにより実現される。
変更反映部102bは、データ記憶部131bに記憶され、かつ、表示装置15bに表示されている画像の基になる画像情報(第1情報)に対して、変更生成部101bから受け取った画像変更情報が示す変更内容を反映させる機能部である。変更反映部102bは、図7に示すCPU12bにより実行されるプログラムにより実現される。
差分受信部111bは、他のデータ共有装置(例えば、データ共有装置20b)から、ネットワーク1を介して、画像差分情報(第2差分情報)にヘッダ情報が付加されたパケットを受信する機能部である。ここで、画面差分情報とは、後述のように差分生成部121bが、2つの画像情報を比較して抽出した差分を示す情報である。差分受信部111bは、図7に示す通信インターフェース11bにより実現される。
差分反映部112bは、比較記憶部132bに記憶された情報(第2情報)を初期化し、データ記憶部131bに記憶され、かつ、表示装置15bに表示されている画像の基になる画像情報に対して、差分受信部111bから受け取った画像差分情報が示す差分を反映させる機能部である。差分反映部112bは、図7に示すCPU12bにより実行されるプログラムにより実現される。
差分生成部121bは、変更反映部102bによるデータ記憶部131bの画像情報への変更内容の反映、または、差分反映部112bによるデータ記憶部131bの画像情報への差分の反映を検知すると、データ記憶部131bから変更内容が反映された画像情報を取得し、比較記憶部132bに記憶された画像情報(初期化された情報に相当)を取得して、双方の画像情報を比較して差分を画像差分情報(第1差分情報)として抽出する機能部である。差分生成部121bは、図7に示すCPU12bにより実行されるプログラムにより実現される。
差分送信部122bは、差分生成部121bから受け取った画像差分情報にヘッダ情報を付加したパケットを、ネットワーク1を介して、他のデータ共有装置(データ共有装置20b)に送信する機能部である。差分送信部122bは、図7に示す通信インターフェース11bにより実現される。
データ記憶部131bは、表示装置15bに表示される画像の画像情報を記憶する機能部である。データ記憶部131bは、図7に示すRAM13bによって実現される。
比較記憶部132bは、変更反映部102bによる画像変更情報、または、差分反映部112bによる画像差分情報によってデータ記憶部131bに記憶された画像情報の内容が変わる前の状態の画像情報を一時的に記憶する機能部である。比較記憶部132bは、図7に示すRAM13bによって実現される。
画像制御部161bは、データ記憶部131bから取得した画像情報を表示部162に送る機能部である。画像制御部161bは、図7に示すCPU12bにより実行されるプログラムにより実現される。
表示部162bは、画像制御部161bから受け取った画像情報に基づく画像を表示する機能部である。表示部162bは、図7に示す表示装置15bにより実現される。
なお、データ記憶部131bおよび比較記憶部132bは、RAM13bとは別のフレームバッファ等の記憶装置によって実現されるものとしてもよい。
また、データ共有装置20bについても、データ共有装置10bと同様に、図8に示すブロック構成を有する。
また、上述の変更生成部101b、変更反映部102b、差分反映部112b、差分生成部121bおよび画像制御部161bは、ソフトウェアであるプログラムではなく、ハードウェア回路によって実現されるものとしてもよい。
また、図8に示した変更生成部101b、変更反映部102b、差分受信部111b、差分反映部112b、差分生成部121b、差分送信部122b、データ記憶部131b、比較記憶部132b、画像制御部161bおよび表示部162bは、機能を概念的に示したものであって、このような構成に限定されるものではない。
図9は、データ共有装置内で画面が変更された場合の動作のシーケンス図である。図9を参照しながら、データ共有装置10b内で、表示されている画像の画像情報が変更された場合の動作について説明する。
<ステップS71>
データ共有装置10bの変更生成部101bは、例えば、ユーザによる入力装置16bの操作によって、表示部162bに表示されている画像の基になる画像情報が変更された場合、その変更内容を含む情報である画像変更情報を生成する。具体的には、画像情報の変更とは、例えば、表示部162bに表示されている画像上で文字が入力された場合、またはボタン表示が無効化あるいは有効化された場合等の表示部162bに表示されているウィンドウの表示内容が変わった場合である。そして、変更生成部101bは、生成した画像変更情報を、データ共有装置10bの変更反映部102bに送る。
<ステップS72>
変更反映部102bは、データ記憶部131bに記憶され、かつ、表示部162bに表示されている画像の基になる画像情報に対して、受け取った画像変更情報が示す変更内容を反映させる。
<ステップS73>
データ共有装置10bの画像制御部161bは、データ記憶部131bから、変更内容が反映された画像情報を取得する。
<ステップS74>
画像制御部161bは、画像情報を表示部162bに送る。
<ステップS75>
表示部162bは、受け取った画像情報に基づいて画像を表示する。
<ステップS76>
データ共有装置10bの差分生成部121bは、ステップS72における、変更反映部102bによるデータ記憶部131bの画像情報への変更内容の反映を検知すると、データ記憶部131bから変更内容が反映された画像情報を取得する。また、差分生成部121bは、データ記憶部131bから画像情報を取得すると共に、比較記憶部132bに記憶された画像情報(ステップS72における変更内容が反映される前の画像情報に相当)を取得する。なお、ステップS72において、変更反映部102bがデータ記憶部131bの画像情報に対して変更内容を反映したことは、別途、検知部等の機能部が検知し、差分生成部121bに対して通知するものとしてもよい。この場合、差分生成部121bは、検知部から通知を受けると、データ記憶部131bおよび比較記憶部132bからそれぞれ画像情報を取得するものとすればよい。
<ステップS77>
差分生成部121bは、比較記憶部132bから取得した画像情報が、後述する初期化された情報でない場合、比較記憶部132bから取得した画像情報に対する、データ記憶部131bから取得した画像情報の差分を画像差分情報として抽出する。
<ステップS78>
差分生成部121bは、データ記憶部131bから取得した画像情報によって、比較記憶部132bに記憶された画像情報を上書きする。
<ステップS79>
差分生成部121bは、抽出した画像差分情報を、データ共有装置10bの差分送信部122bへ送る。
<ステップS80>
差分送信部122bは、受け取った画像差分情報にヘッダ情報を付加したパケットを、ネットワーク1を介して、他のデータ共有装置(ここでは、データ共有装置20b)に送信する。
以上の動作のように、データ共有装置10b内で表示部162bにより表示されている画像の画像情報が変更された場合、差分生成部121bにより、比較記憶部132bに記憶された変更される前の画像情報との差分が抽出され、その差分の情報である画像差分情報が、他のデータ共有装置(ここでは、データ共有装置20b)に送信される。画像差分情報を受信したデータ共有装置20bは、図10で後述する動作によって、データ共有装置20bの表示部162bにより表示されている画像の画像情報に対して、画像差分情報が示す差分を反映して、差分が反映された画像情報に基づく画像を表示部162bに表示させる。これによって、データ共有装置10bおよびデータ共有装置20bは、同一の画像情報を共有することになり、表示する画像を一致させることができる。
図10は、外部から画像差分情報を受信した場合の動作のシーケンス図である。図10を参照しながら、データ共有装置10bが、外部(データ共有装置20b)から画像差分情報を受信した場合について説明する。
<ステップS91>
データ共有装置10bの差分受信部111bは、他のデータ共有装置(例えば、データ共有装置20b)から、ネットワーク1を介して、画像差分情報を含むパケットを受信する。ここで、画像差分情報が含む差分の内容とは、上述の画像情報の変更と同様に、例えば、表示部162bに表示されている画像上で文字が入力された場合、またはボタン表示が無効化あるいは有効化された場合等の表示部162bに表示されているウィンドウの表示内容が変わった場合の内容である。
<ステップS92>
差分受信部111bは、受信したパケットからヘッダ情報を除去した画像差分情報を、データ共有装置10bの差分反映部112bに送る。
<ステップS93>
差分反映部112bは、比較記憶部132bに記憶された情報を初期化する。例えば、差分反映部112bは、比較記憶部132bに記憶された画像情報を削除することによって初期化するものとしてもよく、あるいは、所定の初期化情報で上書きすることにより初期化するものとしてもよい。以下、差分反映部112bによる初期化後の比較記憶部132bの情報を、初期化された情報というものとする。
<ステップS94>
差分反映部112bは、データ記憶部131bに記憶され、かつ、表示部162bに表示されている画像の基になる画像情報に対して、受け取った画像差分情報が示す差分を反映させる。
<ステップS95>
画像制御部161bは、データ記憶部131bから、差分が反映された画像情報を取得する。
<ステップS96>
画像制御部161bは、画像情報を表示部162bに送る。
<ステップS97>
表示部162bは、受け取った画像情報に基づいて画像を表示する。
<ステップS98>
差分生成部121bは、ステップS94における、差分反映部112bによるデータ記憶部131bの画像情報への差分の反映を検知すると、データ記憶部131bから差分が反映された画像情報を取得する。また、差分生成部121bは、データ記憶部131bから画像情報を取得すると共に、比較記憶部132bに記憶された画像情報(初期化された情報に相当)を取得する。なお、ステップS94において、差分反映部112bがデータ記憶部131bの画像情報に対して差分を反映したことは、別途、検知部等の機能部が検知し、差分生成部121bに対して通知するものとしてもよい。この場合、差分生成部121bは、検知部から通知を受けると、データ記憶部131bおよび比較記憶部132bからそれぞれ画像情報を取得するものとすればよい。
<ステップS99>
差分生成部121bは、比較記憶部132bから取得した画像情報が初期化された情報であるので、データ記憶部131bから取得した画像情報には差分がないものと判断する。したがって、差分生成部121bは、データ記憶部131bおよび比較記憶部132bから取得した画像情報から画像差分情報を生成しない。
<ステップS100>
差分生成部121bは、データ記憶部131bから取得した画像情報によって、比較記憶部132bに記憶された初期化された情報を上書きする。
以上の動作のように、データ共有装置10bが外部(他のデータ共有装置)から画像差分情報を受信した場合、差分反映部112bは、比較記憶部132bを初期化すると共に、表示部162bにより表示されている画像の画像情報に対して、画像差分情報が示す差分を反映して、差分が反映された画像情報に基づく画像を表示部162bに表示させる。さらに、差分生成部121bは、比較記憶部132bが初期化されている場合、データ記憶部131bから取得した画像情報の差分はないものと判断し、画像差分情報を生成せず、画像差分情報を外部(他のデータ共有装置)に送信しないものとしている。すなわち、データ共有装置10bに画像差分情報を送信した他のデータ共有装置は、その画像差分情報が示す差分が反映された画像情報に基づく画像が既に表示されているものと判断できるので、データ共有装置10bが新たに同じ内容の画像差分情報を他のデータ共有装置に送信しないようにしている。これによって、画像差分情報が元のデータ共有装置に転送されるというループの発生を抑制することができ、データ共有装置10b、20bおよびネットワーク1のパフォーマンスの低下を抑制することができる。
なお、第1の実施形態の変形例に係るデータ共有装置10a、20aと同様に、差分反映部112bは、比較記憶部132bを初期化するのではなく、データ記憶部131bおよび比較記憶部132bに記憶された画像情報に対して、同じ画像差分情報が示す差分を反映するものとしてもよい。これによって、画像差分情報が元のデータ共有装置に転送されるというループの発生を抑制することができ、データ共有装置10b、20bおよびネットワーク1のパフォーマンスの低下を抑制することができる。また、第2の実施形態のように、比較記憶部132bから取得した画像情報が初期化された情報である場合には、差分生成部121bは、データ記憶部131bから取得した画像情報には差分がないものと判断するというように取り決める必要がない。すなわち、差分生成部121bは、通常の比較動作で差分の有無を判定すればよいことになり、処理の実装上簡略化することができる。
また、第1の実施形態におけるページ情報、および第2の実施形態における画像情報のように、表示装置に画像として表示される情報を複数のデータ共有装置間で共有するものとしたが、共有する情報として、表示される情報に限定されるものではない。すなわち、特に表示を目的としない情報(例えば、データファイル、およびデータベース等)に対して、上述の動作によって、複数のデータ共有装置間で共有するものとしてもよい。
また、上述の実施形態のデータ共有装置10(20)のCPU12、およびデータ共有装置10b(20b)のCPU12bで実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、CD−R、メモリカード、DVD(Digital Versatile Disk)、またはフレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
また、上述の実施形態のデータ共有装置10(20)のCPU12、およびデータ共有装置10b(20b)のCPU12bで実行されるプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードされることにより提供されるようにしてもよい。また、上述の実施形態のデータ共有装置10(20)のCPU12、およびデータ共有装置10b(20b)のCPU12bで実行されるプログラムは、インターネット等のネットワーク経由で提供または配布されるようにしてもよい。また、上述の実施形態のデータ共有装置10(20)のCPU12、およびデータ共有装置10b(20b)のCPU12bで実行されるプログラムは、ROM等に予め組み込んで提供されるようにしてもよい。
また、上述の実施形態のデータ共有装置10(20)のCPU12、およびデータ共有装置10b(20b)のCPU12bで実行されるプログラムは、上述したCPU12およびCPU12bで実行される各機能をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、CPU12、12bが記憶装置(RAM13、13b)からプログラムを読み出して実行することによって、上述の各機能がコンピュータ上で実現されるようになっている。
以上のように本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、および変更を行うことができる。これらの実施形態およびその変形は、発明の範囲および要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 ネットワーク
10、10a、10b データ共有装置
11、11b 通信インターフェース
12、12b CPU
13、13b RAM
14、14b HDD
15、15b 表示装置
16、16b 入力装置
20、20a、20b データ共有装置
21、21b 通信インターフェース
22、22b CPU
23、23b RAM
24、24b HDD
25、25b 表示装置
26、26b 入力装置
30 サーバ装置
31 通信インターフェース
32 CPU
33 RAM
34 HDD
101、101b 変更生成部
102、102b 変更反映部
111、111b 差分受信部
112、112a、112b 差分反映部
121、121b 差分生成部
122、122b 差分送信部
131、131b データ記憶部
132、132b 比較記憶部
141 要求生成部
142 要求送信部
151 応答受信部
152 ページ情報抽出部
161 ページ制御部
161b 画像制御部
162、162b 表示部
500、500b データ共有システム

Claims (9)

  1. 第1情報を記憶する第1記憶手段と、
    前記第1記憶手段に記憶された前記第1情報の複製である第2情報を記憶する第2記憶手段と、
    前記第1記憶手段に記憶されている前記第1情報が変更された場合、変更された前記第1情報と、前記第2記憶手段に記憶された前記第2情報とを比較して、差分がある場合に前記差分を抽出し、前記差分を示す第1差分情報を生成する差分生成手段と、
    前記第1差分情報を他のデータ共有装置に送信する差分送信手段と、
    他のデータ共有装置において生成された第2差分情報を受信する差分受信手段と、
    前記第1記憶手段に記憶された前記第1情報に対して、前記第2差分情報が示す差分を反映させ、前記差分を反映させる場合に前記差分生成手段により前記第1差分情報を生成させない差分反映手段と、
    を備えたデータ共有装置。
  2. 前記差分生成手段は、前記第2記憶手段に記憶された前記第2情報が初期化されている場合、前記第1差分情報を生成せず、
    前記差分反映手段は、前記第1記憶手段に記憶された前記第1情報に対して、前記第2差分情報が示す差分を反映させる前に、前記第2記憶手段に記憶された前記第2情報を初期化する請求項1に記載のデータ共有装置。
  3. 前記差分反映手段は、前記第1記憶手段に記憶された前記第1情報、および前記第2記憶手段に記憶された前記第2情報に対して、前記第2差分情報が示す差分を反映させる請求項1に記載のデータ共有装置。
  4. 前記第1記憶手段に記憶された前記第1情報に対する変更内容を示す変更情報を生成する変更生成手段と、
    前記第1記憶手段に記憶された前記第1情報に対して、前記変更情報が示す変更内容を反映させる変更反映手段と、
    をさらに備えた請求項1に記載のデータ共有装置。
  5. 前記差分生成手段は、変更された前記第1情報と、前記第2情報とを比較した場合、変更された前記第1情報によって、前記第2記憶手段に記憶された前記第2情報を上書きする請求項1に記載のデータ共有装置。
  6. 前記第1情報および前記第2情報は、ウェブページのページ情報である請求項1に記載のデータ共有装置。
  7. 前記第1情報および前記第2情報は、表示画像の画像情報である請求項1に記載のデータ共有装置。
  8. 情報を共有する複数のデータ共有装置のデータ共有方法であって、
    第1記憶手段に記憶されている第1情報が変更された場合、変更された前記第1情報と、第2記憶手段に記憶され、かつ前記第1情報の複製である第2情報とを比較して、差分がある場合に前記差分を抽出し、前記差分を示す第1差分情報を生成する差分生成ステップと、
    前記第1差分情報を他のデータ共有装置に送信する差分送信ステップと、
    他のデータ共有装置において生成された第2差分情報を受信する差分受信ステップと、
    前記第1記憶手段に記憶された前記第1情報に対して、前記第2差分情報が示す差分を反映させ、前記差分を反映させる場合に前記第1差分情報を生成しない差分反映ステップと、
    を有するデータ共有方法。
  9. 第1情報を記憶する第1記憶手段と、前記第1記憶手段に記憶された前記第1情報の複製である第2情報を記憶する第2記憶手段と、第1差分情報を外部機器に送信する差分送信手段と、外部機器において生成された第2差分情報を受信する差分受信手段と、を備えたコンピュータを、
    前記第1記憶手段に記憶されている前記第1情報が変更された場合、変更された前記第1情報と、前記第2記憶手段に記憶された前記第2情報とを比較して、差分がある場合に前記差分を抽出し、前記差分を示す前記第1差分情報を生成する差分生成手段と、
    前記第1記憶手段に記憶された前記第1情報に対して、前記第2差分情報が示す差分を反映させ、前記差分を反映させる場合に前記差分生成手段により前記第1差分情報を生成させない差分反映手段と、
    して機能させるプログラム。
JP2014135025A 2014-06-30 2014-06-30 データ共有装置、データ共有方法およびプログラム Pending JP2016012327A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014135025A JP2016012327A (ja) 2014-06-30 2014-06-30 データ共有装置、データ共有方法およびプログラム
US14/731,543 US9762666B2 (en) 2014-06-30 2015-06-05 Data sharing device, data sharing method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014135025A JP2016012327A (ja) 2014-06-30 2014-06-30 データ共有装置、データ共有方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2016012327A true JP2016012327A (ja) 2016-01-21

Family

ID=54931865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014135025A Pending JP2016012327A (ja) 2014-06-30 2014-06-30 データ共有装置、データ共有方法およびプログラム

Country Status (2)

Country Link
US (1) US9762666B2 (ja)
JP (1) JP2016012327A (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08223430A (ja) 1995-02-15 1996-08-30 Oki Electric Ind Co Ltd 画面表示データ転送方法およびシステム
KR100460322B1 (ko) * 2002-05-31 2004-12-08 (주) 시큐컴 스팸메일 방지 시스템 및 방법
JP4563725B2 (ja) * 2004-05-17 2010-10-13 株式会社日立製作所 計算機システム
US20090298581A1 (en) * 2004-12-16 2009-12-03 Sega Corporation Game machine management device having penalty function, game device, operation program thereof and penalty setting server
US8924552B2 (en) * 2008-05-12 2014-12-30 Telefonaktiebolaget L M Ericsson (Publ) Remote and local compound device capabilities synchronization method and system
US9189537B2 (en) * 2008-08-29 2015-11-17 Red Hat, Inc. Extraction of critical information from database
JP2012129590A (ja) 2010-12-13 2012-07-05 Idotai Fuzui Joho Hyoji Sochi Co Ltd 情報出力装置、プログラム及び情報出力システム
US8812913B2 (en) * 2011-09-23 2014-08-19 Dot Hill Systems Corporation Method and apparatus for isolating storage devices to facilitate reliable communication
US9654940B2 (en) * 2013-10-18 2017-05-16 Cellco Partnership Sending and receiving messages over wireless local area networks
US9348715B2 (en) * 2014-03-20 2016-05-24 Netapp Inc. Storage device health status synchronization

Also Published As

Publication number Publication date
US20150381720A1 (en) 2015-12-31
US9762666B2 (en) 2017-09-12

Similar Documents

Publication Publication Date Title
US20230342500A1 (en) Remoting application across a network using draw commands with an isolator application
CN108848092A (zh) 基于调用链的微服务灰度发布的处理方法及装置
EP2649534B1 (en) Methods and systems for facilitating a remote desktop session utilizing a remote desktop client common interface
US20170006102A1 (en) Automatic file storage and sharing
TWI590157B (zh) 自客戶側應用程式之傳送資料壓縮序列化
EP1970835A1 (en) Method and apparatus for secure web browsing
CN113407286B (zh) 一种服务器远程管理方法及装置
US9749202B1 (en) Remote session preview management
US10089216B2 (en) Automatically determining whether a page of a web site is broken despite elements on the page that may change
US20180302379A1 (en) Data transmission method and data transmission apparatus
WO2022179045A1 (zh) 图像处理方法、装置、存储介质、程序及程序产品
US10623377B1 (en) On-premises data access and firewall tunneling
WO2015181593A1 (en) Presenting web resource to user in browser
US20150269266A1 (en) Information processing apparatus, method for controlling the same, and storage medium
US20180089207A1 (en) Image transfer apparatus and method
JP6488903B2 (ja) 画面転送制御システム、画面転送制御プログラム及び画面転送制御方法
EP3139652A1 (en) Method of managing registry information of image forming apparatus registered to cloud printing system, and cloud printing system for performing the same
JP7475476B2 (ja) 情報処理方法、装置及び記憶媒体
JP2016012327A (ja) データ共有装置、データ共有方法およびプログラム
JP6358049B2 (ja) ローカルストレージ同期方法、ローカルストレージ同期装置およびローカルストレージ同期プログラム
JP6465755B2 (ja) 制御方法、プログラム及びクライアント端末
US9634987B2 (en) Obtaining a MAC address from an external source
US10880396B2 (en) Pre-fetching random-value resource locators
JP2016115155A (ja) 機器管理装置、機器管理システム、対応指示方法及びプログラム
JP2016085660A (ja) 検索サーバー、検索システム、検索方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20151102