(57)【要約】【課題】壁一面などの空間を画面として端末間で共有する空間ＵＩの場合、通信が混雑しても、ユーザの操作性を向上させる。【解決手段】共通の表示空間を端末間で共有する端末１は、表示空間に表示される複数のウィンドウそれぞれで動作するアプリケーションに対応付けてデータを送信する際の優先度を記憶する優先度マップ２４を有し、いずれかのアプリケーションからのデータの更新に応じて、更新されたデータの送受信を行い、更新されたデータが受信された場合に、更新されたデータを更新したアプリケーションのウィンドウおよび他のアプリケーションのウィンドウの近接性に基づいて、優先度マップ２４における他のアプリケーションに対応付けられた優先度を変更し、自端末１に表示されるウィンドウで動作するアプリケーションからデータを更新する場合に、優先度マップ２４に記憶された優先度情報に基づいて、更新されたデータの送信の順序を決定する。【選択図】図１
2019121103.tif 000002
【特許請求の範囲】
【請求項１】
共通の表示空間を情報処理装置間で共有する情報処理装置であって、
前記表示空間に表示される複数のウィンドウそれぞれで動作するアプリケーションに対応付けてデータを送信する際の優先度を記憶する記憶部と、
複数のアプリケーションのうちいずれかのアプリケーションからのデータの更新に応じて、更新されたデータの送受信を行う送受信部と、
前記送受信部によって前記更新されたデータが受信された場合に、前記更新されたデータを更新したアプリケーションのウィンドウおよび他のアプリケーションのウィンドウの近接性に基づいて、前記記憶部における前記他のアプリケーションに対応付けられた優先度を変更する変更部と、
自装置に表示されるウィンドウで動作するアプリケーションからデータを更新する場合に、前記記憶部に記憶された優先度情報に基づいて、更新されたデータの送信の順序を決定する決定部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記変更部は、
前記更新されたデータを更新したアプリケーションのウィンドウおよび他のアプリケーションのウィンドウの距離および表示面積に基づいて、前記他のアプリケーションに対応付けられた優先度を変更する第１の変更部と、
前記更新されたデータの更新時刻および前記他のアプリケーションのウィンドウから更新されたデータの更新時刻の差分に基づいて、前記他のアプリケーションに対応付けられた優先度を変更する第２の変更部と、
前記更新されたデータを更新したアプリケーションのウィンドウおよび前記他のアプリケーションのウィンドウの関連性に基づいて、前記他のアプリケーションに対応付けられた優先度を変更する第３の変更部と、を有し、
前記第１の変更部、前記第２の変更部および前記第３の変更部の一部または全部に基づき、前記他のアプリケーションに対応付けられた優先度を変更する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定部は、前記記憶部に記憶された優先度情報および送信処理時刻と送信要求があった時刻との差分に基づいて、更新されたデータの送信の順序を並べ替える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記決定部は、前記記憶部に記憶された優先度情報に基づいて、さらに、更新されたデータの送信のデータ量を決定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
共通の表示空間を情報処理装置間で共有する情報共有システムであって、
前記情報処理装置は、
前記表示空間に表示される複数のウィンドウそれぞれで動作するアプリケーションに対応付けてデータを送信する際の優先度を記憶する記憶部と、
複数のアプリケーションのうちいずれかのアプリケーションからのデータの更新に応じて、更新されたデータの送受信を行う送受信部と、
前記送受信部によって前記更新されたデータが受信された場合に、前記更新されたデータを更新したアプリケーションのウィンドウおよび他のアプリケーションのウィンドウの近接性に基づいて、前記記憶部における前記他のアプリケーションに対応付けられた優先度を変更する変更部と、
自装置に表示されるウィンドウで動作するアプリケーションからデータを更新する場合に、前記記憶部に記憶された優先度情報に基づいて、更新されたデータの送信の順序を決定する決定部と、
を有することを特徴とする情報共有システム。
【請求項６】
共通の表示空間を情報処理装置間で共有する情報処理装置がデータの同期を制御する同期制御方法であって、
第１の情報処理装置は、
前記表示空間に表示される複数のウィンドウそれぞれで動作するアプリケーションのうちいずれかのアプリケーションからのデータの更新に応じて、更新されたデータを、前記表示空間を共有する情報処理装置に送信し、
第２の情報処理装置は、
前記更新されたデータを受信した場合に、前記更新されたデータを更新したアプリケーションのウィンドウおよび他のアプリケーションのウィンドウの近接性に基づいて、前記複数のウィンドウそれぞれで動作するアプリケーションに対応付けてデータを送信する際の優先度を記憶する記憶部に記憶された前記他のアプリケーションに対応付けられる優先度を変更し、
自装置に表示されるウィンドウで動作するアプリケーションからデータを更新する場合に、前記記憶部に記憶された優先度情報に基づいて、更新されたデータの送信の順序を決定し、
前記決定された送信の順序に基づいて、前記更新されたデータを、前記表示空間を共有する情報処理装置に送信する
処理を実行することを特徴とする同期制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置などに関する。
【背景技術】
【０００２】
近年、空間をデジタル化するＵＩ（User  Interface）技術が知られている（例えば、非特許文献１を参照）。かかる空間ＵＩでは、壁や机などの広い空間を使って１つのウィンドウシステムを構築する。そして、かかる空間ＵＩでは、例えば壁一面などの空間を画面としてウィンドウシステム間で画面情報の同期通信を行う。
【０００３】
壁一面などを画面として使用した空間ＵＩでは、画面に表示されるウィンドウを増やすことが可能となる。他のウィンドウシステムとのデータ量は、ウィンドウの増加に伴い多くなる。ところが、通信可能な帯域には限界がある。このため、それぞれのウィンドウシステムが、ウィンドウが操作された結果変更される全てのデータを送受信すると、帯域が溢れてしまい、適切なデータ配信が行えない。そこで、適切な送信の抑制が必要となる。送信の抑制の一例として、帯域の混雑度に応じて、データの流量を変えることが知られている。
【０００４】
ところが、単に帯域の混雑度に応じてデータの流量を変えるだけでは、変更される全てのデータの流量に変化が生じるため、ＵＸ（User  Experience）に影響が出てしまう。ここでいうＵＸとは、ユーザがサービスの利用を通じて得られる体験であり、例えば、ユーザの使いやすさに加えて、使い心地などのことをいう。すなわち、例えば、ユーザが注視していないウィンドウａと、ユーザが注視しているウィンドウｂがあったとき、帯域が混雑すると、全てのウィンドウに対して送信の抑制が行われてしまい、データの流量が減少する。この結果、ユーザが注視しているウィンドウｂが滑らかな表示でなくなることがある。
【０００５】
そこで、通信が混雑していても、ユーザの体験に基づいた送信の抑制が必要になる。
【０００６】
例えば、デスクトップ上で変更されたデータが可視状態でないコンピュータには変更データを転送せず、可視状態に変化したのをトリガーとしてデータを転送する技術が開示されている。かかる技術では、特定の共有アプリケーションのデータに変更が生じた場合に、共起するデータセット内の確率が特定のしきい値を超えるデータを同時に転送することが開示されている（例えば、特許文献１参照）。
【０００７】
また、別の例では、一方のユーザと他方のユーザとが同一または関連するコンテンツを所有している場合、一方のユーザが操作するクライアント端末に、同一または関連するコンテンツの情報を他のコンテンツの情報よりも優先的に表示させる技術が開示されている（例えば、特許文献２，３参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１１−２７２５９１号公報
【特許文献２】国際公開第２０１２／０５６７２７号
【特許文献３】特開２００７−５８６４４号公報
【非特許文献】
【０００９】
【非特許文献１】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
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、空間ＵＩにおける送信の抑制では、ユーザの操作性が向上しない場合があるという問題がある。すなわち、壁一面などの空間を画面として装置間で共有する空間ＵＩの場合、通信が混雑すると、ユーザの操作性が向上しない場合がある。
【００１１】
例えば、コンピュータが可視状態に変化したのをトリガーとしてデータを転送する技術では、データに変更が生じた場合に共起するデータを同時に転送する。しかしながら、コンピュータが可視状態に変化したときに、転送されるデータが、ユーザの注視していないウィンドウ内のデータである場合には、ユーザが注視していないので、ユーザの操作性が向上しない。
【００１２】
また、同一または関連するコンテンツの情報を他のコンテンツの情報よりも優先的に表示させる技術では、関連するコンテンツの情報が、ユーザの注視していないウィンドウ内のデータである場合には、ユーザが注視していないので、ユーザの操作性が向上しない。
【００１３】
また、ウィンドウの重なりの順序に基づき、処理の優先度を決定する仕組みが知られている。一例として、最上位に表示されているウィンドウの描画が優先される。かかる仕組みであれば、ユーザの注視しているウィンドウの更新されたデータを優先的に送信することが可能である。しかしながら、空間ＵＩでは、壁一面のようにＵＩ自体が大きいため、ウィンドウが重ならない場合が多く、単純にウィンドウの重なりの順序からユーザの注視しているウィンドウを判別できない。したがって、空間ＵＩの場合には、通信が混雑すると、ユーザの操作性が向上しない場合がある。
【００１４】
１つの側面では、壁一面などの空間を画面として装置間で共有する空間ＵＩの場合、通信が混雑しても、ユーザの操作性を向上させることを目的とする。
【課題を解決するための手段】
【００１５】
１つの態様では、共通の表示空間を情報処理装置間で共有する情報処理装置は、前記表示空間に表示される複数のウィンドウそれぞれで動作するアプリケーションに対応付けてデータを送信する際の優先度を記憶する記憶部と、複数のアプリケーションのうちいずれかのアプリケーションからのデータの更新に応じて、更新されたデータの送受信を行う送受信部と、前記送受信部によって前記更新されたデータが受信された場合に、前記更新されたデータを更新したアプリケーションのウィンドウおよび他のアプリケーションのウィンドウの近接性に基づいて、前記記憶部における前記他のアプリケーションに対応付けられた優先度を変更する変更部と、自装置に表示されるウィンドウで動作するアプリケーションからデータを更新する場合に、前記記憶部に記憶された優先度情報に基づいて、更新されたデータの送信の順序を決定する決定部と、を有する。
【発明の効果】
【００１６】
１つの態様によれば、壁一面などの空間を画面として装置間で共有する空間ＵＩの場合、通信が混雑しても、ユーザの操作性を向上させることができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施例に係る情報共有システムの構成を示す機能ブロック図である。
【図２】図２は、実施例に係る同期制御の概念を示す図である。
【図３】図３は、実施例に係る同期制御処理の一例を示す図である。
【図４】図４は、実施例に係るウィンドウ情報一覧のデータ構造の一例を示す図である。
【図５】図５は、実施例に係る共有データのデータ構造の一例を示す図である。
【図６】図６は、実施例に係るアプリ情報のデータ構造の一例を示す図である。
【図７】図７は、実施例に係る優先度マップのデータ構造の一例を示す図である。
【図８】図８は、実施例に係る送信要求データの一例を示す図である。
【図９】図９は、実施例に係る送受信データの一例を示す図である。
【図１０】図１０は、実施例に係る優先度更新の一例を示す図である。
【図１１】図１１は、実施例に係る優先度の利用の一例を示す図である。
【図１２】図１２は、実施例に係る同期制御処理のシーケンスの一例を示す図である。
【図１３】図１３は、実施例に係るデータ更新処理のフローチャートの一例を示す図である。
【図１４】図１４は、実施例に係る優先度判定処理のフローチャートの一例を示す図である。
【図１５】図１５は、実施例に係るデータ送信処理のフローチャートの一例を示す図である。
【図１６】図１６は、実施例に係るデータ受信処理のフローチャートの一例を示す図である。
【図１７】図１７は、実施例に係る優先度更新処理のフローチャートの一例を示す図である。
【図１８】図１８は、実施例に係るウィンドウ情報一覧取得処理のフローチャートの一例を示す図である。
【図１９】図１９は、実施例に係る近接性判定処理のフローチャートの一例を示す図である。
【図２０】図２０は、同期制御プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１８】
以下に、本願の開示する情報処理装置、情報共有システムおよび同期制御方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例】
【００１９】
［実施例に係る情報共有システムの構成］
図１は、実施例に係る情報共有システムの構成を示す機能ブロック図である。図１に示すように、情報共有システム９は、複数の端末１を有する。端末１は、空間をデジタル化するＵＩ技術において、共通の表示空間を複数の端末１間で共有し、更新されたデータの同期制御を行う。端末１は、ユーザが操作しているデータだけでなく、操作したデータのウィンドウに近接した他のウィンドウの優先度を上げるように変更する。ここでいう表示空間とは、例えば、壁や机に表示された画面のことをいう。ここでいう「近接」とは、空間的、意味的および時間的な近さのことをいう。「空間的に近接」とは、ウィンドウ間の距離の近さのことをいう。「意味的に近接」とは、ウィンドウで動作するアプリケーションにおいてアプリケーション間の関連性の近さのことをいう。「時間的に近接」とは、ウィンドウごとに更新されたデータの更新時刻の近さのことをいう。これにより、端末１は、ウィンドウを操作しているユーザにとって必要性の高いウィンドウのデータをより優先的に配信することができる。すなわち、端末１は、ユーザが操作しているウィンドウに空間的、意味的、時間的に近接しているウィンドウのデータを、同期のために、優先的に配信するように制御することができる。
【００２０】
ここで、実施例に係る同期制御の概念を、図２を参照して説明する。図２は、実施例に係る同期制御の概念を示す図である。なお、図２で示す各ノードは、それぞれ端末１に対応する。図２で示すａ〜ｈは、それぞれアプリケーションが動作するウィンドウを意味する。
【００２１】
図２に示すように、ユーザが受信ノードに表示されたアプリ―ケーションのウィンドウを操作し、アプリケーションからデータが同期されると、送信ノードは同期されたデータ（受信ノードが操作しているウィンドウ）に近接した他のウィンドウの優先度が高くなるように他のウィンドウの優先度を変更する。ここでは、ユーザがアプリケーションのウィンドウａを操作し、当該アプリケーションからデータが更新されるとする。すると、送信ノードは、操作しているウィンドウａと空間的に近接している他のウィンドウｂの優先度が高くなるように変更する。また、送信ノードは、操作しているウィンドウａと意味的に近接している他のウィンドウｃの優先度が高くなるように変更する。また、送信ノードは、操作しているウィンドウａと時間的に近接している他のウィンドウｄの優先度が高くなるように変更する。
【００２２】
そして、送信ノードは、それぞれのウィンドウごとの優先度に基づいて、更新されたデータの送信の順序を決定し、決定した順序に応じて、更新されたデータの配信を行う。ノード間のデータを同期させるためである。ここでは、アプリケーションのウィンドウごとの優先度は、高いものから順にウィンドウａ、ウィンドウｂ、ウィンドウｃ、ウィンドウｄであるとする。すると、送信ノードＡは、ウィンドウａだけでなくウィンドウｂで更新されるデータを、優先度を高度として配信する。すなわち、送信ノードＡは、ウィンドウａおよびウィンドウｂを表示する受信ノードに対してそれぞれで更新されるデータを配信する。次に、送信ノードＢは、ウィンドウｃやウィンドウｄで更新されるデータを、優先度を中度として配信する。すなわち、送信ノードＢは、ウィンドウｃおよびウィンドウｄを表示する受信ノードに対してそれぞれで更新されるデータを配信する。その後、送信ノードＣは、ウィンドウｆ、ウィンドウｇやウィンドウｈで更新されるデータを、優先度を低度として配信する。すなわち、送信ノードＣは、ウィンドウｆ、ウィンドウｇおよびウィンドウｈを表示する受信ノードに対してそれぞれで更新されるデータを配信する。
【００２３】
これにより、受信ノードは、ユーザが操作しているデータのウィンドウだけでなく、操作しているデータに近接したウィンドウの優先度も向上させることができる。この結果、受信ノードは、ユーザにとって必要性の高い（ユーザが注視している）データをより優先的に受信することができる。すなわち、受信ノードは、通信が混雑しても、ユーザの操作性を向上させることができる。
【００２４】
また、実施例に係る同期制御処理の一例を、図３を参照して説明する。図３は、実施例に係る同期制御処理の一例を示す図である。なお、図３で示す各ノードは、それぞれの端末１に対応する。図３で示すａ〜ｈは、それぞれアプリケーションが動作するウィンドウを意味する。共通の表示空間（画面）には、アプリケーションのウィンドウａ〜ｈが表示されている。ノードＡ、Ｂには、共通の表示空間（画面）に表示される複数のウィンドウａ〜ｈのうちウィンドウａ〜ｃが表示されている。
【００２５】
ノードＡでは、ウィンドウａで動作するアプリケーションからデータを更新し、データの更新に応じて、データの同期のために、更新されたデータをノードＢに送信する。
【００２６】
ノードＢでは、更新されたデータを受信すると、ウィンドウａで動作するアプリケーションの、更新されたデータを更新する。加えて、ノードＢでは、更新されたデータを更新したアプリケーションのウィンドウａおよび他のアプリケーションのウィンドウｂ，ｃの近接性に基づいて、他のアプリケーションのウィンドウｂ，ｃに対応付けられた優先度を後述する優先度マップ２４に対して変更する。すなわち、ノードＢは、ウィンドウａに近接したウィンドウｂの優先度を上げるように変更する。ここでは、ウィンドウｂは、ウィンドウａと距離が近いので、優先度が上がる。
【００２７】
ノードＢでは、ウィンドウｃで動作するアプリケーションからデータを更新する。この後、ノードＢでは、ウィンドウｂで動作するアプリケーションからデータを更新する。すると、ノードＢでは、優先度マップ２４に記憶された情報に基づいて、更新されたデータの送信の順序を決定する。ここでは、優先度マップ２４には、ウィンドウｂの優先度がウィンドウｃの優先度より高い。そこで、ノードＢは、更新されたデータのうちウィンドウｂで動作するアプリケーションから更新されたデータをウィンドウｃで動作するアプリケーションから更新されたデータより先行するように送信の順序を決定する。
【００２８】
そして、ノードＢは、決定した送信の順序に基づいて、ウィンドウｂで動作するアプリケーションから更新されたデータをノードＡに送信する。すると、ノードＡは、更新されたデータを受信すると、ウィンドウｂで動作するアプリケーションの、更新されたデータを更新する。
【００２９】
この後、ノードＢは、決定した送信の順序に基づいて、ウィンドウｃで動作するアプリケーションから更新されたデータをノードＡに送信する。すると、ノードＡは、更新されたデータを受信すると、ウィンドウｃで動作するアプリケーションの、更新されたデータを更新する。これにより、ユーザがウィンドウａを操作しているノードＡは、ノードＢで更新されたデータの中でウィンドウａに近接したウィンドウで更新されたデータが優先して同期する。この結果、ノードＡは、通信が混雑しても、ユーザによって必要性の高いデータをより優先的に同期できることとなり、ユーザの操作性を向上させることができる。
【００３０】
図１に戻って、端末１は、データ更新部１１、優先度判定部１２、データ送信部１３、データ受信部１４および優先度更新部１５を有する。また、端末１は、アプリケーション２１、共有アプリＤＢ２２、送信キュー２３および優先度マップ２４を有する。また、端末１は、ウィンドウ情報一覧３１を備えるウィンドウシステム３０を有する。なお、端末１は、情報処理装置の一例である。
【００３１】
ウィンドウシステム３０は、ウィンドウを表示させるシステムである。なお、ウィンドウは、アプリケーション２１が動作するウィンドウのことをいい、アプリケーション２１と１対１に対応する。ウィンドウ情報一覧３１は、端末１に表示されたウィンドウごとのウィンドウ情報の一覧を示す。
【００３２】
ここで、ウィンドウ情報一覧３１のデータ構造の一例を、図４を参照して説明する。図４は、実施例に係るウィンドウ情報一覧のデータ構造の一例を示す図である。図４に示すように、ウィンドウ情報一覧３１は、アプリ識別子、表示情報および最終更新時刻をウィンドウ識別子に対応付けた情報である。ウィンドウ識別子は、ウィンドウごとに一意に割り振られる識別子である。アプリ識別子は、アプリケーションごとに一意に割り振られる識別子であり、ウィンドウで動作しているアプリケーション２１の識別子である。表示情報は、ウィンドウが表示されている座標、高さおよび幅を含む情報である。最終更新時刻は、最後にユーザによって操作された更新時刻である。一例として、ウィンドウ識別子が「Ｗ００１」である場合に、アプリ識別子として「Ａ００１」、表示情報として「｛ｘ：０，ｙ：０，ｗｉｄｔｈ：２００，ｈｅｉｇｈｔ：３００｝」を記憶している。加えて、最終更新時刻として「２０１７−１１−２８Ｔ００：１１：２２：０００」を記憶している。
【００３３】
図１に戻って、共有アプリＤＢ２２は、他の端末１と共有する、アプリケーション２１の情報およびデータの情報を管理する。共有アプリＤＢ２２は、共有データ２２１およびアプリ情報２２２を有する。共有データ２２１は、他の端末１と共有する、更新されたデータの情報である。アプリ情報２２２は、他の端末１と共有するアプリケーション２１の情報である。
【００３４】
ここで、共有データ２２１のデータ構造の一例を、図５を参照して説明する。図５は、実施例に係る共有データのデータ構造の一例を示す図である。図５に示すように、共有データ２２１は、データ、更新者および更新時刻をデータ識別子に対応付けた情報である。データ識別子は、更新されたデータを一意に識別する識別子である。データは、更新されたデータの内容である。更新者は、更新されたデータを更新したユーザのノードである。更新時刻は、更新されたデータの更新時刻である。
【００３５】
一例として、データ識別子が「Ｄ０００１」である場合に、データとして「｛ａｂｃ：ｄｅｆ｝」、更新者として「Ｋａｎｉ」、更新時刻として「２０１７−１１−２８Ｔ００：１１：２２：０００」を記憶している。
【００３６】
ここで、アプリ情報２２２のデータ構造の一例を、図６を参照して説明する。図６は、実施例に係るアプリ情報のデータ構造の一例を示す図である。図６に示すように、アプリ情報２２２は、コンテンツ、オリジンおよびカテゴリをアプリ識別子に対応付けた情報である。アプリ識別子は、アプリケーション２１ごとに一意に割り振られる識別子である。アプリ識別子は、ウィンドウ情報一覧３１のアプリ識別子に対応する。コンテンツは、表示しているアプリケーション２１の内容そのものを示す。オリジンは、アプリケーション２１の作成者や管理者を識別する情報である。カテゴリは、アプリケーション２１の種別である。カテゴリには、例えば、テキストを編集するテキストエディタ（Ｔｅｘｔ−ｅｄｉｔｏｒ）や画像を編集する画像エディタなどが挙げられる。なお、テキストエディタをカテゴリとするアプリケーション２１には、例えば、ワード、エクセルやパワーポイントなどが挙げられる。
【００３７】
一例として、アプリ識別子が「Ａ００１」である場合に、コンテンツとして「ｇｈｉ：ｊｋｌ，．．．」、オリジンとして「Ｅｘａｍｐｌｅ．ｃｏｍ」、カテゴリとして「Ｔｅｘｔ−ｅｄｉｔｏｒ」と記憶している。
【００３８】
図１に戻って、送信キュー２３は、送信要求データを先入れ先出し（ＦＩＦＯ）方式で管理する。なお、送信要求データのデータ構造の一例は、後述する。
【００３９】
図１に戻って、優先度マップ２４は、アプリケーション２１から更新されたデータが他の端末１に送信される際の優先度をアプリケーション２１に対応付けてマッピングした情報である。優先度は、例えば、送信の順序を決定する際に使用される。なお、優先度マップ２４は、優先度をアプリケーション２１に対応付けてマッピングした情報であると説明したが、これに限定されるものではない。優先度マップ２４は、例えば、優先度をウィンドウに対応付けてマッピングした情報としても良い。また、優先度マップ２４は、表形式でなく、木構造とした情報としても良い。また、優先度マップ２４は、後述する優先度更新部１５によって更新される。
【００４０】
ここで、優先度マップ２４のデータ構造の一例を、図７を参照して説明する。図７は、実施例に係る優先度マップのデータ構造の一例を示す図である。図７に示すように、優先度マップ２４は、優先度マップ識別子および優先度を対応付けた情報である。優先度マップ識別子は、優先度をマッピングする対象を識別する識別子である。実施例では、優先度マップ識別子は、アプリケーション２１ごとに一意に割り振られるアプリ識別子を意味する。優先度マップ識別子は、アプリ情報２２２のアプリ識別子に対応する。優先度は、更新されたデータを他の端末１のアプリケーション２１に送信する優先度を意味する。なお、優先度は、送信の順序であっても良い。
【００４１】
一例として、優先度マップ識別子が「Ａ００１」である場合に、優先度として「５００」と記憶している。優先度マップ識別子が「Ａ００３」である場合に、優先度として「８０７５」と記憶している。
【００４２】
図１に戻って、データ更新部１１は、アプリケーション２１から更新されたデータ（アプリデータと同義）の情報を共有アプリＤＢ２２に更新する。例えば、データ更新部１１は、アプリケーション２１から更新されたデータ（アプリデータ）が自端末１で更新されたデータである場合には、更新されたデータに対する送信要求データを送信キュー２３に格納する。そして、データ更新部１１は、更新されたデータの情報を、共有アプリＤＢ２２の共有データ２２１に更新する。また、データ更新部１１は、アプリケーション２１から更新されたデータ（アプリデータ）が他の端末１で更新されたアプリデータである場合には、更新されたデータの情報を、共有アプリＤＢ２２の共有データ２２１に更新する。
【００４３】
ここで、送信要求データの一例を、図８を参照して説明する。図８は、実施例に係る送信要求データの一例を示す図である。図８に示すように、送信要求データは、データ識別子、アプリ識別子および送信要求時刻を対応付けたデータである。データ識別子は、更新されたデータを一意に識別する識別子である。データ識別子は、共有データのデータ識別子に対応する。アプリ識別子は、アプリケーション２１ごとに一意に割り振られる識別子である。アプリ識別子は、ウィンドウ情報一覧３１のアプリ識別子に対応する。送信要求時刻は、送信要求された時刻である。
【００４４】
一例として、データ識別子が「Ｄ０００１」である場合に、アプリ識別子として「Ａ００１」、送信要求時刻として「２０１７−１１−２８Ｔ００：１１：２２：０００」と記憶している。
【００４５】
図１に戻って、優先度判定部１２は、優先度マップ２４に基づいて、送信要求データの優先度を判定する。優先度判定部１２は、優先度に応じて送信の順序および送信のデータ量を決定する。例えば、優先度判定部１２は、送信キュー２３に送信要求データがある場合には、全ての送信要求データのアプリ識別子を優先度マップ２４の優先度マップ識別子と照合して、一致する優先度マップ識別子に対応する優先度を取得する。優先度判定部１２は、優先度の高い順に、全ての送信要求データを送信リストに格納する。そして、優先度判定部１２は、送信リストをデータ送信部１３に出力する。なお、優先度判定部１２は、優先度の高い順に送信要求データを送信リストに格納して送信リストを生成するが、これに限定されない。優先度判定部１２は、優先度および送信要求時刻と送信処理時刻との差分を用いて、送信リストを生成しても良い。すなわち、優先度判定部１２は、送信キュー２３にある全ての送信要求データに対して、送信処理時刻から送信要求時刻を差し引いた値と、アプリ識別子に対応する優先度とを加算した値を算出する。そして、優先度判定部１２は、値が大きい順に、全ての送信要求データを送信リストに格納して、送信リストを生成すれば良い。また、優先度判定部１２は、帯域の負荷に応じて、優先度の高い順に、一部の送信要求データを送信リストに格納しても良い。また、優先度判定部１２は、帯域の負荷が所定値より高い場合には、送信処理を取りやめて、送信リストをクリアし、送信リストに含まれる送信要求データを再度送信キュー２３に戻しても良い。
【００４６】
データ送信部１３は、送信リストに格納された順に、送信要求データに対するアプリデータを含む送信データ（送受信データ）を、情報共有システム９内の端末１に送信する。情報共有システム９内の端末１の情報は、例えば、全端末１の宛先が記憶された端末情報（図示せず）に記憶されていれば良い。
【００４７】
データ受信部１４は、他の端末１から送信されたアプリデータを含む送受信データを受信する。そして、データ受信部１４は、アプリデータを共有データ２２１に更新するために、アプリデータを含む送受信データをデータ更新部１１に出力する。加えて、データ受信部１４は、アプリデータを含む送受信データを後述する優先度更新部１５に出力する。
【００４８】
ここで、送受信データの一例を、図９を参照して説明する。図９は、実施例に係る送受信データの一例を示す図である。送受信データは、データ識別子、宛先、アプリ識別子、データおよび送信時刻を対応付けたデータである。データ識別子は、更新されたデータを一意に識別する識別子である。データ識別子は、共有データのデータ識別子に対応する。宛先は、更新されたデータを送信する宛先の情報である。アプリ識別子は、アプリケーション２１ごとに一意に割り振られる識別子である。アプリ識別子は、ウィンドウ情報一覧３１のアプリ識別子に対応する。データは、更新されたデータの内容そのものである。送信時刻は、送信された時刻である。
【００４９】
一例として、データ識別子が「Ｄ０００１」である場合に、宛先として「Ｔａｎａｋａ」、アプリ識別子として「Ａ００１」、データとして「｛ａｂｃ：ｄｅｆ｝」、送信時刻として「２０１７−１１−２８Ｔ００：１１：２２：５００」と記憶している。
【００５０】
図１に戻って、優先度更新部１５は、アプリデータを更新したアプリケーション２１のウィンドウおよび他のアプリケーションのウィンドウの近接性に基づいて、他のアプリケーションに対応付けられた優先度を更新する。なお、優先度更新部１５は、ウィンドウ情報一覧取得部１５１および近接性判定部１５２を有する。
【００５１】
ウィンドウ情報一覧取得部１５１は、ウィンドウ情報一覧３１から全てのウィンドウ情報を取得する。
【００５２】
近接性判定部１５２は、送受信データを取得し、取得した送受信データのアプリ識別子を取得する。近接性判定部１５２は、全てのウィンドウ情報から、取得したアプリ識別子に対応するウィンドウ情報を取得する。取得したウィンドウ情報が、更新されたデータ（アプリデータ）を更新したアプリケーション２１が動作するウィンドウの情報である。
【００５３】
そして、近接性判定部１５２は、更新されたデータが操作されたウィンドウと空間的に近接したウィンドウを判定し、空間的に近接したウィンドウの優先度をより高く更新する。かかる空間的な近接性は、例えば、更新されたデータが操作されたウィンドウと座標が近いウィンドウであって表示領域が大きいウィンドウはユーザによって注視されるウィンドウであるという予測に基づく。
【００５４】
そして、近接性判定部１５２は、更新されたデータが操作されたウィンドウと時間的に近接したウィンドウを判定し、時間的に近接したウィンドウの優先度をより高く更新する。かかる時間的な近接性は、例えば、更新されたデータが操作されたウィンドウと近い時刻に更新されたウィンドウはユーザにとって利用価値が高いという予測に基づく。
【００５５】
近接性判定部１５２は、更新されたデータが操作されたウィンドウと意味的に近接したウィンドウを判定し、意味的に近接した他のウィンドウの優先度をより高く更新する。かかる意味的な近接性は、例えば、更新されたデータが操作されたウィンドウと他のウィンドウとがオリジンやカテゴリが同じアプリケーション２１を動作させていれば、関連性があるという予測に基づく。
【００５６】
そして、近接性判定部１５２は、ウィンドウごとの優先度から、優先度マップ２４を更新する。
【００５７】
［優先度更新の一例］
ここで、優先度更新部１５が実行する優先度更新の一例を、図１０を参照して説明する。図１０は、実施例に係る優先度更新の一例を示す図である。なお、図１０では、空間的な近接性に基づく優先度更新について説明する。図１０に示すように、更新されたデータが操作されたウィンドウは、符号ｂで表わされたウィンドウであるとする。近接性判定部１５２は、更新されたデータが操作されたウィンドウｂと他のウィンドウａ，ｃとの距離を、ウィンドウ情報一覧取得部１５１によって取得されたウィンドウ情報から計算する。ここでは、操作されたウィンドウｂの中心座標とウィンドウａの中心座標との距離は、長さ２である。また、操作されたウィンドウｂの中心座標とウィンドウｃの中心座標との距離は、長さ５である。
【００５８】
また、近接性判定部１５２は、他のウィンドウの表示面積を計算する。ここでは、ウィンドウａの表示面積は、１０である。ウィンドウｃの表示面積は、３０である。
【００５９】
また、近接性判定部１５２は、他のウィンドウごとに、表示面積を距離で割った値を優先度として更新する。ここでは、ウィンドウａは、表示面積１０を距離２で割った値５を優先度として更新する。ウィンドウｃは、表示面積３０を距離５で割った値６を優先度として更新する。これにより、近接性判定部１５２は、操作されたウィンドウｂと空間的に近接し、且つ、表示領域が大きいウィンドウｃを優先する。
【００６０】
［優先度の利用の一例］
ここで、優先度の利用の一例を、図１１を参照して説明する。図１１は、実施例に係る優先度の利用の一例を示す図である。なお、優先度を利用する優先度判定部１２は、優先度および送信要求時刻と送信処理時刻との差分を用いて、送信リストを生成する場合について説明する。
【００６１】
優先度判定部１２は、一定時間ごとに送信キュー２３を確認し、送信キュー２３に送信要求データが存在する場合に、優先度判定処理を行う。優先度判定処理では、送信キュー２３に存在する送信要求データ全てに対して、送信処理時刻から送信要求時刻を差し引いた値と、送信要求データのアプリ識別子に対応する優先度とを加算した値を算出する。
【００６２】
ここでは、送信キュー２３には、アプリケーションａ（アプリａと略記）からの送信要求データとアプリケーションｂ（アプリｂと略記）とアプリケーションｃ（アプリｃと略記）からの送信要求データとが存在するとする。
【００６３】
すると、優先度判定処理は、アプリａからの送信要求データに設定された送信要求の時刻を送信処理の時刻から差し引いた値を算出する。算出される値は、４００ミリ秒（ｍｓ）であるとする。優先度判定処理は、アプリａからの送信要求データのアプリ識別子を優先度マップ２４の優先度マップ識別子と照合して、一致する優先度マップ識別子に対応する優先度を取得する。取得された優先度は、１００であるとする。したがって、アプリａに対応する、該当する時刻を差し引いた値と、優先度とを加算した値は、５００となる。
【００６４】
また、優先度判定処理は、アプリｂからの送信要求データに設定された送信要求の時刻を送信処理の時刻から差し引いた値を算出する。算出される値は、３００ミリ秒（ｍｓ）であるとする。優先度判定処理は、アプリｂからの送信要求データのアプリ識別子を優先度マップ２４の優先度マップ識別子と照合して、一致する優先度マップ識別子に対応する優先度を取得する。取得された優先度は、４００であるとする。したがって、アプリｂに対応する、該当する時刻を差し引いた値と、優先度とを加算した値は、７００となる。
【００６５】
また、優先度判定処理は、アプリｃからの送信要求データに設定された送信要求の時刻を送信処理の時刻から差し引いた値を算出する。算出される値は、１００ミリ秒（ｍｓ）であるとする。優先度判定処理は、アプリｂからの送信要求データのアプリ識別子を優先度マップ２４の優先度マップ識別子と照合して、一致する優先度マップ識別子に対応する優先度を取得する。取得された優先度は、５００であるとする。したがって、アプリｂに対応する、該当する時刻を差し引いた値と、優先度とを加算した値は、６００となる。
【００６６】
そして、優先度判定処理は、値が大きい順に、全ての送信要求データを送信リストに格納して、送信リストを生成する。ここでは、優先度判定処理は、アプリｂからの送信要求データ、アプリｃからの送信要求データ、アプリａからの送信要求データの順に格納された送信リストを生成する。これにより、優先度判定部１２は、送信順序を優先度と送信要求時刻とから決定することで、先に送信要求があった送信要求データの送信順序を優先することができるとともに、優先度の高い送信要求データの送信順序を優先することができる。
【００６７】
［同期制御処理のシーケンス］
ここで、同期制御処理のシーケンスの一例を、図１２を参照して説明する。図１２は、実施例に係る同期制御処理のシーケンスの一例を示す図である。なお、図１２では、端末１として、端末Ａおよび端末Ｂを一例として説明する。
【００６８】
図１２に示すように、端末Ａでは、例えば、アプリケーションａ（アプリａと略記）からのアプリデータが更新される（Ｓ１００）。すると、データ更新部１１は、更新されたアプリデータの情報を共有アプリＤＢ２２の共有データ２２１に更新する（Ｓ１１０）。データ更新部１１は、更新されたアプリデータに対する送信要求データを送信キュー２３に格納する（Ｓ１２０）。
【００６９】
次に、端末Ａでは、優先度判定部１２は、送信キュー２３から送信要求データを取得する（Ｓ１３０）。優先度判定部１２は、優先度マップ２４を参照して、送信要求データの送信順序を並び替え（Ｓ１４０）、送信要求一覧（送信リスト）を生成する。一例として、優先度判定部１２は、優先度マップ２４を参照して、優先度の高い順に、送信要求データの送信順序を並び替える。別の例として、優先度判定部１２は、送信要求データの送信要求時刻と送信処理時刻との差分と、優先度マップ２４の優先度とを加算した値の大きい順に、送信要求データの送信順序を並び替える。そして、優先度判定部１２は、生成した送信要求一覧をデータ送信部１３に出力する（Ｓ１５０）。
【００７０】
次に、端末Ａでは、データ送信部１３が、送信要求一覧に格納された順に、送信要求データに対するアプリデータを含む送信データ（送受信データ）を端末Ｂに送信する（Ｓ１６０）。
【００７１】
次に、端末Ｂでは、データ受信部１４が、端末Ａからの送信データを受信し、受信した受信データをデータ更新部１１および優先度更新部１５に出力する（Ｓ１７０，Ｓ１９０）。データ更新部１１は、受信データに含まれたアプリデータの情報を共有アプリＤＢ２２の共有データ２２１に更新する（Ｓ１８０）。
【００７２】
端末Ｂでは、優先度更新部１５が、受信データに含まれたアプリ識別子に対応するアプリケーションが動作するウィンドウおよび他のアプリケーションが動作するウィンドウの近接性に基づいて、優先度マップ２４を更新する（Ｓ２００）。例えば、優先度更新部１５は、ウィンドウシステム３０のウィンドウ情報一覧３１から全てのウィンドウ情報を取得する。そして、優先度更新部１５は、受信データに含まれたアプリ識別子に対応するアプリケーションが動作するウィンドウのウィンドウ識別子をキーとして、ウィンドウ情報を参照して、当該ウィンドウと空間的に近接したウィンドウの優先度をより高く更新する。加えて、優先度更新部１５は、一例として、ウィンドウ情報の最終更新時刻を参照して、受信データに含まれるアプリデータが操作されたウィンドウと近い時刻に更新されたウィンドウの優先度をより高く更新する。加えて、優先度更新部１５は、一例として、アプリ情報２２２およびウィンドウ情報を参照して、受信データに含まれるアプリデータを更新したアプリケーション２１と意味的に近接したアプリケーション２１が動作するウィンドウの優先度をより高く更新する。そして、優先度更新部１５は、これらの更新情報を用いて、優先度マップ２４を更新する。
【００７３】
この後、端末Ｂでは、アプリケーション２１によってアプリデータが更新されると、データ更新部１１が、更新されたアプリデータに対する送信要求データを送信キュー２３に格納する。そして、優先度判定部１２が、優先度マップ２４を参照して、送信キュー２３に格納された送信要求データの送信順序を並び替える。そして、データ送信部１３が、並び替えられた順に、送信要求データを送信する。
【００７４】
次に、図１３〜図１９を参照して、実施例に係る同期制御処理のフローチャートの一例について説明する。なお、図１３〜図１９では、アプリケーション２１から更新されたデータをアプリデータというものとする。
【００７５】
［データ更新処理のフローチャート］
図１３は、実施例に係るデータ更新処理のフローチャートの一例を示す図である。図１３に示すように、データ更新部１１は、アプリデータを取得すると（ステップＳ１１）、自端末１からの更新であるか否かを判定する（ステップＳ１２）。自端末１からの更新でないと判定した場合には（ステップＳ１２；Ｎｏ）、データ更新部１１は、ステップＳ１４に移行する。
【００７６】
一方、自端末１からの更新であると判定した場合には（ステップＳ１２；Ｙｅｓ）、データ更新部１１は、アプリデータに対する送信要求データを送信キュー２３に格納する（ステップＳ１３）。そして、データ更新部１１は、ステップＳ１４に移行する。
【００７７】
ステップＳ１４において、データ更新部１１は、アプリデータの情報を、共用アプリＤＢ２２の共有データ２２１に更新する（ステップＳ１４）。そして、データ更新部１１は、データ更新処理を終了する。
【００７８】
［優先度判定処理のフローチャート］
図１４は、実施例に係る優先度判定処理のフローチャートの一例を示す図である。図１４に示すように、優先度判定部１２は、一定時間待機し（ステップＳ２１）、送信キュー２３に送信要求データがあるか否かを判定する（ステップＳ２２）。送信キュー２３に送信要求データがないと判定した場合には（ステップＳ２２；Ｎｏ）、優先度判定部１２は、一定時間待機すべく、ステップＳ２１に移行する。
【００７９】
一方、送信キュー２３に送信要求データがあると判定した場合には（ステップＳ２２；Ｙｅｓ）、優先度判定部１２は、記憶部（図示せず）から優先度マップ２４を取得する（ステップＳ２３）。そして、優先度判定部１２は、優先度マップ２４の順に、全ての送信要求データを送信リストに格納する（ステップＳ２４）。一例として、優先度判定部１２は、優先度マップ２４を参照して、全ての送信要求データの送信順序を、優先度の高い順に並び替えて、送信リストに格納する。別の例として、優先度判定部１２は、送信要求データの送信要求時刻と送信処理時刻との差分と、優先度マップ２４の優先度とを加算した値の大きい順に、全ての送信要求データの送信順序を並び替えて、送信リストに格納する。
【００８０】
そして、優先度判定部１２は、送信リストをデータ送信部１３に出力する（ステップＳ２５）。そして、優先度判定部１２は、優先度判定処理を終了する。
【００８１】
［データ送信処理のフローチャート］
図１５は、実施例に係るデータ送信処理のフローチャートの一例を示す図である。図１５に示すように、データ送信部１３は、優先度判定部１２から送信リストを取得する（ステップＳ３１）。データ送信部１３は、記憶部（図示せず）から端末情報を取得する（ステップＳ３２）。端末情報には、例えば、情報共有システム９内の全端末１の宛先が記憶されている。
【００８２】
そして、データ送信部１３は、取得した端末情報の端末１に対して、送信リストの順に、更新されたアプリデータを送信する（ステップＳ３３）。そして、データ送信部１３は、データ送信処理を終了する。
【００８３】
［データ受信処理のフローチャート］
図１６は、実施例に係るデータ受信処理のフローチャートの一例を示す図である。図１６に示すように、データ受信部１４は、情報共有システム９内のいずれかの端末１から送受信データを取得する（ステップＳ４１）。データ受信部１４は、取得した送受信データをデータ更新部１１に出力する（ステップＳ４２）。これは、取得した送受信データに含まれるアプリデータの情報を共有アプリＤＢ２２に更新するためである。
【００８４】
そして、データ受信部１４は、取得した送受信データを優先度更新部１５に出力する（ステップＳ４３）。これは、取得した送受信データに含まれるアプリデータを更新したアプリケーション２１と関連するアプリケーション２１の優先度をより高く更新するためである。そして、データ受信部１４は、データ受信処理を終了する。
【００８５】
［優先度更新処理のフローチャート］
図１７は、実施例に係る優先度更新処理のフローチャートの一例を示す図である。図１７に示すように、優先度更新部１５は、データ受信部１４から送受信データを取得する（ステップＳ５１）。優先度更新部１５は、取得した送受信データからアプリ識別子を取得する（ステップＳ５２）。
【００８６】
優先度更新部１５は、ウィンドウ情報一覧３１を取得する処理を実行する（ステップＳ５３）。なお、ウィンドウ情報一覧取得処理のフローチャートは、後述する。
【００８７】
優先度更新部１５は、ウィンドウ情報一覧３１を用いて、近接性判定処理を実行し、優先度マップ２４を更新する（ステップＳ５４）。なお、近接性判定処理のフローチャートは、後述する。そして、優先度更新部１５は、優先度更新処理を終了する。
【００８８】
［ウィンドウ情報一覧取得処理のフローチャート］
図１８は、実施例に係るウィンドウ情報一覧取得処理のフローチャートの一例を示す図である。図１８に示すように、ウィンドウ情報一覧取得部１５１は、ウィンドウシステム３０に対して、管理している全てのウィンドウ情報の取得を要求する（ステップＳ６１）。
【００８９】
そして、ウィンドウ情報一覧取得部１５１は、ウィンドウシステム３０から全てのウィンドウ情報を取得し、一覧にして要求元に返す（ステップＳ６２）。そして、ウィンドウ情報一覧取得部１５１は、ウィンドウ情報一覧取得処理を終了する。
【００９０】
［近接性判定処理のフローチャート］
図１９は、実施例に係る近接性判定処理のフローチャートの一例を示す図である。図１９に示すように、近接性判定部１５２は、更新されたウィンドウのウィンドウ情報とウィンドウ情報一覧３１を取得する（ステップＳ７１）。例えば、近接性判定部１５２は、優先度更新部１５からウィンドウ情報一覧３１を取得する。加えて、近接性判定部１５２は、送受信データから取得されたアプリ識別子に対応するウィンドウのウィンドウ情報を、ウィンドウ情報一覧３１から取得する。取得したウィンドウ情報が、更新されたウィンドウのウィンドウ情報である。
【００９１】
そして、近接性判定部１５２は、更新されたウィンドウに空間的に近接したウィンドウの優先度をより高く更新する（ステップＳ７２）。例えば、近接性判定部１５２は、更新されたウィンドウのウィンドウ情報から表示情報を取得する。そして、近接性判定部１５２は、更新されたウィンドウのウィンドウ情報から取得された表示情報およびウィンドウ情報一覧３１の中の他のウィンドウのウィンドウ情報の表示情報を用いて、他のウィンドウの中心座標と、更新されたウィンドウの中心座標との距離を計算する。そして、近接性判定部１５２は、他のウィンドウごとに、他のウィンドウのウィンドウ情報に含まれる表示情報を用いて、表示面積を計算する。そして、近接性判定部１５２は、他のウィンドウごとに、更新されたウィンドウとの距離と、表示面積とに基づいて、更新されたウィンドウに空間的に近接した他のウィンドウの優先度をより高く更新する。すなわち、空間的な近接性は、更新されたデータが操作されたウィンドウと座標が近いウィンドウであって表示面積が大きいウィンドウはユーザによって注視されるウィンドウであるという予測に基づく。
【００９２】
そして、近接性判定部１５２は、操作した時系列順に優先度を更新する（ステップＳ７３）。例えば、近接性判定部１５２は、他のウィンドウのウィンドウ情報に含まれる最終更新時刻を参照して、更新されたウィンドウの最終更新時刻から時系列順に優先度を更新する。すなわち、時間的な近接性は、更新されたデータが操作されたウィンドウと近い時刻に更新されたウィンドウはユーザにとって利用価値が高いという予測に基づく。
【００９３】
そして、近接性判定部１５２は、更新されたウィンドウに意味的に近いウィンドウを判定し、より高い優先度を更新する（ステップＳ７４）。例えば、近接性判定部１５２は、更新されたウィンドウで動作するアプリケーション２１に対応するアプリ情報２２を取得する。近接性判定部１５２は、他のウィンドウのウィンドウ情報の中のアプリ識別子に対応するアプリ情報２２２を取得する。そして、近接性判定部１５２は、更新されたウィンドウのアプリ情報２２２と、他のウィンドウのアプリ情報２２２とを参照して、更新されたウィンドウで動作するアプリケーション２１と意味的に近い他のウィンドウを判定する。一例として、近接性判定部１５２は、意味的に近い他のウィンドウを、アプリ情報２２２に含まれるオリジンやカテゴリから判定する。すなわち、意味的な近接性は、更新されたデータが操作されたウィンドウと他のウィンドウとがオリジンやカテゴリが同じアプリケーション２１を動作させていれば、関連性があるという予測に基づく。そして、近接性判定部１５２は、更新されたウィンドウに意味的に近い他のウィンドウの優先度をより高く更新する。
【００９４】
そして、近接性判定部１５２は、Ｓ７２〜Ｓ７４におけるそれぞれの更新情報から優先度マップ２４を更新する（ステップＳ７５）。そして、近接性判定部１５２は、近接性判定処理を終了する。
【００９５】
［実施例の効果］
このようにして、上記実施例では、端末１は、共通の表示空間に表示される複数のウィンドウそれぞれで動作するアプリケーション２１に対応付けてデータを送信する際の優先度を優先度マップ２４に記憶する。端末１は、複数のアプリケーション２１のうちいずれかのアプリケーション２１からのデータの更新に応じて、更新されたデータの送受信を行う。端末１は、更新されたデータが受信された場合に、前記更新されたデータを更新したアプリケーション２１のウィンドウおよび他のアプリケーション２１のウィンドウの近接性に基づいて、優先度マップ２４における他のアプリケーション２１に対応付けられた優先度を変更する。そして、端末１は、自端末に表示されるウィンドウで動作するアプリケーション２１からデータを更新する場合に、優先度マップ２４の優先度情報に基づいて、更新されたデータの送信の順序を決定する。かかる構成によれば、端末１は、壁一面などの表示空間を画面として端末１間で共有する空間ＵＩの場合、アプリケーション２１が動作するウィンドウ同士の近接性を用いて更新されたデータの送信の順序を決定することで、通信量が混雑しても、ユーザの操作性を向上させる。例えば、通信量が混雑していても、ユーザの使い心地を向上させることができる。
【００９６】
また、端末１は、更新されたデータを更新したアプリケーション２１のウィンドウおよび他のアプリケーション２１のウィンドウの距離および表示面積に基づいて、他のアプリケーション２１に対応付けられた優先度を変更する。端末１は、更新されたデータの更新時刻および他のアプリケーション２１のウィンドウから更新されたデータの更新時刻の差分に基づいて、他のアプリケーション２１に対応付けられた優先度を変更する。また、端末１は、更新されたデータを更新したアプリケーション２１のウィンドウおよび他のアプリケーション２１のウィンドウの関連性に基づいて、他のアプリケーション２１に対応付けられた優先度を変更する。そして、端末１は、各優先度の変更処理の一部または全部に基づき、他のアプリケーション２１に対応付けられた優先度を変更する。かかる構成によれば、端末１は、更新されたデータを更新したアプリケーション２１のウィンドウと近接した他のウィンドウで動作するアプリケーション２１の優先度を上げることが可能となり、ユーザが注視しているウィンドウで動作するアプリケーション２１の優先度をより高くすることができる。
【００９７】
また、端末１は、優先度マップ２４に記憶された優先度情報および送信処理時刻と送信要求があった時刻との差分に基づいて、更新されたデータの送信の順序を並べ替える。かかる構成によれば、端末１は、送信の順序を優先度と送信要求があった時刻とから決定することで、先に送信要求があった送信要求データの送信順序を優先することができるとともに、優先度の高い送信要求データの送信順序を優先することが可能となる。
【００９８】
また、端末１は、優先度マップ２４に記憶された優先度情報に基づいて、さらに、更新されたデータの送信流量を決定する。かかる構成によれば、端末１は、通信量が混雑している場合に、更新されたデータの送信流量を変えることができ、ネットワーク負荷を軽減できる。
【００９９】
［その他］
なお、実施例では、近接性判定部１５２が、更新されたデータが操作されたウィンドウと空間的、時間的および意味的に近接したウィンドウの優先度を高く更新すると説明した。しかしながら、近接性判定部１５２は、これに限定されず、近接センサなどを利用して、ユーザの存在自体を把握し、ユーザと物理的に近距離に表示されているウィンドウを操作したデータの優先度を高く更新しても良い。これにより、近接性判定部１５２は、ユーザの位置を把握できるので、ユーザにとって価値が高いと推測されるデータを把握でき、把握したデータを確実に優先的に共有することができ、ユーザの操作性を向上できる。
【０１００】
また、近接性判定部１５２は、予め定めたユーザの操作によって、データの優先度を更新しても良い。例えば、近接性判定部１５２は、ウィンドウを近づけたり、重ねた後剥したりするなどのユーザの操作に応じて優先度を変えても良い。すなわち、近接性判定部１５２は、予め定められたユーザの操作に応じて優先度を上げたり下げたりしても良い。これにより、近接性判定部１５２は、ユーザの操作を把握できるので、ユーザにとって価値が高いと推測されるデータを把握でき、把握したデータを確実に優先的に共有することができ、ユーザの操作性を向上できる。
【０１０１】
また、端末１は、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記したデータ更新部１１、優先度判定部１２、データ送信部１３、データ受信部１４および優先度更新部１５などを搭載することによって実現することができる。
【０１０２】
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、データ送信部１３およびデータ受信部１４を１つの機能部に統合しても良い。また、近接性判定部１５２は、空間的な近接性を判定する第１の判定部と、時間的な近接性を判定する第２の判定部と、意味的な近接性を判定する第３の判定部とに分散しても良い。また、ウィンドウシステム３０を端末１の外部装置としてネットワーク経由で接続するようにしても良い。また、共有アプリＤＢ２２などの図示しない記憶部を端末１の外部装置としてネットワーク経由で接続するようにしても良い。
【０１０３】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１に示した端末１と同様の機能を実現する同期制御プログラムを実行するコンピュータの一例を説明する。図２０は、同期制御プログラムを実行するコンピュータの一例を示す図である。
【０１０４】
図２０に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ（Central  Processing  Unit）２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７とを有する。また、コンピュータ２００は、記憶媒体からプログラムなどを読み取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ（Hard  Disk  Drive）２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【０１０５】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、同期制御プログラム２０５ａおよび同期制御関連情報２０５ｂを記憶する。
【０１０６】
ＣＰＵ２０３は、同期制御プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、端末１の各機能部に対応する。同期制御関連情報２０５ｂは、端末１の図示しない記憶部に記憶された共用アプリＤＢ２２、送信キュー２３および優先度マップ２４などの情報に対応する。そして、例えばリムーバブルディスク２１１が、同期制御プログラム２０５ａなどの各情報を記憶する。
【０１０７】
なお、同期制御プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、ＤＶＤ（Digital  Versatile  Disk）、光磁気ディスク、ＩＣ（Integrated  Circuit）カードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらから同期制御プログラム２０５ａを読み出して実行するようにしても良い。
【符号の説明】
【０１０８】
１  端末
１１  データ更新部
１２  優先度判定部
１３  データ送信部
１４  データ受信部
１５  優先度更新部
１５１  ウィンドウ情報一覧取得部
１５２  近接性判定部
２１  アプリケーション
２２  共有アプリＤＢ
２２１  共有データ
２２２  アプリ情報
２３  送信キュー
２４  優先度マップ
３０  ウィンドウシステム
３１  ウィンドウ情報一覧
【図１】
2019121103.tif 000003
【図２】
2019121103.tif 000004
【図３】
2019121103.tif 000005
【図４】
2019121103.tif 000006
【図５】
2019121103.tif 000007
【図６】
2019121103.tif 000008
【図７】
2019121103.tif 000009
【図８】
2019121103.tif 000010
【図９】
2019121103.tif 000011
【図１０】
2019121103.tif 000012
【図１１】
2019121103.tif 000013
【図１２】
2019121103.tif 000014
【図１３】
2019121103.tif 000015
【図１４】
2019121103.tif 000016
【図１５】
2019121103.tif 000017
【図１６】
2019121103.tif 000018
【図１７】
2019121103.tif 000019
【図１８】
2019121103.tif 000020
【図１９】
2019121103.tif 000021
【図２０】
2019121103.tif 000022