(57)【要約】  ネットワーク状態や端末・サーバの処理性能が多様で時々刻々と変化する環境下でも、操作共有のリアルタイム性と正確性とを両立することができる端末、通信システムおよび操作共有方法を提供する。自端末と他の端末との間のネットワーク状態を計測するネットワーク状態計測手段１１と、自端末および他の端末の処理性能を計測する処理性能計測手段１２と、ユーザの操作に応じて発生する操作イベントのサンプリング間隔と、ネットワーク状態および処理性能の計測結果とに応じて最適データ削減率を決定するデータ削減率計算手段１５と、最適データ削減率に基づいて、他の端末に送信する操作共有データを削減するデータ削減手段１７とを含む。
2013073125.tif 000002
【特許請求の範囲】
【請求項１】
自端末と他の端末との間のネットワーク状態を計測するネットワーク状態計測手段と、
自端末および他の端末の処理性能を計測する処理性能計測手段と、
ユーザの操作に応じて発生する操作イベントのサンプリング間隔と、前記ネットワーク状態および前記処理性能の計測結果とに応じて最適データ削減率を決定するデータ削減率計算手段と、
前記最適データ削減率に基づいて、他の端末に送信する操作共有データを削減するデータ削減手段とを含む
ことを特徴とする端末。
【請求項２】
タッチパネル画面やマウスをユーザが操作している最中に、時間的に連続して発生する操作イベントを取得する時間間隔であるサンプリング間隔を取得するサンプリング間隔取得手段と、
中継サーバと受信端末と通信することで可用帯域と通信遅延を計測するネットワーク状態計測手段と、
中継サーバと受信端末と通信することで送信端末と中継サーバと受信端末の処理性能を計測する処理性能計測手段と、
サンプリング間隔と可用帯域と通信遅延と処理性能とに基づき、操作共有のリアルタイム性とデータ削減率との関係を示す効用関数を生成するリアルタイム性効用関数計算手段と、
サンプリング間隔に基づき、操作共有の正確性とデータ削減率との関係を示す効用関数を生成する正確性効用関数計算手段と、
前記リアルタイム性の効用関数と前記正確性の効用関数を用いて最適化問題を構成し、最適化問題を解くことで、現在の状況下において操作共有のリアルタイム性と正確性とをバランス良く両立できる最適なデータ削減率を動的に決定するデータ削減率計算手段と、
前記データ削減手段に対して操作共有データの削減率を指示するデータ削減指示手段と、
指示されたデータ削減率に基づいて操作共有のデータを削減するデータ削減手段と、
操作共有データを中継サーバに送信するデータ送信手段と、
データ削減率を計算するためのデータを記憶するデータ記憶手段とを含む送信端末と、
中継サーバと送信端末と通信することで可用帯域や通信遅延を計測する第２のネットワーク状態計測手段と、
中継サーバと送信端末と通信することで送信端末と中継サーバと受信端末の処理性能を計測する第２の処理性能計測手段と、
中継サーバから操作共有データを受信するデータ受信手段とを含む受信端末と、
送信端末と受信端末と通信することで可用帯域や通信遅延を計測する第３のネットワーク状態計測手段と、
送信端末と受信端末と通信することで送信端末と中継サーバと受信端末の処理性能を計測する第３の処理性能計測手段と、
送信端末から受信した操作共有データを受信端末に中継するデータ中継手段とを含む中継サーバとを備える
ことを特徴とする通信システム。
【請求項３】
リアルタイム性の効用関数は、重み係数によりそれぞれ重み付けされた、取得済みのサンプリング間隔と可用帯域と通信遅延と処理性能の各値を定数として有し、データ削減率を変数として有する一次関数であって、
正確性の効用関数は、重み係数により重み付けされた、取得済みのサンプリング間隔の値を定数として持ち、データ削減率を変数として有する一次関数である
請求項２に記載の通信システム。
【請求項４】
中継サーバを介して受信端末と通信可能な送信端末が、
タッチパネル画面やマウスをユーザが操作している最中に、時間的に連続して発生する操作イベントを取得する時間間隔であるサンプリング間隔を取得し、
ネットワーク状態と処理性能とを取得し、
前記サンプリング間隔と前記ネットワーク状態と前記処理性能とに基づいて、リアルタイム性と正確性の効用関数とを計算し、
前記効用関数に基づいて、最適なデータ削減率を計算し、
ユーザによる操作共有の入力があるか判定し、
最適なデータ削減率に従って操作共有のデータを削減してから送信し、
既定の時間が経過した後に、前記ネットワーク状態と処理性能とを取得する処理から各処理を実行する
ことを特徴とする操作共有方法。
【請求項５】
リアルタイム性の効用関数は、重み係数によりそれぞれ重み付けされた、取得済みのサンプリング間隔と可用帯域と通信遅延と処理性能の各値を定数として有し、データ削減率を変数として有する一次関数であって、
正確性の効用関数は、重み係数により重み付けされた、取得済みのサンプリング間隔の値を定数として持ち、データ削減率を変数として有する一次関数である
請求項４に記載の操作共有方法。
【請求項６】
リアルタイム性の効用関数と正確性の効用関数とを用いて、データ削減率を変数として持つ最適化問題を構成し、最適化問題を解くことで、現在の状況下において操作共有のリアルタイム性と正確性とを両立できる最適なデータ削減率を動的に決定する
請求項４または請求項５に記載の操作共有方法。
【請求項７】
リアルタイム性の効用関数と正確性の効用関数の交点を求めることで最適化問題を解く
請求項６に記載の操作共有方法。
【請求項８】
ネットワーク状態と処理性能とを取得するときに、
送信端末と中継サーバとの間の通信経路の可用帯域と、中継サーバと受信端末との間の通信経路の可用帯域のうち、狭い方を選択する
請求項４から請求項７のうちのいずれか１項に記載の操作共有方法。
【請求項９】
ネットワーク状態と処理性能とを取得するときに、
送信端末と中継サーバの間の通信経路の片方向遅延と、中継サーバと受信端末の間の通信経路の片方向遅延とを加算することで送信端末から受信端末への片方向遅延を算出する
請求項４から請求項８のうちのいずれか１項に記載の操作共有方法。
【請求項１０】
ネットワーク状態と処理性能とを取得するときに、
送信端末と中継サーバと受信端末の処理性能のうち、最低の値を選択する
請求項４から請求項９のうちのいずれか１項に記載の操作共有方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手書き操作やスクロール操作などを他の端末と同期・共有する端末、ならびに端末間で手書き操作やスクロール操作などを同期・共有するための通信システムおよび操作共有方法に関する。
【背景技術】
【０００２】
遠隔にいる相手と通話しながら、自分と相手の端末間で写真や資料などのコンテンツをリアルタイムに同期・共有する「コンテンツ共有」において、共有中のコンテンツに関して、相手に特に注目して欲しい部分を強調するためには、自分の端末で行った手書き操作やスクロール操作などの操作結果を端末間でリアルタイムに同期・共有する「操作共有」が有効である。【０００３】
手書き操作やスクロール操作などの操作共有では、ユーザが端末のタッチパネル画面上で指を動かしたり、端末に接続されているマウスを動かしたりする操作をしている最中に、端末で時間的に連続して操作イベントが発生する。そのため、連続的に発生する大量の操作共有のデータが通信相手の端末に対して送信される。【０００４】
操作共有における手書きデータの送受信をネットワークを介して行うシステムにおいて、手書きデータのデータ量を削減する方法がある（例えば、特許文献１参照。）。【０００５】
また、操作端末と被操作端末とをネットワークを介して接続し、操作端末から被操作端末上の共有画面を遠隔操作するシステムにおいて、共有画面の操作性を向上することができる装置がある（例えば、特許文献２参照。）。【０００６】
また、受信側の存在および状況、ネットワーク待ち時間、ネットワーク上のパケットの損失などの測定結果に基づいて、ネットワーク帯域幅の利用を最適化することができる方法がある（例えば、特許文献３参照。）。また、ネットワークの可用帯域幅を高速かつ高精度で測定する方法がある（例えば、特許文献４参照。）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２１８８６８号公報
【特許文献２】特開２００４−３３４９０３号公報
【特許文献３】特表２０１１−５０１５６９号公報
【特許文献４】特許第４１５３５１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載された方法は、ユーザによる手書き操作により発生した大量の手書きデータを、ドット情報（ラスタデータ）として扱う。送信端末側で、ラスタデータをベクトルデータと呼ばれる少数の線に変換して、受信端末に送信することによって、データ量を削減している。【０００９】
しかし、ネットワーク状態や端末・サーバの処理性能が多様で時々刻々と変化する環境下では、ラスタデータからベクトルデータへ手書きデータを変換する際の、データの適切な削減率が不明になり、操作共有のリアルタイム性と正確性との両立ができなくなる可能性がある。ここで、操作共有のリアルタイム性とは、自分の端末で行った操作の結果が相手の端末に即座に反映されることを指す。また、操作共有の正確性とは、自分の端末で行った手書きの形状が、相手の端末に崩れずに反映されることや、自分の端末のタッチパネルにおいて動かした指のスクロール操作の軌跡が、相手の端末で崩れずに再現されることを指す。【００１０】
ここで、端末やサーバの処理性能が低い場合や、ネットワーク状態が劣悪であり、端末間の空き帯域である可用帯域が狭く、端末間の通信遅延が長い場合に、操作共有のデータ（以下、操作共有データという）のデータ削減率を低く設定した場合および高く設定した場合について考える。【００１１】
データ削減率を低く設定した場合は、ベクトルデータの数が多いため、操作共有のデータが可用帯域を消費し尽くす。従って、通信経路上のルータで操作共有データがキューイングされ、元々長かった通信遅延をさらに長くする。そのため、端末やサーバにおける処理がユーザの操作に追い付かなくなるため、操作共有のリアルタイム性が確保できない。一方で、ベクトルデータの数が多いため、受信端末では手書きの形状やスクロール操作の軌跡が崩れずに反映・再現されるため、操作共有の正確性は確保できる【００１２】
また、データ削減率を高く設定した場合は、ベクトルデータの数が少ないため、操作共有データは可用帯域をあまり消費しない。従って、通信経路上のルータで操作共有データがキューイングされることがなく、通信遅延をさらに長くすることもない。さらに、端末やサーバにおける処理がユーザの操作に追い付かなくなることもないため、操作共有のリアルタイム性が確保できる。一方で、ベクトルデータの数が少ないため、受信端末では手書きの形状やスクロール操作の軌跡が崩れて反映・再現されるため、操作共有の正確性は確保できない。【００１３】
このように、操作共有のリアルタイム性と正確性との間には、トレードオフの関係がある。【００１４】
仮に、正確性を確保するためにデータ削減率を低く設定した時は、最初は操作共有のリアルタイム性と正確性とが比較的バランス良く両立できていたとしても、時間の経過と共にネットワーク状態が劣化した場合や、端末やサーバで他の処理が実行されて過負荷状態になった場合には、リアルタイム性が確保できなくなってしまう。【００１５】
また、リアルタイム性を確保するためにデータ削減率を高く設定した時は、時間の経過と共にネットワーク状態が良好になった場合や、端末やサーバで実行されていた他の処理が終了して処理に余裕がある状態になった場合であっても、データ削減率が高いため、相変わらず受信端末では手書きの形状やスクロール操作の軌跡が崩れて反映・再現されるため、正確性が確保できない。【００１６】
特許文献２に記載された装置は、ネットワークを流れる情報量を調節し、共有画面を備えた被操作端末と自端末との操作の連続性を保ち、操作性の向上を図っている。しかし、可用帯域や通信遅延などのネットワーク状態に関する情報を計測していないので、可用帯域や通信遅延などが変化した場合には、リアルタイム性と正確性とのバランスが両立できなくなる。【００１７】
本発明は、ネットワーク状態や端末・サーバの処理性能が多様で時々刻々と変化する環境下でも、操作共有のリアルタイム性と正確性とを両立することができる端末、通信システムおよび操作共有方法を提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明による端末は、自端末と他の端末との間のネットワーク状態を計測するネットワーク状態計測手段と、自端末および他の端末の処理性能を計測する処理性能計測手段と、ユーザの操作に応じて発生する操作イベントのサンプリング間隔と、ネットワーク状態および処理性能の計測結果とに応じて最適データ削減率を決定するデータ削減率計算手段と、最適データ削減率に基づいて、他の端末に送信する操作共有データを削減するデータ削減手段とを含むことを特徴とする。【００１９】
本発明による通信システムは、タッチパネル画面やマウスをユーザが操作している最中に、時間的に連続して発生する操作イベントを取得する時間間隔であるサンプリング間隔を取得するサンプリング間隔取得手段と、中継サーバと受信端末と通信することで可用帯域と通信遅延を計測するネットワーク状態計測手段と、中継サーバと受信端末と通信することで送信端末と中継サーバと受信端末の処理性能を計測する処理性能計測手段と、サンプリング間隔と可用帯域と通信遅延と処理性能とに基づき、操作共有のリアルタイム性とデータ削減率との関係を示す効用関数を生成するリアルタイム性効用関数計算手段と、サンプリング間隔に基づき、操作共有の正確性とデータ削減率との関係を示す効用関数を生成する正確性効用関数計算手段と、リアルタイム性の効用関数と正確性の効用関数を用いて最適化問題を構成し、最適化問題を解くことで、現在の状況下において操作共有のリアルタイム性と正確性とをバランス良く両立できる最適なデータ削減率を動的に決定するデータ削減率計算手段と、データ削減手段に対して操作共有データの削減率を指示するデータ削減指示手段と、指示されたデータ削減率に基づいて操作共有のデータを削減するデータ削減手段と、操作共有データを中継サーバに送信するデータ送信手段と、データ削減率を計算するためのデータを記憶するデータ記憶手段とを含む送信端末と、中継サーバと送信端末と通信することで可用帯域や通信遅延を計測する第２のネットワーク状態計測手段と、中継サーバと送信端末と通信することで送信端末と中継サーバと受信端末の処理性能を計測する第２の処理性能計測手段と、中継サーバから操作共有データを受信するデータ受信手段とを含む受信端末と、送信端末と受信端末と通信することで可用帯域や通信遅延を計測する第３のネットワーク状態計測手段と、送信端末と受信端末と通信することで送信端末と中継サーバと受信端末の処理性能を計測する第３の処理性能計測手段と、送信端末から受信した操作共有データを受信端末に中継するデータ中継手段とを含む中継サーバとを備えることを特徴とする。【００２０】
本発明による操作共有方法は、送信端末が、タッチパネル画面やマウスをユーザが操作している最中に、時間的に連続して発生する操作イベントを取得する時間間隔であるサンプリング間隔を取得し、ネットワーク状態と処理性能とを取得し、リアルタイム性と正確性の効用関数とを計算し、最適なデータ削減率を計算し、ユーザによる操作共有の入力があるか判定し、最適なデータ削減率に従って操作共有のデータを削減してから送信し、既定の時間が経過したことを検出することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、ネットワーク状態や端末・サーバの処理性能が多様で時々刻々と変化する環境下でも、操作共有のリアルタイム性と正確性を両立することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の通信システムの第１の実施形態のネットワーク構成を示すブロック図である。
【図２】本発明の通信システムの第１の実施形態の構成を示すブロック図である。
【図３】データ記憶手段が記憶するデータのデータ構造を示す説明図である。
【図４】端末の第１の実施形態の動作を示すフローチャートである。
【図５】ｆ（ｘ）およびｇ（ｘ）を表すグラフを示す説明図である。
【図６】本発明による端末の主要部を示すブロック図である。
【発明を実施するための形態】
【００２３】
実施形態１．
以下、本発明の第１の実施形態を図面を参照して説明する。
【００２４】
図１は、本発明の通信システムの第１の実施形態のネットワーク構成を示すブロック図である。
【００２５】
図１に示すように、本発明による通信システムは、送信端末（端末１）と、受信端末（端末２）と、中継サーバ３とを含む。なお、図１には、２つの端末１、２が例示されているが、端末はいくつあってもよい。
【００２６】
端末１と端末２とは、中継サーバ３を介して接続される。端末１および端末２は、通信ネットワークを介して中継サーバ３に接続される。本実施形態では、ユーザ１が端末１を、ユーザ２が端末２を利用するという前提で説明する。ユーザ１とユーザ２は、通話中に端末１と端末２を利用する。ユーザ１とユーザ２は、通話をするときに、端末１と端末２を用いてもよいし、電話機などの別の端末（図示せず）を用いて通話を行ってもよい。
【００２７】
端末１および端末２は、スマートフォン、携帯電話機、携帯型コンピュータ（ＰＤＡ）、パーソナルコンピュータ（ＰＣ）、固定電話機、街頭マルチメディア端末、車載端末、ネットワーク接続機能付きテレビ、ネットワーク接続機能付きセットトップボックス、ゲーム機、ネットワーク接続機能付きプリンタ、ネットワーク接続機能付きスキャナ、外部と情報をやり取りする機能を備えたその他の装置であってもよい。
【００２８】
図２は、本発明の通信システムの第１の実施形態の構成を示すブロック図である。
【００２９】
端末１は、サンプリング間隔取得手段１０と、ネットワーク（ＮＷ）状態計測手段１１と、処理性能計測手段１２と、リアルタイム性効用関数計算手段１３と、正確性効用関数計算手段１４と、データ削減率計算手段１５と、データ削減指示手段１６と、データ削減手段１７と、データ送信手段１８と、データ記憶手段１９とを含む。
【００３０】
なお、サンプリング間隔取得手段１０、ＮＷ状態計測手段１１、処理性能計測手段１２、リアルタイム性効用関数計算手段１３、正確性効用関数計算手段１４、データ削減率計算手段１５、データ削減指示手段１６およびデータ削減手段１７は、端末１が備えるＣＰＵによって、実現される。
【００３１】
端末２は、第２のＮＷ状態計測手段（ＮＷ状態計測手段２１）と、第２の処理性能計測手段（処理性能計測手段２２）と、データ受信手段２３とを含む。
【００３２】
中継サーバ３は、第３のＮＷ状態計測手段（ＮＷ状態計測手段３１）と、第３の処理性能計測手段（処理性能計測手段３２）と、データ中継手段３３とを含む。
【００３３】
サンプリング間隔取得手段１０は、端末１が備えるタッチパネル画面（図示せず）や端末１に接続されたマウス（図示せず）をユーザが操作している最中に、時間的に連続して発生する操作イベントを取得する時間間隔であるサンプリング間隔を取得する。
【００３４】
ＮＷ状態計測手段１１は、ＮＷ状態計測手段３１とＮＷ状態計測手段２１と通信することでネットワーク状態を計測する。本実施形態では、ネットワーク状態として可用帯域および通信遅延を計測する。なお、その他のネットワーク状態を計測してもよい。
【００３５】
処理性能計測手段１２は、処理性能計測手段３２と処理性能計測手段２２と通信することで、端末１と中継サーバ３と端末２の処理性能を計測する。
【００３６】
リアルタイム性効用関数計算手段１３は、サンプリング間隔と可用帯域と通信遅延と処理性能とに基づき、操作共有のリアルタイム性とデータ削減率との関係を数式の形で表現した効用関数（以下、リアルタイム性効用関数という）を生成する。
【００３７】
正確性効用関数計算手段１４は、サンプリング間隔に基づき、操作共有の正確性とデータ削減率との関係を数式の形で表現した効用関数（以下、正確性効用関数という）を生成する。
【００３８】
データ削減率計算手段１５は、リアルタイム性効用関数と正確性効用関数とを用いて最適化問題を構成し、最適化問題を解くことによって、現在の状況下において操作共有のリアルタイム性と正確性とをバランス良く両立できる最適なデータ削減率（以下、最適データ削減率という）を動的に決定する。
【００３９】
データ削減指示手段１６は、データ削減手段１７に対して操作共有データの削減率を指示する。
【００４０】
データ削減手段１７は、指示されたデータ削減率に基づいて操作共有データを削減する。
【００４１】
データ送信手段１８は、操作共有データを中継サーバ３に送信する。
【００４２】
データ記憶手段１９は、データ削減率を計算するためのデータを記憶する
【００４３】
図３は、データ記憶手段１９が記憶するデータのデータ構造を示す説明図である。図３に示すように、データ記憶手段１９は、サンプリング間隔４０と、可用帯域４１と、通信遅延４２と、処理性能４３と、リアルタイム性効用関数４４と、正確性効用関数４５と、最適データ削減率４６とを格納する。
【００４４】
サンプリング間隔４０は、タッチパネル画面やマウスをユーザが操作している最中に、時間的に連続して発生する操作イベントのサンプリング間隔を示す情報である。
【００４５】
可用帯域４１は、端末１と中継サーバ３と端末２との間の可用帯域を示す情報である。
【００４６】
通信遅延４２は、端末１と中継サーバ３と端末２との間の通信遅延を示す情報である。
【００４７】
処理性能４３は、端末１と中継サーバ３と端末２の処理性能を示す情報である。
【００４８】
リアルタイム性効用関数４４は、リアルタイム性効用関数を示す情報である。
【００４９】
正確性効用関数４５は、正確性効用関数を示す情報である。
【００５０】
最適データ削減率４６は、最適データ削減率を示す情報である。
【００５１】
ＮＷ状態計測手段２１は、ＮＷ状態計測手段３１とＮＷ状態計測手段１１と通信することで可用帯域や通信遅延を計測する。
【００５２】
処理性能計測手段２２は、処理性能計測手段３２と処理性能計測手段１２と通信することで、端末１と中継サーバ３と端末２の処理性能を計測する。
【００５３】
データ受信手段２３は、中継サーバ３から操作共有データを受信する。
【００５４】
ＮＷ状態計測手段３１は、ＮＷ状態計測手段１１とＮＷ状態計測手段２１と通信することで可用帯域や通信遅延を計測する。
【００５５】
処理性能計測手段３２は、処理性能計測手段１２と処理性能計測手段２２と通信することで、端末１と中継サーバ３と端末２の処理性能を計測する。
【００５６】
データ中継手段３３は、端末１から受信した操作共有データを端末２に中継する。
【００５７】
次に、本実施形態の動作を説明する。
【００５８】
図４は、端末１の第１の実施形態の動作を示すフローチャートである。
【００５９】
サンプリング間隔取得手段１０が、サンプリング間隔を取得する（ステップＳ５０）。サンプリング間隔は、端末１内で動作するオペレーティングシステムや操作共有アプリケーションの設定ファイルから読み込んで取得するようにしてもよい。サンプリング間隔取得手段１０は、取得したサンプリング間隔をサンプリング間隔４０としてデータ記憶手段１９に格納する。
【００６０】
ＮＷ状態計測手段１１とＮＷ状態計測手段３１、ＮＷ状態計測手段３１とＮＷ状態計測手段２１が、互いに通信することで、端末１と中継サーバ３との間の通信経路の可用帯域と通信遅延、および、中継サーバ３と端末２との間の通信経路の可用帯域と通信遅延を計測する。そして、ＮＷ状態計測手段１１が、計測結果を取得する（ステップＳ５１）。
【００６１】
可用帯域の計測方法として、例えば、特許文献４に記載の方法を利用してもよい。
【００６２】
また、通信遅延の計測方法として、往復遅延をもとに片方向遅延を算出する方法を利用してもよい。具体的には、送信元において、送信元から受信先に対して計測パケットを送信した時刻を記録し、受信先で計測パケットを受信したら即座に計測パケットを返信する。そして、送信元において、受信先が返信した計測パケットを受信した時刻を記録し、送信時刻と受信時刻の差分を往復遅延として算出し、算出した往復遅延を半分にすることで片方向遅延を算出する。
【００６３】
ＮＷ状態計測手段１１は、ＮＷ状態計測手段１１とＮＷ状態計測手段３１の間の通信経路の可用帯域と、ＮＷ状態計測手段３１とＮＷ状態計測手段２１の間の通信経路の可用帯域のうち、狭い方を選択し、可用帯域４１としてデータ記憶手段１９に格納する。また、ＮＷ状態計測手段１１とＮＷ状態計測手段３１の間の通信経路の片方向遅延と、ＮＷ状態計測手段３１とＮＷ状態計測手段２１の間の通信経路の片方向遅延とを加算することで端末１から端末２への片方向遅延を算出し、通信遅延４２としてデータ記憶手段１９に格納する。
【００６４】
処理性能計測手段１２が、端末１と中継サーバ３と端末２の処理性能を計測し、計測結果を取得する。具体的には、処理性能計測手段１２は、端末１の処理性能を計測する。そして、通信ネットワークを介して、処理性能計測手段３２および処理性能計測手段２２が算出した計測結果を処理性能計測手段３２および処理性能計測手段２２から取得する。
【００６５】
ここで、処理性能とは、現在の余剰処理性能を指す。処理性能は、ハードウェアのＣＰＵの単位時間当たりの限界演算回数から、現在処理中の単位時間当たりの演算回数を差し引くことで算出してもよい。また、オペレーティングシステムの起動時に計算されるＢｏｇｏＭｉｐｓの値に対して現在のＣＰＵ使用率を乗算することで算出してもよい。性能が低いハードウェアでは処理性能は低い。性能が高いハードウェアであっても、操作共有アプリケーション以外のアプリケーションが重い処理を実行している場合には処理性能は低くなる。
【００６６】
処理性能計測手段１２は、端末１と中継サーバ３と端末２の処理性能のうち、最低の値を選択し、処理性能４３としてデータ記憶手段１９に格納する。
【００６７】
リアルタイム性効用関数計算手段１３が、サンプリング間隔４０と可用帯域４１と通信遅延４２と処理性能４３に基づき、操作共有のリアルタイム性とデータ削減率との関係を示すリアルタイム性効用関数を生成する。また、正確性効用関数計算手段１４が、サンプリング間隔４０に基づき、操作共有の正確性とデータ削減率との関係を示す正確性効用関数を生成する（ステップＳ５２）。
【００６８】
リアルタイム性効用関数計算手段１３は、生成したリアルタイム性効用関数をリアルタイム性効用関数４４としてデータ記憶手段１９に格納する。正確性効用関数計算手段１４は、生成した正確性効用関数を正確性効用関数４５としてデータ記憶手段１９に格納する。
【００６９】
データ削減率計算手段１５が、リアルタイム性効用関数と正確性効用関数を用いて最適化問題を構成し、最適化問題を解くことで、最適データ削減率を動的に決定する（ステップＳ５３）。データ削減率計算手段１５は、決定した最適データ削減率を最適データ削減率４６としてデータ記憶手段１９に格納する。
【００７０】
端末１においてユーザによる操作共有の入力があった場合、つまり、ユーザのタッチパネル画面操作やマウス操作による操作イベントが取得された場合は、ステップＳ５５の処理に進み、入力がなければステップＳ５６の処理に進む（ステップＳ５４）。
【００７１】
データ削減指示手段１６が、データ削減手段１７に対して操作共有データの削減率が最適データ削減率４６になるように指示する。データ削減手段１７が、操作共有データの削減率が最適データ削減率４６になるように操作共有データを削減する。データ送信手段１８が、削減された操作共有データを中継サーバ３に送信する（ステップＳ５５）。
【００７２】
データ削減指示手段１６が、最後にステップＳ５１の処理を実行した時刻から、既定の時間が経過したことを検出し、ステップＳ５１の処理に戻る（ステップＳ５６）。
【００７３】
ここで、ステップＳ５２において、操作共有のリアルタイム性とデータ削減率との関係および操作共有の正確性とデータ削減率との関係を効用関数で表現する方法を説明する。
【００７４】
サンプリング間隔４０をａ、可用帯域４１をｂ、通信遅延４２をｃ、処理性能４３をｄ、データ削減率をｘとおく。また、サンプリング間隔４０、可用帯域４１、通信遅延４２、処理性能４３に対する重み係数をそれぞれＷａ、Ｗｂ、Ｗｃ、Ｗｄとおく。なお、重み係数Ｗａ、Ｗｂ、Ｗｃ、Ｗｄは、データ記憶手段１９などに予め格納しておけばよい。
【００７５】
リアルタイム性効用関数をｆ（ｘ）とすると、リアルタイム性効用関数は、ｆ（ｘ）＝Ａｘ＋Ｂという一次関数で表わされる。ただし、Ａ＝Ｗａ／ａ＋Ｗｂ・ｂ＋Ｗｃ／ｃ＋Ｗｄ・ｄであり、Ｂは既定の定数である。
【００７６】
また、正確性効用関数をｇ（ｘ）とすると、正確性効用関数は、ｇ（ｘ）＝−Ｃｘ＋Ｄという一次関数で表わされる。ただし、Ｃ＝Ｗａ／ａであり、Ｄは既定の定数である。
【００７７】
なお、本実施形態では、Ａ、Ｂ、Ｃ、Ｄは正の値であって、Ｄ＞Ｂである。また、ｆ（ｘ）、ｇ（ｘ）は、その他の形式で表すようにしてもよい。
【００７８】
ここで、ステップＳ５３において、最適データ削減率を算出する方法を説明する。
【００７９】
最適化問題は、例えば、定数であるａ、ｂ、ｃ、ｄ、Ｗａ、Ｗｂ、Ｗｃ、Ｗｄを、ｆ（ｘ）とｇ（ｘ）に代入し、ｆ（ｘ）＝ｇ（ｘ）とおくことで構成してもよい。この時、２次元空間においてｆ（ｘ）とｇ（ｘ）とで表現される２つの直線の交点のｘ座標の値が、最適データ削減率になる。
【００８０】
図５は、ｆ（ｘ）およびｇ（ｘ）を表すグラフを示す説明図である。図５において、縦軸はリアルタイム性または正確性の効用を示し、横軸はデータ削減率を示す。
【００８１】
ここで、ステップＳ５５において、データ削減手段１７が、操作共有データの削減率が最適データ削減率４６になるように操作共有データを削減する方法を説明する。
【００８２】
例えば、最適データ削減率４６が７５％に設定されている場合には、連続発生する操作共有データに対して、データ削減手段１７は、データ送信手段１８に操作共有データを１つ送信したら、後続の３つの操作共有データを廃棄し、さらに次の１つの操作共有データをデータ送信手段１８に送信する、という処理を繰り返す。これにより、連続発生した操作共有データのうち、２５％がデータ送信手段１８から中継サーバ３に対して送信される。
【００８３】
なお、本実施形態では、端末１を送信端末、端末２を受信端末とし、端末１の操作によって操作共有データが端末１から端末２に送信される場合の動作について説明したが、端末１を受信端末、端末２を送信端末としてもよい。つまり、端末２が、端末１と同様に、サンプリング間隔取得手段、リアルタイム性効用関数計算手段、正確性効用関数計算手段、削減率計算手段、データ削減指示手段、データ削減手段、データ送信手段およびデータ記憶手段を含んでいてもよい。また、端末１が、端末２と同様に、データ受信手段を含んでいてもよい。
【００８４】
なお、端末２の操作によって操作共有データが端末２から端末１に送信される場合の動作については、端末１の操作による場合と同様であるため、説明を省略する。
【００８５】
以上に説明したように、本実施形態では、操作イベントのサンプリング間隔、端末と中継サーバの処理性能、可用帯域や通信遅延などのネットワーク状態に基づいてリアルタイム性効用関数と正確性効用関数を生成している。また、リアルタイム性効用関数と正確性効用関数をもとに動的に最適データ削減率を決定している。従って、ネットワーク状態および端末や中継サーバの処理性能が、多様で時々刻々と変化する環境下であっても、操作共有のリアルタイム性と正確性とを両立することができる。
【００８６】
また、本発明は、サンプリング間隔、ネットワーク状態および処理性能に基づいて最適データ削減率を決定しているので、最適データ削減率を定量的に決定することができる。それに対して、特許文献３に記載された方法は、送信用のデータの質を、ネットワークの状態に応じて、受信側がレンダリングするために「十分に良い」レベルまで引き下げている（特許文献３の段落００２４、００９５参照。）。しかし、「十分に良い」とは主観的なものであり（特許文献３の段落００２９参照。）、データの質を定量的に決めることができない。
【００８７】
図６は、本発明による端末の主要部を示すブロック図である。図６に示すように、端末（図１に示す端末１に相当。）は、自端末と他の端末（図１に示す端末２に相当。）との間のネットワーク状態を計測するネットワーク状態計測手段１１と、自端末および他の端末の処理性能を計測する処理性能計測手段１２と、ユーザの操作に応じて発生する操作イベントのサンプリング間隔と、ネットワーク状態および処理性能の計測結果とに応じて最適データ削減率を決定するデータ削減率計算手段１５と、最適データ削減率に基づいて、他の端末に送信する操作共有データを削減するデータ削減手段１７とを含む。
【００８８】
この出願は、２０１１年１１月１５日に出願された日本特許出願２０１１−２４９５７０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【００８９】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００９０】
１、２  端末
３  中継サーバ
１１、２１、３１  ＮＷ状態計測手段
１２、２２、３２  処理性能計測手段
１３  リアルタイム性効用関数計算手段
１４  正確性効用関数計算手段
１５  データ削減率計算手段
１６  データ削減指示手段
１７  データ削減手段
１８  データ送信手段
１９  データ記憶手段
２３  データ受信手段
３３  データ中継手段
【図１】
2013073125.tif 000003
【図２】
2013073125.tif 000004
【図３】
2013073125.tif 000005
【図４】
2013073125.tif 000006
【図５】
2013073125.tif 000007
【図６】
2013073125.tif 000008
【国際調査報告】
2013073125.tif 000009
2013073125.tif 000010