JP6915532B2 - 情報処理装置、情報共有システムおよび同期制御方法 - Google Patents

情報処理装置、情報共有システムおよび同期制御方法 Download PDF

Info

Publication number
JP6915532B2
JP6915532B2 JP2017254759A JP2017254759A JP6915532B2 JP 6915532 B2 JP6915532 B2 JP 6915532B2 JP 2017254759 A JP2017254759 A JP 2017254759A JP 2017254759 A JP2017254759 A JP 2017254759A JP 6915532 B2 JP6915532 B2 JP 6915532B2
Authority
JP
Japan
Prior art keywords
data
application
window
priority
updated
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.)
Active
Application number
JP2017254759A
Other languages
English (en)
Other versions
JP2019121103A (ja
Inventor
潤也 可児
潤也 可児
淳一 由良
淳一 由良
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017254759A priority Critical patent/JP6915532B2/ja
Priority to US16/223,172 priority patent/US10871990B2/en
Priority to EP18213821.4A priority patent/EP3506077B1/en
Publication of JP2019121103A publication Critical patent/JP2019121103A/ja
Application granted granted Critical
Publication of JP6915532B2 publication Critical patent/JP6915532B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/20Details of the management of multiple sources of image data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/12Synchronisation between the display unit and other units, e.g. other display units, video-disc players
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Description

本発明は、情報処理装置などに関する。
近年、空間をデジタル化するUI(User Interface)技術が知られている(例えば、非特許文献1を参照)。かかる空間UIでは、壁や机などの広い空間を使って1つのウィンドウシステムを構築する。そして、かかる空間UIでは、例えば壁一面などの空間を画面としてウィンドウシステム間で画面情報の同期通信を行う。
壁一面などを画面として使用した空間UIでは、画面に表示されるウィンドウを増やすことが可能となる。他のウィンドウシステムとのデータ量は、ウィンドウの増加に伴い多くなる。ところが、通信可能な帯域には限界がある。このため、それぞれのウィンドウシステムが、ウィンドウが操作された結果変更される全てのデータを送受信すると、帯域が溢れてしまい、適切なデータ配信が行えない。そこで、適切な送信の抑制が必要となる。送信の抑制の一例として、帯域の混雑度に応じて、データの流量を変えることが知られている。
ところが、単に帯域の混雑度に応じてデータの流量を変えるだけでは、変更される全てのデータの流量に変化が生じるため、UX(User Experience)に影響が出てしまう。ここでいうUXとは、ユーザがサービスの利用を通じて得られる体験であり、例えば、ユーザの使いやすさに加えて、使い心地などのことをいう。すなわち、例えば、ユーザが注視していないウィンドウaと、ユーザが注視しているウィンドウbがあったとき、帯域が混雑すると、全てのウィンドウに対して送信の抑制が行われてしまい、データの流量が減少する。この結果、ユーザが注視しているウィンドウbが滑らかな表示でなくなることがある。
そこで、通信が混雑していても、ユーザの体験に基づいた送信の抑制が必要になる。
例えば、デスクトップ上で変更されたデータが可視状態でないコンピュータには変更データを転送せず、可視状態に変化したのをトリガーとしてデータを転送する技術が開示されている。かかる技術では、特定の共有アプリケーションのデータに変更が生じた場合に、共起するデータセット内の確率が特定のしきい値を超えるデータを同時に転送することが開示されている(例えば、特許文献1参照)。
また、別の例では、一方のユーザと他方のユーザとが同一または関連するコンテンツを所有している場合、一方のユーザが操作するクライアント端末に、同一または関連するコンテンツの情報を他のコンテンツの情報よりも優先的に表示させる技術が開示されている(例えば、特許文献2,3参照)。
特開平11−272591号公報 国際公開第2012/056727号 特開2007−58644号公報
S.lzadi,et al.2003.Dynamo:a public interactive surface supporting the cooperative sharing and exchange of media.In Proc.of UIST’03.ACM,159-168
しかしながら、空間UIにおける送信の抑制では、ユーザの操作性が向上しない場合があるという問題がある。すなわち、壁一面などの空間を画面として装置間で共有する空間UIの場合、通信が混雑すると、ユーザの操作性が向上しない場合がある。
例えば、コンピュータが可視状態に変化したのをトリガーとしてデータを転送する技術では、データに変更が生じた場合に共起するデータを同時に転送する。しかしながら、コンピュータが可視状態に変化したときに、転送されるデータが、ユーザの注視していないウィンドウ内のデータである場合には、ユーザが注視していないので、ユーザの操作性が向上しない。
また、同一または関連するコンテンツの情報を他のコンテンツの情報よりも優先的に表示させる技術では、関連するコンテンツの情報が、ユーザの注視していないウィンドウ内のデータである場合には、ユーザが注視していないので、ユーザの操作性が向上しない。
また、ウィンドウの重なりの順序に基づき、処理の優先度を決定する仕組みが知られている。一例として、最上位に表示されているウィンドウの描画が優先される。かかる仕組みであれば、ユーザの注視しているウィンドウの更新されたデータを優先的に送信することが可能である。しかしながら、空間UIでは、壁一面のようにUI自体が大きいため、ウィンドウが重ならない場合が多く、単純にウィンドウの重なりの順序からユーザの注視しているウィンドウを判別できない。したがって、空間UIの場合には、通信が混雑すると、ユーザの操作性が向上しない場合がある。
1つの側面では、壁一面などの空間を画面として装置間で共有する空間UIの場合、通信が混雑しても、ユーザの操作性を向上させることを目的とする。
1つの態様では、共通の表示空間を情報処理装置間で共有する情報処理装置は、前記表示空間に表示される複数のウィンドウそれぞれで動作するアプリケーションに対応付けてデータを送信する際の優先度を記憶する記憶部と、複数のアプリケーションのうちいずれかのアプリケーションからのデータの更新に応じて、更新されたデータの送受信を行う送受信部と、前記送受信部によって前記更新されたデータが受信された場合に、前記更新されたデータを更新したアプリケーションのウィンドウおよび他のアプリケーションのウィンドウの近接性に基づいて、前記記憶部における前記他のアプリケーションに対応付けられた優先度を変更する変更部と、自装置に表示されるウィンドウで動作するアプリケーションからデータを更新する場合に、前記記憶部に記憶された優先度情報に基づいて、更新されたデータの送信の順序を決定する決定部と、を有する。
1つの態様によれば、壁一面などの空間を画面として装置間で共有する空間UIの場合、通信が混雑しても、ユーザの操作性を向上させることができる。
図1は、実施例に係る情報共有システムの構成を示す機能ブロック図である。 図2は、実施例に係る同期制御の概念を示す図である。 図3は、実施例に係る同期制御処理の一例を示す図である。 図4は、実施例に係るウィンドウ情報一覧のデータ構造の一例を示す図である。 図5は、実施例に係る共有データのデータ構造の一例を示す図である。 図6は、実施例に係るアプリ情報のデータ構造の一例を示す図である。 図7は、実施例に係る優先度マップのデータ構造の一例を示す図である。 図8は、実施例に係る送信要求データの一例を示す図である。 図9は、実施例に係る送受信データの一例を示す図である。 図10は、実施例に係る優先度更新の一例を示す図である。 図11は、実施例に係る優先度の利用の一例を示す図である。 図12は、実施例に係る同期制御処理のシーケンスの一例を示す図である。 図13は、実施例に係るデータ更新処理のフローチャートの一例を示す図である。 図14は、実施例に係る優先度判定処理のフローチャートの一例を示す図である。 図15は、実施例に係るデータ送信処理のフローチャートの一例を示す図である。 図16は、実施例に係るデータ受信処理のフローチャートの一例を示す図である。 図17は、実施例に係る優先度更新処理のフローチャートの一例を示す図である。 図18は、実施例に係るウィンドウ情報一覧取得処理のフローチャートの一例を示す図である。 図19は、実施例に係る近接性判定処理のフローチャートの一例を示す図である。 図20は、同期制御プログラムを実行するコンピュータの一例を示す図である。
以下に、本願の開示する情報処理装置、情報共有システムおよび同期制御方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
[実施例に係る情報共有システムの構成]
図1は、実施例に係る情報共有システムの構成を示す機能ブロック図である。図1に示すように、情報共有システム9は、複数の端末1を有する。端末1は、空間をデジタル化するUI技術において、共通の表示空間を複数の端末1間で共有し、更新されたデータの同期制御を行う。端末1は、ユーザが操作しているデータだけでなく、操作したデータのウィンドウに近接した他のウィンドウの優先度を上げるように変更する。ここでいう表示空間とは、例えば、壁や机に表示された画面のことをいう。ここでいう「近接」とは、空間的、意味的および時間的な近さのことをいう。「空間的に近接」とは、ウィンドウ間の距離の近さのことをいう。「意味的に近接」とは、ウィンドウで動作するアプリケーションにおいてアプリケーション間の関連性の近さのことをいう。「時間的に近接」とは、ウィンドウごとに更新されたデータの更新時刻の近さのことをいう。これにより、端末1は、ウィンドウを操作しているユーザにとって必要性の高いウィンドウのデータをより優先的に配信することができる。すなわち、端末1は、ユーザが操作しているウィンドウに空間的、意味的、時間的に近接しているウィンドウのデータを、同期のために、優先的に配信するように制御することができる。
ここで、実施例に係る同期制御の概念を、図2を参照して説明する。図2は、実施例に係る同期制御の概念を示す図である。なお、図2で示す各ノードは、それぞれ端末1に対応する。図2で示すa〜hは、それぞれアプリケーションが動作するウィンドウを意味する。
図2に示すように、ユーザが受信ノードに表示されたアプリ―ケーションのウィンドウを操作し、アプリケーションからデータが同期されると、送信ノードは同期されたデータ(受信ノードが操作しているウィンドウ)に近接した他のウィンドウの優先度が高くなるように他のウィンドウの優先度を変更する。ここでは、ユーザがアプリケーションのウィンドウaを操作し、当該アプリケーションからデータが更新されるとする。すると、送信ノードは、操作しているウィンドウaと空間的に近接している他のウィンドウbの優先度が高くなるように変更する。また、送信ノードは、操作しているウィンドウaと意味的に近接している他のウィンドウcの優先度が高くなるように変更する。また、送信ノードは、操作しているウィンドウaと時間的に近接している他のウィンドウdの優先度が高くなるように変更する。
そして、送信ノードは、それぞれのウィンドウごとの優先度に基づいて、更新されたデータの送信の順序を決定し、決定した順序に応じて、更新されたデータの配信を行う。ノード間のデータを同期させるためである。ここでは、アプリケーションのウィンドウごとの優先度は、高いものから順にウィンドウa、ウィンドウb、ウィンドウc、ウィンドウdであるとする。すると、送信ノードAは、ウィンドウaだけでなくウィンドウbで更新されるデータを、優先度を高度として配信する。すなわち、送信ノードAは、ウィンドウaおよびウィンドウbを表示する受信ノードに対してそれぞれで更新されるデータを配信する。次に、送信ノードBは、ウィンドウcやウィンドウdで更新されるデータを、優先度を中度として配信する。すなわち、送信ノードBは、ウィンドウcおよびウィンドウdを表示する受信ノードに対してそれぞれで更新されるデータを配信する。その後、送信ノードCは、ウィンドウf、ウィンドウgやウィンドウhで更新されるデータを、優先度を低度として配信する。すなわち、送信ノードCは、ウィンドウf、ウィンドウgおよびウィンドウhを表示する受信ノードに対してそれぞれで更新されるデータを配信する。
これにより、受信ノードは、ユーザが操作しているデータのウィンドウだけでなく、操作しているデータに近接したウィンドウの優先度も向上させることができる。この結果、受信ノードは、ユーザにとって必要性の高い(ユーザが注視している)データをより優先的に受信することができる。すなわち、受信ノードは、通信が混雑しても、ユーザの操作性を向上させることができる。
また、実施例に係る同期制御処理の一例を、図3を参照して説明する。図3は、実施例に係る同期制御処理の一例を示す図である。なお、図3で示す各ノードは、それぞれの端末1に対応する。図3で示すa〜hは、それぞれアプリケーションが動作するウィンドウを意味する。共通の表示空間(画面)には、アプリケーションのウィンドウa〜hが表示されている。ノードA、Bには、共通の表示空間(画面)に表示される複数のウィンドウa〜hのうちウィンドウa〜cが表示されている。
ノードAでは、ウィンドウaで動作するアプリケーションからデータを更新し、データの更新に応じて、データの同期のために、更新されたデータをノードBに送信する。
ノードBでは、更新されたデータを受信すると、ウィンドウaで動作するアプリケーションの、更新されたデータを更新する。加えて、ノードBでは、更新されたデータを更新したアプリケーションのウィンドウaおよび他のアプリケーションのウィンドウb,cの近接性に基づいて、他のアプリケーションのウィンドウb,cに対応付けられた優先度を後述する優先度マップ24に対して変更する。すなわち、ノードBは、ウィンドウaに近接したウィンドウbの優先度を上げるように変更する。ここでは、ウィンドウbは、ウィンドウaと距離が近いので、優先度が上がる。
ノードBでは、ウィンドウcで動作するアプリケーションからデータを更新する。この後、ノードBでは、ウィンドウbで動作するアプリケーションからデータを更新する。すると、ノードBでは、優先度マップ24に記憶された情報に基づいて、更新されたデータの送信の順序を決定する。ここでは、優先度マップ24には、ウィンドウbの優先度がウィンドウcの優先度より高い。そこで、ノードBは、更新されたデータのうちウィンドウbで動作するアプリケーションから更新されたデータをウィンドウcで動作するアプリケーションから更新されたデータより先行するように送信の順序を決定する。
そして、ノードBは、決定した送信の順序に基づいて、ウィンドウbで動作するアプリケーションから更新されたデータをノードAに送信する。すると、ノードAは、更新されたデータを受信すると、ウィンドウbで動作するアプリケーションの、更新されたデータを更新する。
この後、ノードBは、決定した送信の順序に基づいて、ウィンドウcで動作するアプリケーションから更新されたデータをノードAに送信する。すると、ノードAは、更新されたデータを受信すると、ウィンドウcで動作するアプリケーションの、更新されたデータを更新する。これにより、ユーザがウィンドウaを操作しているノードAは、ノードBで更新されたデータの中でウィンドウaに近接したウィンドウで更新されたデータが優先して同期する。この結果、ノードAは、通信が混雑しても、ユーザによって必要性の高いデータをより優先的に同期できることとなり、ユーザの操作性を向上させることができる。
図1に戻って、端末1は、データ更新部11、優先度判定部12、データ送信部13、データ受信部14および優先度更新部15を有する。また、端末1は、アプリケーション21、共有アプリDB22、送信キュー23および優先度マップ24を有する。また、端末1は、ウィンドウ情報一覧31を備えるウィンドウシステム30を有する。なお、端末1は、情報処理装置の一例である。
ウィンドウシステム30は、ウィンドウを表示させるシステムである。なお、ウィンドウは、アプリケーション21が動作するウィンドウのことをいい、アプリケーション21と1対1に対応する。ウィンドウ情報一覧31は、端末1に表示されたウィンドウごとのウィンドウ情報の一覧を示す。
ここで、ウィンドウ情報一覧31のデータ構造の一例を、図4を参照して説明する。図4は、実施例に係るウィンドウ情報一覧のデータ構造の一例を示す図である。図4に示すように、ウィンドウ情報一覧31は、アプリ識別子、表示情報および最終更新時刻をウィンドウ識別子に対応付けた情報である。ウィンドウ識別子は、ウィンドウごとに一意に割り振られる識別子である。アプリ識別子は、アプリケーションごとに一意に割り振られる識別子であり、ウィンドウで動作しているアプリケーション21の識別子である。表示情報は、ウィンドウが表示されている座標、高さおよび幅を含む情報である。最終更新時刻は、最後にユーザによって操作された更新時刻である。一例として、ウィンドウ識別子が「W001」である場合に、アプリ識別子として「A001」、表示情報として「{x:0,y:0,width:200,height:300}」を記憶している。加えて、最終更新時刻として「2017−11−28T00:11:22:000」を記憶している。
図1に戻って、共有アプリDB22は、他の端末1と共有する、アプリケーション21の情報およびデータの情報を管理する。共有アプリDB22は、共有データ221およびアプリ情報222を有する。共有データ221は、他の端末1と共有する、更新されたデータの情報である。アプリ情報222は、他の端末1と共有するアプリケーション21の情報である。
ここで、共有データ221のデータ構造の一例を、図5を参照して説明する。図5は、実施例に係る共有データのデータ構造の一例を示す図である。図5に示すように、共有データ221は、データ、更新者および更新時刻をデータ識別子に対応付けた情報である。データ識別子は、更新されたデータを一意に識別する識別子である。データは、更新されたデータの内容である。更新者は、更新されたデータを更新したユーザのノードである。更新時刻は、更新されたデータの更新時刻である。
一例として、データ識別子が「D0001」である場合に、データとして「{abc:def}」、更新者として「Kani」、更新時刻として「2017−11−28T00:11:22:000」を記憶している。
ここで、アプリ情報222のデータ構造の一例を、図6を参照して説明する。図6は、実施例に係るアプリ情報のデータ構造の一例を示す図である。図6に示すように、アプリ情報222は、コンテンツ、オリジンおよびカテゴリをアプリ識別子に対応付けた情報である。アプリ識別子は、アプリケーション21ごとに一意に割り振られる識別子である。アプリ識別子は、ウィンドウ情報一覧31のアプリ識別子に対応する。コンテンツは、表示しているアプリケーション21の内容そのものを示す。オリジンは、アプリケーション21の作成者や管理者を識別する情報である。カテゴリは、アプリケーション21の種別である。カテゴリには、例えば、テキストを編集するテキストエディタ(Text−editor)や画像を編集する画像エディタなどが挙げられる。なお、テキストエディタをカテゴリとするアプリケーション21には、例えば、ワード、エクセルやパワーポイントなどが挙げられる。
一例として、アプリ識別子が「A001」である場合に、コンテンツとして「ghi:jkl,...」、オリジンとして「Example.com」、カテゴリとして「Text−editor」と記憶している。
図1に戻って、送信キュー23は、送信要求データを先入れ先出し(FIFO)方式で管理する。なお、送信要求データのデータ構造の一例は、後述する。
図1に戻って、優先度マップ24は、アプリケーション21から更新されたデータが他の端末1に送信される際の優先度をアプリケーション21に対応付けてマッピングした情報である。優先度は、例えば、送信の順序を決定する際に使用される。なお、優先度マップ24は、優先度をアプリケーション21に対応付けてマッピングした情報であると説明したが、これに限定されるものではない。優先度マップ24は、例えば、優先度をウィンドウに対応付けてマッピングした情報としても良い。また、優先度マップ24は、表形式でなく、木構造とした情報としても良い。また、優先度マップ24は、後述する優先度更新部15によって更新される。
ここで、優先度マップ24のデータ構造の一例を、図7を参照して説明する。図7は、実施例に係る優先度マップのデータ構造の一例を示す図である。図7に示すように、優先度マップ24は、優先度マップ識別子および優先度を対応付けた情報である。優先度マップ識別子は、優先度をマッピングする対象を識別する識別子である。実施例では、優先度マップ識別子は、アプリケーション21ごとに一意に割り振られるアプリ識別子を意味する。優先度マップ識別子は、アプリ情報222のアプリ識別子に対応する。優先度は、更新されたデータを他の端末1のアプリケーション21に送信する優先度を意味する。なお、優先度は、送信の順序であっても良い。
一例として、優先度マップ識別子が「A001」である場合に、優先度として「500」と記憶している。優先度マップ識別子が「A003」である場合に、優先度として「8075」と記憶している。
図1に戻って、データ更新部11は、アプリケーション21から更新されたデータ(アプリデータと同義)の情報を共有アプリDB22に更新する。例えば、データ更新部11は、アプリケーション21から更新されたデータ(アプリデータ)が自端末1で更新されたデータである場合には、更新されたデータに対する送信要求データを送信キュー23に格納する。そして、データ更新部11は、更新されたデータの情報を、共有アプリDB22の共有データ221に更新する。また、データ更新部11は、アプリケーション21から更新されたデータ(アプリデータ)が他の端末1で更新されたアプリデータである場合には、更新されたデータの情報を、共有アプリDB22の共有データ221に更新する。
ここで、送信要求データの一例を、図8を参照して説明する。図8は、実施例に係る送信要求データの一例を示す図である。図8に示すように、送信要求データは、データ識別子、アプリ識別子および送信要求時刻を対応付けたデータである。データ識別子は、更新されたデータを一意に識別する識別子である。データ識別子は、共有データのデータ識別子に対応する。アプリ識別子は、アプリケーション21ごとに一意に割り振られる識別子である。アプリ識別子は、ウィンドウ情報一覧31のアプリ識別子に対応する。送信要求時刻は、送信要求された時刻である。
一例として、データ識別子が「D0001」である場合に、アプリ識別子として「A001」、送信要求時刻として「2017−11−28T00:11:22:000」と記憶している。
図1に戻って、優先度判定部12は、優先度マップ24に基づいて、送信要求データの優先度を判定する。優先度判定部12は、優先度に応じて送信の順序および送信のデータ量を決定する。例えば、優先度判定部12は、送信キュー23に送信要求データがある場合には、全ての送信要求データのアプリ識別子を優先度マップ24の優先度マップ識別子と照合して、一致する優先度マップ識別子に対応する優先度を取得する。優先度判定部12は、優先度の高い順に、全ての送信要求データを送信リストに格納する。そして、優先度判定部12は、送信リストをデータ送信部13に出力する。なお、優先度判定部12は、優先度の高い順に送信要求データを送信リストに格納して送信リストを生成するが、これに限定されない。優先度判定部12は、優先度および送信要求時刻と送信処理時刻との差分を用いて、送信リストを生成しても良い。すなわち、優先度判定部12は、送信キュー23にある全ての送信要求データに対して、送信処理時刻から送信要求時刻を差し引いた値と、アプリ識別子に対応する優先度とを加算した値を算出する。そして、優先度判定部12は、値が大きい順に、全ての送信要求データを送信リストに格納して、送信リストを生成すれば良い。また、優先度判定部12は、帯域の負荷に応じて、優先度の高い順に、一部の送信要求データを送信リストに格納しても良い。また、優先度判定部12は、帯域の負荷が所定値より高い場合には、送信処理を取りやめて、送信リストをクリアし、送信リストに含まれる送信要求データを再度送信キュー23に戻しても良い。
データ送信部13は、送信リストに格納された順に、送信要求データに対するアプリデータを含む送信データ(送受信データ)を、情報共有システム9内の端末1に送信する。情報共有システム9内の端末1の情報は、例えば、全端末1の宛先が記憶された端末情報(図示せず)に記憶されていれば良い。
データ受信部14は、他の端末1から送信されたアプリデータを含む送受信データを受信する。そして、データ受信部14は、アプリデータを共有データ221に更新するために、アプリデータを含む送受信データをデータ更新部11に出力する。加えて、データ受信部14は、アプリデータを含む送受信データを後述する優先度更新部15に出力する。
ここで、送受信データの一例を、図9を参照して説明する。図9は、実施例に係る送受信データの一例を示す図である。送受信データは、データ識別子、宛先、アプリ識別子、データおよび送信時刻を対応付けたデータである。データ識別子は、更新されたデータを一意に識別する識別子である。データ識別子は、共有データのデータ識別子に対応する。宛先は、更新されたデータを送信する宛先の情報である。アプリ識別子は、アプリケーション21ごとに一意に割り振られる識別子である。アプリ識別子は、ウィンドウ情報一覧31のアプリ識別子に対応する。データは、更新されたデータの内容そのものである。送信時刻は、送信された時刻である。
一例として、データ識別子が「D0001」である場合に、宛先として「Tanaka」、アプリ識別子として「A001」、データとして「{abc:def}」、送信時刻として「2017−11−28T00:11:22:500」と記憶している。
図1に戻って、優先度更新部15は、アプリデータを更新したアプリケーション21のウィンドウおよび他のアプリケーションのウィンドウの近接性に基づいて、他のアプリケーションに対応付けられた優先度を更新する。なお、優先度更新部15は、ウィンドウ情報一覧取得部151および近接性判定部152を有する。
ウィンドウ情報一覧取得部151は、ウィンドウ情報一覧31から全てのウィンドウ情報を取得する。
近接性判定部152は、送受信データを取得し、取得した送受信データのアプリ識別子を取得する。近接性判定部152は、全てのウィンドウ情報から、取得したアプリ識別子に対応するウィンドウ情報を取得する。取得したウィンドウ情報が、更新されたデータ(アプリデータ)を更新したアプリケーション21が動作するウィンドウの情報である。
そして、近接性判定部152は、更新されたデータが操作されたウィンドウと空間的に近接したウィンドウを判定し、空間的に近接したウィンドウの優先度をより高く更新する。かかる空間的な近接性は、例えば、更新されたデータが操作されたウィンドウと座標が近いウィンドウであって表示領域が大きいウィンドウはユーザによって注視されるウィンドウであるという予測に基づく。
そして、近接性判定部152は、更新されたデータが操作されたウィンドウと時間的に近接したウィンドウを判定し、時間的に近接したウィンドウの優先度をより高く更新する。かかる時間的な近接性は、例えば、更新されたデータが操作されたウィンドウと近い時刻に更新されたウィンドウはユーザにとって利用価値が高いという予測に基づく。
近接性判定部152は、更新されたデータが操作されたウィンドウと意味的に近接したウィンドウを判定し、意味的に近接した他のウィンドウの優先度をより高く更新する。かかる意味的な近接性は、例えば、更新されたデータが操作されたウィンドウと他のウィンドウとがオリジンやカテゴリが同じアプリケーション21を動作させていれば、関連性があるという予測に基づく。
そして、近接性判定部152は、ウィンドウごとの優先度から、優先度マップ24を更新する。
[優先度更新の一例]
ここで、優先度更新部15が実行する優先度更新の一例を、図10を参照して説明する。図10は、実施例に係る優先度更新の一例を示す図である。なお、図10では、空間的な近接性に基づく優先度更新について説明する。図10に示すように、更新されたデータが操作されたウィンドウは、符号bで表わされたウィンドウであるとする。近接性判定部152は、更新されたデータが操作されたウィンドウbと他のウィンドウa,cとの距離を、ウィンドウ情報一覧取得部151によって取得されたウィンドウ情報から計算する。ここでは、操作されたウィンドウbの中心座標とウィンドウaの中心座標との距離は、長さ2である。また、操作されたウィンドウbの中心座標とウィンドウcの中心座標との距離は、長さ5である。
また、近接性判定部152は、他のウィンドウの表示面積を計算する。ここでは、ウィンドウaの表示面積は、10である。ウィンドウcの表示面積は、30である。
また、近接性判定部152は、他のウィンドウごとに、表示面積を距離で割った値を優先度として更新する。ここでは、ウィンドウaは、表示面積10を距離2で割った値5を優先度として更新する。ウィンドウcは、表示面積30を距離5で割った値6を優先度として更新する。これにより、近接性判定部152は、操作されたウィンドウbと空間的に近接し、且つ、表示領域が大きいウィンドウcを優先する。
[優先度の利用の一例]
ここで、優先度の利用の一例を、図11を参照して説明する。図11は、実施例に係る優先度の利用の一例を示す図である。なお、優先度を利用する優先度判定部12は、優先度および送信要求時刻と送信処理時刻との差分を用いて、送信リストを生成する場合について説明する。
優先度判定部12は、一定時間ごとに送信キュー23を確認し、送信キュー23に送信要求データが存在する場合に、優先度判定処理を行う。優先度判定処理では、送信キュー23に存在する送信要求データ全てに対して、送信処理時刻から送信要求時刻を差し引いた値と、送信要求データのアプリ識別子に対応する優先度とを加算した値を算出する。
ここでは、送信キュー23には、アプリケーションa(アプリaと略記)からの送信要求データとアプリケーションb(アプリbと略記)とアプリケーションc(アプリcと略記)からの送信要求データとが存在するとする。
すると、優先度判定処理は、アプリaからの送信要求データに設定された送信要求の時刻を送信処理の時刻から差し引いた値を算出する。算出される値は、400ミリ秒(ms)であるとする。優先度判定処理は、アプリaからの送信要求データのアプリ識別子を優先度マップ24の優先度マップ識別子と照合して、一致する優先度マップ識別子に対応する優先度を取得する。取得された優先度は、100であるとする。したがって、アプリaに対応する、該当する時刻を差し引いた値と、優先度とを加算した値は、500となる。
また、優先度判定処理は、アプリbからの送信要求データに設定された送信要求の時刻を送信処理の時刻から差し引いた値を算出する。算出される値は、300ミリ秒(ms)であるとする。優先度判定処理は、アプリbからの送信要求データのアプリ識別子を優先度マップ24の優先度マップ識別子と照合して、一致する優先度マップ識別子に対応する優先度を取得する。取得された優先度は、400であるとする。したがって、アプリbに対応する、該当する時刻を差し引いた値と、優先度とを加算した値は、700となる。
また、優先度判定処理は、アプリcからの送信要求データに設定された送信要求の時刻を送信処理の時刻から差し引いた値を算出する。算出される値は、100ミリ秒(ms)であるとする。優先度判定処理は、アプリbからの送信要求データのアプリ識別子を優先度マップ24の優先度マップ識別子と照合して、一致する優先度マップ識別子に対応する優先度を取得する。取得された優先度は、500であるとする。したがって、アプリbに対応する、該当する時刻を差し引いた値と、優先度とを加算した値は、600となる。
そして、優先度判定処理は、値が大きい順に、全ての送信要求データを送信リストに格納して、送信リストを生成する。ここでは、優先度判定処理は、アプリbからの送信要求データ、アプリcからの送信要求データ、アプリaからの送信要求データの順に格納された送信リストを生成する。これにより、優先度判定部12は、送信順序を優先度と送信要求時刻とから決定することで、先に送信要求があった送信要求データの送信順序を優先することができるとともに、優先度の高い送信要求データの送信順序を優先することができる。
[同期制御処理のシーケンス]
ここで、同期制御処理のシーケンスの一例を、図12を参照して説明する。図12は、実施例に係る同期制御処理のシーケンスの一例を示す図である。なお、図12では、端末1として、端末Aおよび端末Bを一例として説明する。
図12に示すように、端末Aでは、例えば、アプリケーションa(アプリaと略記)からのアプリデータが更新される(S100)。すると、データ更新部11は、更新されたアプリデータの情報を共有アプリDB22の共有データ221に更新する(S110)。データ更新部11は、更新されたアプリデータに対する送信要求データを送信キュー23に格納する(S120)。
次に、端末Aでは、優先度判定部12は、送信キュー23から送信要求データを取得する(S130)。優先度判定部12は、優先度マップ24を参照して、送信要求データの送信順序を並び替え(S140)、送信要求一覧(送信リスト)を生成する。一例として、優先度判定部12は、優先度マップ24を参照して、優先度の高い順に、送信要求データの送信順序を並び替える。別の例として、優先度判定部12は、送信要求データの送信要求時刻と送信処理時刻との差分と、優先度マップ24の優先度とを加算した値の大きい順に、送信要求データの送信順序を並び替える。そして、優先度判定部12は、生成した送信要求一覧をデータ送信部13に出力する(S150)。
次に、端末Aでは、データ送信部13が、送信要求一覧に格納された順に、送信要求データに対するアプリデータを含む送信データ(送受信データ)を端末Bに送信する(S160)。
次に、端末Bでは、データ受信部14が、端末Aからの送信データを受信し、受信した受信データをデータ更新部11および優先度更新部15に出力する(S170,S190)。データ更新部11は、受信データに含まれたアプリデータの情報を共有アプリDB22の共有データ221に更新する(S180)。
端末Bでは、優先度更新部15が、受信データに含まれたアプリ識別子に対応するアプリケーションが動作するウィンドウおよび他のアプリケーションが動作するウィンドウの近接性に基づいて、優先度マップ24を更新する(S200)。例えば、優先度更新部15は、ウィンドウシステム30のウィンドウ情報一覧31から全てのウィンドウ情報を取得する。そして、優先度更新部15は、受信データに含まれたアプリ識別子に対応するアプリケーションが動作するウィンドウのウィンドウ識別子をキーとして、ウィンドウ情報を参照して、当該ウィンドウと空間的に近接したウィンドウの優先度をより高く更新する。加えて、優先度更新部15は、一例として、ウィンドウ情報の最終更新時刻を参照して、受信データに含まれるアプリデータが操作されたウィンドウと近い時刻に更新されたウィンドウの優先度をより高く更新する。加えて、優先度更新部15は、一例として、アプリ情報222およびウィンドウ情報を参照して、受信データに含まれるアプリデータを更新したアプリケーション21と意味的に近接したアプリケーション21が動作するウィンドウの優先度をより高く更新する。そして、優先度更新部15は、これらの更新情報を用いて、優先度マップ24を更新する。
この後、端末Bでは、アプリケーション21によってアプリデータが更新されると、データ更新部11が、更新されたアプリデータに対する送信要求データを送信キュー23に格納する。そして、優先度判定部12が、優先度マップ24を参照して、送信キュー23に格納された送信要求データの送信順序を並び替える。そして、データ送信部13が、並び替えられた順に、送信要求データを送信する。
次に、図13〜図19を参照して、実施例に係る同期制御処理のフローチャートの一例について説明する。なお、図13〜図19では、アプリケーション21から更新されたデータをアプリデータというものとする。
[データ更新処理のフローチャート]
図13は、実施例に係るデータ更新処理のフローチャートの一例を示す図である。図13に示すように、データ更新部11は、アプリデータを取得すると(ステップS11)、自端末1からの更新であるか否かを判定する(ステップS12)。自端末1からの更新でないと判定した場合には(ステップS12;No)、データ更新部11は、ステップS14に移行する。
一方、自端末1からの更新であると判定した場合には(ステップS12;Yes)、データ更新部11は、アプリデータに対する送信要求データを送信キュー23に格納する(ステップS13)。そして、データ更新部11は、ステップS14に移行する。
ステップS14において、データ更新部11は、アプリデータの情報を、共用アプリDB22の共有データ221に更新する(ステップS14)。そして、データ更新部11は、データ更新処理を終了する。
[優先度判定処理のフローチャート]
図14は、実施例に係る優先度判定処理のフローチャートの一例を示す図である。図14に示すように、優先度判定部12は、一定時間待機し(ステップS21)、送信キュー23に送信要求データがあるか否かを判定する(ステップS22)。送信キュー23に送信要求データがないと判定した場合には(ステップS22;No)、優先度判定部12は、一定時間待機すべく、ステップS21に移行する。
一方、送信キュー23に送信要求データがあると判定した場合には(ステップS22;Yes)、優先度判定部12は、記憶部(図示せず)から優先度マップ24を取得する(ステップS23)。そして、優先度判定部12は、優先度マップ24の順に、全ての送信要求データを送信リストに格納する(ステップS24)。一例として、優先度判定部12は、優先度マップ24を参照して、全ての送信要求データの送信順序を、優先度の高い順に並び替えて、送信リストに格納する。別の例として、優先度判定部12は、送信要求データの送信要求時刻と送信処理時刻との差分と、優先度マップ24の優先度とを加算した値の大きい順に、全ての送信要求データの送信順序を並び替えて、送信リストに格納する。
そして、優先度判定部12は、送信リストをデータ送信部13に出力する(ステップS25)。そして、優先度判定部12は、優先度判定処理を終了する。
[データ送信処理のフローチャート]
図15は、実施例に係るデータ送信処理のフローチャートの一例を示す図である。図15に示すように、データ送信部13は、優先度判定部12から送信リストを取得する(ステップS31)。データ送信部13は、記憶部(図示せず)から端末情報を取得する(ステップS32)。端末情報には、例えば、情報共有システム9内の全端末1の宛先が記憶されている。
そして、データ送信部13は、取得した端末情報の端末1に対して、送信リストの順に、更新されたアプリデータを送信する(ステップS33)。そして、データ送信部13は、データ送信処理を終了する。
[データ受信処理のフローチャート]
図16は、実施例に係るデータ受信処理のフローチャートの一例を示す図である。図16に示すように、データ受信部14は、情報共有システム9内のいずれかの端末1から送受信データを取得する(ステップS41)。データ受信部14は、取得した送受信データをデータ更新部11に出力する(ステップS42)。これは、取得した送受信データに含まれるアプリデータの情報を共有アプリDB22に更新するためである。
そして、データ受信部14は、取得した送受信データを優先度更新部15に出力する(ステップS43)。これは、取得した送受信データに含まれるアプリデータを更新したアプリケーション21と関連するアプリケーション21の優先度をより高く更新するためである。そして、データ受信部14は、データ受信処理を終了する。
[優先度更新処理のフローチャート]
図17は、実施例に係る優先度更新処理のフローチャートの一例を示す図である。図17に示すように、優先度更新部15は、データ受信部14から送受信データを取得する(ステップS51)。優先度更新部15は、取得した送受信データからアプリ識別子を取得する(ステップS52)。
優先度更新部15は、ウィンドウ情報一覧31を取得する処理を実行する(ステップS53)。なお、ウィンドウ情報一覧取得処理のフローチャートは、後述する。
優先度更新部15は、ウィンドウ情報一覧31を用いて、近接性判定処理を実行し、優先度マップ24を更新する(ステップS54)。なお、近接性判定処理のフローチャートは、後述する。そして、優先度更新部15は、優先度更新処理を終了する。
[ウィンドウ情報一覧取得処理のフローチャート]
図18は、実施例に係るウィンドウ情報一覧取得処理のフローチャートの一例を示す図である。図18に示すように、ウィンドウ情報一覧取得部151は、ウィンドウシステム30に対して、管理している全てのウィンドウ情報の取得を要求する(ステップS61)。
そして、ウィンドウ情報一覧取得部151は、ウィンドウシステム30から全てのウィンドウ情報を取得し、一覧にして要求元に返す(ステップS62)。そして、ウィンドウ情報一覧取得部151は、ウィンドウ情報一覧取得処理を終了する。
[近接性判定処理のフローチャート]
図19は、実施例に係る近接性判定処理のフローチャートの一例を示す図である。図19に示すように、近接性判定部152は、更新されたウィンドウのウィンドウ情報とウィンドウ情報一覧31を取得する(ステップS71)。例えば、近接性判定部152は、優先度更新部15からウィンドウ情報一覧31を取得する。加えて、近接性判定部152は、送受信データから取得されたアプリ識別子に対応するウィンドウのウィンドウ情報を、ウィンドウ情報一覧31から取得する。取得したウィンドウ情報が、更新されたウィンドウのウィンドウ情報である。
そして、近接性判定部152は、更新されたウィンドウに空間的に近接したウィンドウの優先度をより高く更新する(ステップS72)。例えば、近接性判定部152は、更新されたウィンドウのウィンドウ情報から表示情報を取得する。そして、近接性判定部152は、更新されたウィンドウのウィンドウ情報から取得された表示情報およびウィンドウ情報一覧31の中の他のウィンドウのウィンドウ情報の表示情報を用いて、他のウィンドウの中心座標と、更新されたウィンドウの中心座標との距離を計算する。そして、近接性判定部152は、他のウィンドウごとに、他のウィンドウのウィンドウ情報に含まれる表示情報を用いて、表示面積を計算する。そして、近接性判定部152は、他のウィンドウごとに、更新されたウィンドウとの距離と、表示面積とに基づいて、更新されたウィンドウに空間的に近接した他のウィンドウの優先度をより高く更新する。すなわち、空間的な近接性は、更新されたデータが操作されたウィンドウと座標が近いウィンドウであって表示面積が大きいウィンドウはユーザによって注視されるウィンドウであるという予測に基づく。
そして、近接性判定部152は、操作した時系列順に優先度を更新する(ステップS73)。例えば、近接性判定部152は、他のウィンドウのウィンドウ情報に含まれる最終更新時刻を参照して、更新されたウィンドウの最終更新時刻から時系列順に優先度を更新する。すなわち、時間的な近接性は、更新されたデータが操作されたウィンドウと近い時刻に更新されたウィンドウはユーザにとって利用価値が高いという予測に基づく。
そして、近接性判定部152は、更新されたウィンドウに意味的に近いウィンドウを判定し、より高い優先度を更新する(ステップS74)。例えば、近接性判定部152は、更新されたウィンドウで動作するアプリケーション21に対応するアプリ情報22を取得する。近接性判定部152は、他のウィンドウのウィンドウ情報の中のアプリ識別子に対応するアプリ情報222を取得する。そして、近接性判定部152は、更新されたウィンドウのアプリ情報222と、他のウィンドウのアプリ情報222とを参照して、更新されたウィンドウで動作するアプリケーション21と意味的に近い他のウィンドウを判定する。一例として、近接性判定部152は、意味的に近い他のウィンドウを、アプリ情報222に含まれるオリジンやカテゴリから判定する。すなわち、意味的な近接性は、更新されたデータが操作されたウィンドウと他のウィンドウとがオリジンやカテゴリが同じアプリケーション21を動作させていれば、関連性があるという予測に基づく。そして、近接性判定部152は、更新されたウィンドウに意味的に近い他のウィンドウの優先度をより高く更新する。
そして、近接性判定部152は、S72〜S74におけるそれぞれの更新情報から優先度マップ24を更新する(ステップS75)。そして、近接性判定部152は、近接性判定処理を終了する。
[実施例の効果]
このようにして、上記実施例では、端末1は、共通の表示空間に表示される複数のウィンドウそれぞれで動作するアプリケーション21に対応付けてデータを送信する際の優先度を優先度マップ24に記憶する。端末1は、複数のアプリケーション21のうちいずれかのアプリケーション21からのデータの更新に応じて、更新されたデータの送受信を行う。端末1は、更新されたデータが受信された場合に、前記更新されたデータを更新したアプリケーション21のウィンドウおよび他のアプリケーション21のウィンドウの近接性に基づいて、優先度マップ24における他のアプリケーション21に対応付けられた優先度を変更する。そして、端末1は、自端末に表示されるウィンドウで動作するアプリケーション21からデータを更新する場合に、優先度マップ24の優先度情報に基づいて、更新されたデータの送信の順序を決定する。かかる構成によれば、端末1は、壁一面などの表示空間を画面として端末1間で共有する空間UIの場合、アプリケーション21が動作するウィンドウ同士の近接性を用いて更新されたデータの送信の順序を決定することで、通信量が混雑しても、ユーザの操作性を向上させる。例えば、通信量が混雑していても、ユーザの使い心地を向上させることができる。
また、端末1は、更新されたデータを更新したアプリケーション21のウィンドウおよび他のアプリケーション21のウィンドウの距離および表示面積に基づいて、他のアプリケーション21に対応付けられた優先度を変更する。端末1は、更新されたデータの更新時刻および他のアプリケーション21のウィンドウから更新されたデータの更新時刻の差分に基づいて、他のアプリケーション21に対応付けられた優先度を変更する。また、端末1は、更新されたデータを更新したアプリケーション21のウィンドウおよび他のアプリケーション21のウィンドウの関連性に基づいて、他のアプリケーション21に対応付けられた優先度を変更する。そして、端末1は、各優先度の変更処理の一部または全部に基づき、他のアプリケーション21に対応付けられた優先度を変更する。かかる構成によれば、端末1は、更新されたデータを更新したアプリケーション21のウィンドウと近接した他のウィンドウで動作するアプリケーション21の優先度を上げることが可能となり、ユーザが注視しているウィンドウで動作するアプリケーション21の優先度をより高くすることができる。
また、端末1は、優先度マップ24に記憶された優先度情報および送信処理時刻と送信要求があった時刻との差分に基づいて、更新されたデータの送信の順序を並べ替える。かかる構成によれば、端末1は、送信の順序を優先度と送信要求があった時刻とから決定することで、先に送信要求があった送信要求データの送信順序を優先することができるとともに、優先度の高い送信要求データの送信順序を優先することが可能となる。
また、端末1は、優先度マップ24に記憶された優先度情報に基づいて、さらに、更新されたデータの送信流量を決定する。かかる構成によれば、端末1は、通信量が混雑している場合に、更新されたデータの送信流量を変えることができ、ネットワーク負荷を軽減できる。
[その他]
なお、実施例では、近接性判定部152が、更新されたデータが操作されたウィンドウと空間的、時間的および意味的に近接したウィンドウの優先度を高く更新すると説明した。しかしながら、近接性判定部152は、これに限定されず、近接センサなどを利用して、ユーザの存在自体を把握し、ユーザと物理的に近距離に表示されているウィンドウを操作したデータの優先度を高く更新しても良い。これにより、近接性判定部152は、ユーザの位置を把握できるので、ユーザにとって価値が高いと推測されるデータを把握でき、把握したデータを確実に優先的に共有することができ、ユーザの操作性を向上できる。
また、近接性判定部152は、予め定めたユーザの操作によって、データの優先度を更新しても良い。例えば、近接性判定部152は、ウィンドウを近づけたり、重ねた後剥したりするなどのユーザの操作に応じて優先度を変えても良い。すなわち、近接性判定部152は、予め定められたユーザの操作に応じて優先度を上げたり下げたりしても良い。これにより、近接性判定部152は、ユーザの操作を把握できるので、ユーザにとって価値が高いと推測されるデータを把握でき、把握したデータを確実に優先的に共有することができ、ユーザの操作性を向上できる。
また、端末1は、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記したデータ更新部11、優先度判定部12、データ送信部13、データ受信部14および優先度更新部15などを搭載することによって実現することができる。
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、データ送信部13およびデータ受信部14を1つの機能部に統合しても良い。また、近接性判定部152は、空間的な近接性を判定する第1の判定部と、時間的な近接性を判定する第2の判定部と、意味的な近接性を判定する第3の判定部とに分散しても良い。また、ウィンドウシステム30を端末1の外部装置としてネットワーク経由で接続するようにしても良い。また、共有アプリDB22などの図示しない記憶部を端末1の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図1に示した端末1と同様の機能を実現する同期制御プログラムを実行するコンピュータの一例を説明する。図20は、同期制御プログラムを実行するコンピュータの一例を示す図である。
図20に示すように、コンピュータ200は、各種演算処理を実行するCPU(Central Processing Unit)203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読み取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD205を有する。そして、メモリ201、CPU203、HDD(Hard Disk Drive)205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、同期制御プログラム205aおよび同期制御関連情報205bを記憶する。
CPU203は、同期制御プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、端末1の各機能部に対応する。同期制御関連情報205bは、端末1の図示しない記憶部に記憶された共用アプリDB22、送信キュー23および優先度マップ24などの情報に対応する。そして、例えばリムーバブルディスク211が、同期制御プログラム205aなどの各情報を記憶する。
なお、同期制御プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、光磁気ディスク、IC(Integrated Circuit)カードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらから同期制御プログラム205aを読み出して実行するようにしても良い。
1 端末
11 データ更新部
12 優先度判定部
13 データ送信部
14 データ受信部
15 優先度更新部
151 ウィンドウ情報一覧取得部
152 近接性判定部
21 アプリケーション
22 共有アプリDB
221 共有データ
222 アプリ情報
23 送信キュー
24 優先度マップ
30 ウィンドウシステム
31 ウィンドウ情報一覧

Claims (6)

  1. 共通の表示空間を情報処理装置間で共有する情報処理装置であって、
    前記表示空間に表示される複数のウィンドウそれぞれで動作するアプリケーションに対応付けてデータを送信する際の優先度を記憶する記憶部と、
    複数のアプリケーションのうちいずれかのアプリケーションからのデータの更新に応じて、更新されたデータの送受信を行う送受信部と、
    前記送受信部によって前記更新されたデータが受信された場合に、前記更新されたデータを更新したアプリケーションのウィンドウおよび他のアプリケーションのウィンドウの近接性に基づいて、前記記憶部における前記他のアプリケーションに対応付けられた優先度を変更する変更部と、
    自装置に表示されるウィンドウで動作するアプリケーションからデータを更新する場合に、前記記憶部に記憶された優先度情報に基づいて、更新されたデータの送信の順序を決定する決定部と、
    を有することを特徴とする情報処理装置。
  2. 前記変更部は、
    前記更新されたデータを更新したアプリケーションのウィンドウおよび他のアプリケーションのウィンドウの距離および表示面積に基づいて、前記他のアプリケーションに対応付けられた優先度を変更する第1の変更部と、
    前記更新されたデータの更新時刻および前記他のアプリケーションのウィンドウから更新されたデータの更新時刻の差分に基づいて、前記他のアプリケーションに対応付けられた優先度を変更する第2の変更部と、
    前記更新されたデータを更新したアプリケーションのウィンドウおよび前記他のアプリケーションのウィンドウの関連性に基づいて、前記他のアプリケーションに対応付けられた優先度を変更する第3の変更部と、を有し、
    前記第1の変更部、前記第2の変更部および前記第3の変更部の一部または全部に基づき、前記他のアプリケーションに対応付けられた優先度を変更する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記決定部は、前記記憶部に記憶された優先度情報および送信処理時刻と送信要求があった時刻との差分に基づいて、更新されたデータの送信の順序を並べ替える
    ことを特徴とする請求項1に記載の情報処理装置。
  4. 前記決定部は、前記記憶部に記憶された優先度情報に基づいて、さらに、更新されたデータの送信のデータ量を決定する
    ことを特徴とする請求項1に記載の情報処理装置。
  5. 共通の表示空間を情報処理装置間で共有する情報共有システムであって、
    前記情報処理装置は、
    前記表示空間に表示される複数のウィンドウそれぞれで動作するアプリケーションに対応付けてデータを送信する際の優先度を記憶する記憶部と、
    複数のアプリケーションのうちいずれかのアプリケーションからのデータの更新に応じて、更新されたデータの送受信を行う送受信部と、
    前記送受信部によって前記更新されたデータが受信された場合に、前記更新されたデータを更新したアプリケーションのウィンドウおよび他のアプリケーションのウィンドウの近接性に基づいて、前記記憶部における前記他のアプリケーションに対応付けられた優先度を変更する変更部と、
    自装置に表示されるウィンドウで動作するアプリケーションからデータを更新する場合に、前記記憶部に記憶された優先度情報に基づいて、更新されたデータの送信の順序を決定する決定部と、
    を有することを特徴とする情報共有システム。
  6. 共通の表示空間を情報処理装置間で共有する情報処理装置がデータの同期を制御する同期制御方法であって、
    第1の情報処理装置は、
    前記表示空間に表示される複数のウィンドウそれぞれで動作するアプリケーションのうちいずれかのアプリケーションからのデータの更新に応じて、更新されたデータを、前記表示空間を共有する情報処理装置に送信し、
    第2の情報処理装置は、
    前記更新されたデータを受信した場合に、前記更新されたデータを更新したアプリケーションのウィンドウおよび他のアプリケーションのウィンドウの近接性に基づいて、前記複数のウィンドウそれぞれで動作するアプリケーションに対応付けてデータを送信する際の優先度を記憶する記憶部に記憶された前記他のアプリケーションに対応付けられる優先度を変更し、
    自装置に表示されるウィンドウで動作するアプリケーションからデータを更新する場合に、前記記憶部に記憶された優先度情報に基づいて、更新されたデータの送信の順序を決定し、
    前記決定された送信の順序に基づいて、前記更新されたデータを、前記表示空間を共有する情報処理装置に送信する
    処理を実行することを特徴とする同期制御方法。
JP2017254759A 2017-12-28 2017-12-28 情報処理装置、情報共有システムおよび同期制御方法 Active JP6915532B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017254759A JP6915532B2 (ja) 2017-12-28 2017-12-28 情報処理装置、情報共有システムおよび同期制御方法
US16/223,172 US10871990B2 (en) 2017-12-28 2018-12-18 Effective synchronous communication of screen information shared among information processing apparatuses
EP18213821.4A EP3506077B1 (en) 2017-12-28 2018-12-19 Effective synchronous communication of screen information shared among information processing apparatuses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017254759A JP6915532B2 (ja) 2017-12-28 2017-12-28 情報処理装置、情報共有システムおよび同期制御方法

Publications (2)

Publication Number Publication Date
JP2019121103A JP2019121103A (ja) 2019-07-22
JP6915532B2 true JP6915532B2 (ja) 2021-08-04

Family

ID=64949052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017254759A Active JP6915532B2 (ja) 2017-12-28 2017-12-28 情報処理装置、情報共有システムおよび同期制御方法

Country Status (3)

Country Link
US (1) US10871990B2 (ja)
EP (1) EP3506077B1 (ja)
JP (1) JP6915532B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078819A (zh) * 2019-12-31 2020-04-28 维沃移动通信有限公司 应用分享方法及电子设备
CN111782326A (zh) * 2020-06-30 2020-10-16 北京字节跳动网络技术有限公司 控制页面刷新的方法、装置、计算机设备和存储介质
CN111935150B (zh) * 2020-08-11 2023-07-21 联想(北京)有限公司 内容共享实现方法、装置及电子设备
CN117076162B (zh) * 2023-10-17 2024-03-29 美云智数科技有限公司 卡片消息处理方法、装置、计算机设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272591A (ja) 1998-03-20 1999-10-08 Hitachi Software Eng Co Ltd 共有アプリケーションにおけるデータ転送量保証システム
US20060150108A1 (en) * 2005-01-06 2006-07-06 Canon Kabushiki Kaisha Information processing device, information processing method, storage medium, and program
US8453148B1 (en) 2005-04-06 2013-05-28 Teradici Corporation Method and system for image sequence transfer scheduling and restricting the image sequence generation
JP4725247B2 (ja) 2005-08-25 2011-07-13 日本電気株式会社 ワークプレース提供システムおよび方法
US7548547B2 (en) * 2006-03-31 2009-06-16 Microsoft Corporation Controlling the transfer of terminal server data
AU2007312951A1 (en) * 2006-10-20 2008-04-24 Thoughtgraph Ltd Web application for debate maps
KR101201856B1 (ko) * 2008-02-27 2012-11-15 교세라 가부시키가이샤 유저인터페이스생성장치
WO2012056727A1 (ja) 2010-10-29 2012-05-03 パナソニック株式会社 コミュニケーションサービスシステム
US10712927B2 (en) * 2015-06-12 2020-07-14 Avaya Inc. System and method for call management in single window communication endpoints
JP2017033291A (ja) 2015-07-31 2017-02-09 キヤノン株式会社 情報処理装置及びその制御方法、情報処理システム、コンピュータプログラム
US10877575B2 (en) * 2017-03-06 2020-12-29 Microsoft Technology Licensing, Llc Change of active user of a stylus pen with a multi user-interactive display

Also Published As

Publication number Publication date
US10871990B2 (en) 2020-12-22
US20190205165A1 (en) 2019-07-04
EP3506077B1 (en) 2023-04-19
JP2019121103A (ja) 2019-07-22
EP3506077A1 (en) 2019-07-03

Similar Documents

Publication Publication Date Title
JP6915532B2 (ja) 情報処理装置、情報共有システムおよび同期制御方法
KR101547498B1 (ko) 하이브리드 클라우드 환경에서 데이터를 분산하는 방법 및 장치
US8819080B2 (en) System and method for collection, retrieval, and distribution of data
CN105900391A (zh) 使用restlike api进行实时通信
US8180730B2 (en) Arbitration token for managing data integrity and data accuracy of information services that utilize distributed data replicas
CN107451853B (zh) 一种红包实时派发的方法、装置、系统及存储介质
US10164904B2 (en) Network bandwidth sharing in a distributed computing system
CN105471700B (zh) 一种消息处理的方法、装置和系统
CN108605017A (zh) 查询计划和操作感知通信缓冲区管理
KR20130130295A (ko) 단말을 서버에 할당하고 단말로의 효율적인 메시징을 위한 시스템 및 방법
KR20180095988A (ko) 로컬 네트워크 환경에서 포그 서버 개수 및 배치 위치 결정을 위한 장치 및 방법
US9137331B2 (en) Adaptive replication
US10691700B1 (en) Table replica allocation in a replicated storage system
JP6886874B2 (ja) エッジ装置、データ処理システム、データ送信方法、及びプログラム
JPWO2018123030A1 (ja) 優先度の制御方法及びデータ処理システム
JP2004046372A (ja) 分散処理システム、リソース割当方法およびプログラムならびにリソース割当プログラムが記録された記録媒体
JP7097427B2 (ja) データ処理システム、及びデータ処理方法
CN109271224A (zh) 用于确定位置的方法和设备
CN113268329A (zh) 一种请求调度方法、装置及存储介质
KR102064466B1 (ko) 가상화 시스템에서의 가상 데스크톱을 할당하는 방법 및 그 가상화 시스템
JP2021012561A (ja) 情報処理プログラム、情報処理方法、および情報処理装置
US20230176908A1 (en) Systems, methods and computer program products for job management
KR101414973B1 (ko) 지연 허용 네트워크에서의 메모리 관리 장치 및 방법
US20220100374A1 (en) Hierarchical file block variant tracking for performance in parallelism at multi-disk arrays
JP2018200581A (ja) ネットワークシステム、ノード装置、キャッシュ方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201008

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210628

R150 Certificate of patent or registration of utility model

Ref document number: 6915532

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150