(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続された第１端末及び第２端末に対して、前記第１端末及び前記第２端末のそれぞれの画面に表示するための画面データを送信するサービスを提供するサーバであって、
前記第１端末から画面を変更する操作イベントを受信する操作イベント受信手段と、
前記操作イベントに応じて、前記第２端末に対して前記操作イベントを送信する操作イベント送信手段と、
前記操作イベントに応じて、前記第１端末と前記第２端末のそれぞれの縦方向の画面解像度の第１比率をもとにした第１倍率と、前記第１端末と前記第２端末のそれぞれの横方向の画面解像度の第２比率をもとにした第２倍率の何れかをもとに、前記第１端末の画面に表示される第１画面データのサイズを変更して第２画面データを作成する画面データ作成手段と、
前記操作イベントを前記第２端末に送信した後、前記第２端末が操作イベントに係る処理を実行している間に、前記第２画面データを前記第２端末に送信する画面データ送信制御手段とを有するサーバ。
【請求項２】
前記画面データ作成手段は、前記第１比率と前記第２比率の何れか大きい方に対応する前記第１倍率または前記第２倍率をもとに前記第２画面データを作成する請求項１記載のサーバ。
【請求項３】
前記操作イベント受信手段は、画面スクロールに対応する操作イベントを受信した場合に、前記操作イベント送信手段により前記第２端末にスクロール位置を通知する前記操作イベントを送信させた後、前記第２端末が、端末内に保有する画像データに基づき画面スクロールを実行している間に、前記画面データ作成手段により前記第２画面データを作成させる請求項１のサーバ。
【請求項４】
前記操作イベント受信手段により前記第１端末からのコンテンツ取得要求に対応する操作イベントが受信された場合に、前記コンテンツ取得要求に応じたコンテンツを取得するコンテンツ取得手段をさらに有し、
前記画面データ作成手段は、前記コンテンツの前記第２画面データを作成する請求項１記載のサーバ。
【請求項５】
ネットワークを介して接続された第１端末及び第２端末に対して、前記第１端末及び前記第２端末のそれぞれの画面に表示するための画面データを送信するサービスを提供するサーバが実行する画面表示方法であって、
前記第１端末から画面を変更する操作イベントを受信する操作イベント受信ステップと、
前記操作イベントに応じて、前記第２端末に対して前記操作イベントを送信する操作イベント送信ステップと、
前記操作イベントに応じて、前記第１端末と前記第２端末のそれぞれの縦方向の画面解像度の第１比率をもとにした第１倍率と、前記第１端末と前記第２端末のそれぞれの横方向の画面解像度の第２比率をもとにした第２倍率の何れかをもとに、前記第１端末の画面に表示される第１画面データのサイズを変更して第２画面データを作成する画面データ作成ステップと、
前記操作イベントを前記第２端末に送信した後、前記第２端末が操作イベントに係る処理を実行している間に、前記第２画面データを前記第２端末に送信する画面データ送信制御ステップとを有する画面表示方法。
【請求項６】
他端末における操作イベントを受信する操作イベント受信手段と、
前記操作イベントの受信に応じて前記操作イベントに係る処理を実行する処理手段と、
前記他端末の画面の解像度に応じて生成された第１画面データを受信する受信手段と、
前記操作イベントに係る処理を実行している間に、前記第１画面データと自端末の画面のそれぞれの縦方向の画面解像度の第１比率をもとにした第１倍率と、前記第１画面データと自端末のそれぞれの横方向の画面解像度の第２比率をもとにした第２倍率の何れかをもとに、前記第１画面データのサイズを変更して第２画面データを作成する画面データ作成手段と、
前記操作イベントに係る処理後に前記第２画面データを表示する画面データ表示手段とを有する端末。
【請求項７】
前記操作イベント受信手段は、前記他端末における画面スクロールの操作イベントに応じたスクロール位置を受信し、
前記画面データ表示手段は、前記スクロール位置に応じて画面をスクロールした後に前記第２画面データを表示する請求項６記載の端末。
【請求項８】
ネットワークを介して第１端末及び第２端末が接続されたシステムにおける画面表示方法であって、
前記第１端末から画面を変更する操作イベントを受信して前記第２端末に送信する操作イベント送信ステップと、
前記第２端末において前記操作イベントに応じた処理を実行する処理ステップと、
前記第１端末の画面の解像度に応じて生成された第１画面データを前記第２端末において受信する受信ステップと、
前記第２端末において、前記操作イベントに係る処理を実行している間に、前記第１画面データと前記第２端末の画面のそれぞれの縦方向の画面解像度の第１比率をもとにした第１倍率と、前記第１画面データと前記第２端末のそれぞれの横方向の画面解像度の第２比率をもとにした第２倍率の何れかをもとに、前記第１画面データのサイズを変更して第２画面データを作成する画面データ作成ステップと、
前記操作イベントに係る処理後に前記第２画面データを表示する表示ステップとを有する画面表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ、端末及び画面表示方法に関する。
【背景技術】
【０００２】
ブロードバンド回線の普及により通信帯域の制約が少なくなったことから、ネットワークを介して接続されたクライアント端末間で画面を共有するアプリケーションが増えてきている。この種のアプリケーションを使用する代表的なシステム例としては、例えば、リモート・デスクトップ（例えば、非特許文献１参照）、ＶＮＣ（Virtual Network Computing）（例えば、非特許文献２参照）、あるいは出力機能分割システム（特許文献１参照）などがあげられる。  
これらのシステムでは、共有元端末に表示されていた画面を、共有先端末により共有（閲覧、操作）することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開２０１４／１２６０６９号パンフレット
【非特許文献】
【０００４】
【非特許文献１】正木  理絵子、他１名、“リモート・デスクトップ接続の画面サイズを変更する”、［online］、平成１９年７月６日、［平成２６年１０月８日検索］、インターネット＜http://www.atmarkit.co.jp/fwin2k/win2ktips/900rdscrcng/rdscrcng.html＞
【非特許文献２】“デフォルトの画面解像度と表示カラーの設定”、“デフォルトのデスクトップ環境を指定する”、［online］、［平成２６年１０月８日検索］、インターネット＜http://www.obenri.com/_vnc/vnc_server2.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画面を共有するシステムでは、共有元端末の画面の解像度と共有先端末の画面の解像度が異なる場合がある。こうした場合、共有元端末の画面を共有先端末の画面の解像度に合わせて調整した上で、共有先端末において表示させることが求められている。
【０００６】
しかしながら、非特許文献１の技術では、共有先端末の画面の解像度が共有元端末の画面の解像度と一致しない場合、ユーザが手動で設定した解像度に応じて画面を変更する、もしくは、共有先端末の画面の解像度にあわせて調整した場合、共有元画面のレイアウトと共有先画面のレイアウトが異なるものになる。
【０００７】
また、非特許文献２の技術では、共有元画面（サーバ）の解像度以下の解像度をユーザが設定するか、もしくは、共有元画面（サーバ）で設定されたデフォルト値に応じて画面の解像度を調整する。
【０００８】
しかしながら、従来の技術では、共有元端末の画面のレイアウトを維持したままで、共有先画面の解像度に合わせて共有先画面の表示を自動的に調整することができない。つまり、共有先端末の解像度を共有元端末で知ることができないため、ユーザが共有元端末の解像度を、共有先端末の解像度にあわせて自ら設定するのは現実的ではないという課題があった。
【０００９】
さらに、共有元端末の解像度に合った画面を解像度が異なる共有先端末の画面に表示すると、共有元端末における表示内容が画面内に小さく表示されて余白が生じる、もしくは、全体が表示されなくなるなど、共有元端末の画面と同じように表示されない。このため、共有先端末においては画面に対する操作が難くなり、使い勝手が悪くなってしまう。
【００１０】
また、画面を共有している何れかの端末においてスクロール操作がされた画面を、画面を共有している全ての端末で共有（閲覧）する場合、画面を共有している何れかの端末からスクロール操作の操作イベントがサーバに送信されてから画面を共有している全ての端末が画面を受信するまでの時間は、操作イベントの送信時間、画面を共有している全ての端末に送信するスクロール後の画面データの生成時間、画面を共有している全ての端末に画面データを転送する時間の総和となる。このため、画面を共有する端末の数が多くなるほど、画面を共有している何れかの端末においてスクロールされた画面を、画面を共有している全ての端末が共有（閲覧）するまでに長い時間を要する。従って、共有元端末と共有先端末のそれぞれにおいて画面に対する入力操作をするシステム（例えば、オンラインゲームシステム）では、端末間で画面表示のタイミングのずれが生じて、操作性の低下を招くおそれがあった。
【００１１】
本発明は前述した事情に考慮してなされたもので、その目的は、複数の端末で共有される画面を、操作性を損なわないように表示させることが可能なサーバ、端末及び画面表示方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明は、上記の課題を解決するために、以下のような手段を講じている。  
本発明の第１の態様は、ネットワークを介して接続された第１端末及び第２端末に対して、前記第１端末及び前記第２端末のそれぞれの画面に表示するための画面データを送信するサービスを提供するサーバであって、前記第１端末から画面を変更する操作イベントを受信する操作イベント受信手段と、前記操作イベントに応じて、前記第２端末に対して前記操作イベントを送信する操作イベント送信手段と、前記操作イベントに応じて、前記第１端末と前記第２端末のそれぞれの縦方向の画面解像度の第１比率をもとにした第１倍率と、前記第１端末と前記第２端末のそれぞれの横方向の画面解像度の第２比率をもとにした第２倍率の何れかをもとに、前記第１端末の画面に表示される第１画面データのサイズを変更して第２画面データを作成する画面データ作成手段と、前記操作イベントを前記第２端末に送信した後、前記第２端末が操作イベントに係る処理を実行している間に、前記第２画面データを前記第２端末に送信する画面データ送信制御手段とを有するサーバである。
【００１３】
本発明の第２の態様は、他端末における操作イベントを受信する操作イベント受信手段と、前記操作イベントの受信に応じて前記操作イベントに係る処理を実行する処理手段と、前記他端末の画面の解像度に応じて生成された第１画面データを受信する受信手段と、前記操作イベントに係る処理を実行している間に、前記第１画面データと自端末の画面のそれぞれの縦方向の画面解像度の第１比率をもとにした第１倍率と、前記第１画面データと自端末のそれぞれの横方向の画面解像度の第２比率をもとにした第２倍率の何れかをもとに、前記第１画面データのサイズを変更して第２画面データを作成する画面データ作成手段と、前記操作イベントに係る処理後に前記第２画面データを表示する画面データ表示手段とを有する端末である。
【発明の効果】
【００１４】
本発明によれば、複数の端末で共有される画面を、操作性を損なわないように表示させることが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態における画面表示システムの構成を示すブロック図。
【図２】本実施形態における端末処理を示すフローチャート。
【図３】本実施形態における画面データ作成処理を示すフローチャート。
【図４】本実施形態におけるスクロールイベント処理を示すフローチャート。
【図５】本実施形態におけるスクロール操作の操作イベントがされた場合の端末とサーバにより実行される処理のシーケンスを示す図。
【図６】本実施形態における他の画面表示システムの構成を示すブロック図。
【図７】本実施形態における他の画面表示システムの構成を示すブロック図。
【図８】本実施形態における画面共有システムの応用例を示す図。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施の形態について説明する。  
図１は、本実施形態における画面表示システムの構成を示すブロック図である。本実施形態における画面表示システムは、画面転送サービスを提供するサーバ１０Ａ（以下、サーバ１０Ａと称する）を介して、サーバ１０Ａとインターネットなどのネットワーク（ＮＷ）１４を介して接続された複数の端末（クライアント）１２（１２Ａ−１，１２Ａ−２，１２Ａ−３，…）において、何れかの端末１２において表示される画面を共有することができる。画面表示システムは、例えば、複数の端末１２が画面を共有するオンラインゲーム、電子書籍システムとして実現することができる。
【００１７】
サーバ１０Ａは、ネットワーク１４を介して接続された端末１２に対して、何れかの端末１２において表示される画面（画面データ）を他の端末１２に転送して共有させる画面転送サービスを提供する。サーバ１０Ａは、例えばコンピュータを実現する各種モジュールを有する。すなわち、サーバ１０Ａは、メモリやハードディスク装置等の記録媒体、メモリに記憶された各種プログラムを実行するプロセッサ（ＣＰＵ（Central Processing Unit）等）の他、キーボードやマウス等の各種入力装置、ディスプレイ、スピーカ等の出力装置、外部の電子機器や各種ネットワーク等との通信を制御する通信装置などを有する。
【００１８】
サーバ１０Ａは、記録媒体に記憶された基本プログラム（ＯＳ（Operating System）等）や各種プログラムをプロセッサにより実行することにより、各種機能を実現する。サーバ１０Ａは、画面転送サービスを提供するためのサービスプログラム２０Ａをプロセッサにより実行することにより、例えばスケジューラ２２Ａ、画面データ作成部２４Ａ、画面データ送信制御部２６Ａの機能を実現する。
【００１９】
スケジューラ２２Ａは、予め決められたタイミングや所定のイベントが発生した場合に、予め決められた処理を実行させる。例えば、スケジューラ２２Ａは、端末１２においてユーザ操作により発生した操作イベントが受信されると、操作イベントに応じた処理を実行させる。画面転送サービスに関係する操作イベント（画面を変更する操作イベント）を受信した場合、スケジューラ２２Ａは、予め決められたタイミング（例えば、一定周期に発火するタイマが次に発火するタイミング）、もしくは、即時に画面データ作成部２４Ａに対して、画面転送のための画面データの作成を指示する。また、スケジューラ２２Ａは、画面スクロールに対応する操作イベント（スクロールイベント）を何れか端末１２から受信した場合に、画面データ作成部２４Ａにより他の端末１２に画面のスクロール先を示すスクロール位置を送信させた後、予め決められたタイミング（例えば、一定周期に発火するタイマが次に発火するタイミング）、もしくは、即時に画面データ作成部２４Ａにより画面データを作成させる。
【００２０】
画面データ作成部２４Ａは、操作イベントに応じたスケジューラ２２Ａからの指示に応じて、操作イベントの送信元とする端末１２（共有元端末とする第１端末）と、この端末１２と画面を共有する他の端末１２（共有先端末とする第２端末）のそれぞれの縦方向の画面解像度の第１比率をもとにした第１倍率と、第１端末と第２端末のそれぞれの横方向の画面解像度の第２比率をもとにした第２倍率の何れかをもとに、第１端末の画面に表示される第１画面データのサイズを変更して第２画面データを作成する。本実施形態では、画面データ作成部２４Ａは、例えば、第１比率と第２比率の何れか大きい方に対応する第１倍率または第２倍率をもとに第２画面データを作成する。画面データ送信制御部２６Ａは、画面データ作成部２４Ａによって作成された第１画面データを第１端末に、第２画面データを、画面の共有先端末とする第２端末に送信する。もしくは、別の実施形態として、第１画面データは操作イベントの送信元とする端末１２により作成し、サーバは第２画面データのみを作成することも可能である。
【００２１】
更に、別の実施形態として、画面データ作成部２４Ａは、操作イベントに応じたスケジューラ２２Ａからの指示に応じて、いずれかの端末１２（例えば共有元端末とする第１端末）の解像度に対応した第１画面データを作成し、各端末１２に送信する。第１画面データを受信した第１端末、第２端末は、サーバで生成した第１画面データと自端末のそれぞれの縦方向の画面解像度の第１比率をもとにした第１倍率と、サーバで生成した第１画面データと自端末のそれぞれの横方向の画面解像度の第２比率をもとにした第２倍率の何れかをもとに、自端末の画面に表示される画面データのサイズを変更した第２画面データを作成する。本実施形態では、例えば、第１比率と第２比率の何れか大きい方に対応する第１倍率または第２倍率をもとに第２画面データを作成する。また、上記実施形態と同様に、第１画面データは操作イベントの送信元とする端末１２により作成し、第２端末のみが第２画面データのみを作成することも可能である。
【００２２】
さらに、第１画面データを受信した第２端末において第２画面データを作成する場合、第２端末は、第１端末における画面スクロールの操作イベントに応じたスクロール位置を受信し、先にスクロール位置に応じて画面をスクロールすると共に、サーバより送信されたスクロール後の第１画面の解像度と自端末の解像度をもとに、前記方法によりスクロール後の第２画面データの生成を行い、前記スクロール位置までのスクロールが完了した後に、生成した第２画面データを表示することも可能である。
【００２３】
端末１２（１２Ａ−１，１２Ａ−２，１２Ａ−３，…）は、ユーザによって、サーバ１０Ａが提供する画面転送サービスを利用するために使用される電子機器である。端末１２は、例えばパーソナルコンピュータ、スレートＰＣ、スマートフォン、携帯電話機、カーナビゲーションシステムなどの電子機器によって実現される。端末１２は、コンピュータを実現する各種モジュールを有する。すなわち、端末１２は、メモリやハードディスク装置等の記録媒体、メモリに記憶された各種プログラムを実行するプロセッサ（ＣＰＵ（Central Processing Unit）等）の他、キーボードやマウス等の各種入力装置、ディスプレイ、スピーカ等の出力装置、外部の電子機器や各種ネットワーク等との通信を制御する通信装置などを有する。
【００２４】
端末１２は、記録媒体に記憶された基本プログラム（ＯＳ（Operating System）等）や各種プログラムをプロセッサにより実行することにより、各種機能を実現する。本実施形態における端末１２は、サービスプログラム３０Ａをプロセッサにより実行することにより、サーバ１０Ａが提供する画面転送サービス機能を利用するためのユーザインタフェース部３２Ａ、操作イベントフィルタ部３４Ａ、イベント送信部３６Ａ、表示部３８Ａを実現する。図１には、端末１２Ａ−１の構成のみを示しているが、他の端末１２Ａ−２，１２Ａ−３，…も同様の機能を有するものとして詳細な説明を省略する。
【００２５】
ユーザインタフェース部３２Ａは、ユーザによる入力装置の操作に応じた操作イベントを入力する。操作イベントには、例えばコンテンツ取得要求、スクロール要求などがある。
【００２６】
操作イベントフィルタ部３４Ａは、ユーザインタフェース部３２Ａにより入力された操作イベントを、サーバ１０Ａに送信すべき操作イベントであるか否かを判断する。すなわち、操作イベントに応じた処理を自端末１２において実行するか、サーバ１０Ａにおいて実行させるとかを判断する。
【００２７】
イベント送信部３６Ａは、操作イベントフィルタ部３４Ａによってサーバ１０Ａに送信すべきと判断された操作イベントをサーバ１０Ａに送信する。
【００２８】
表示部３８Ａは、端末１２に設けられた表示部（ディスプレイ）の表示を制御する。表示部３８Ａは、端末１２がサーバ１０Ａの画面転送サービスを利用する場合に、サーバ１０Ａから受信された画面データをもとに画面の表示を制御する。
【００２９】
次に、本実施形態における画面表示システムの動作について説明する。  
本実施形態における画像表示システムでは、例えば端末１２がサーバ１０Ａのサービスを利用するためにネットワーク１４を介して最初にサーバ１０Ａにアクセスした際に、サーバ１０Ａは、端末１２において表示される画面の解像度を示す解像度データを端末１２から受信する。解像度データには、画面の縦方向の解像度（縦解像度）と横方向の解像度（横解像度）をそれぞれ示すデータを含む。
【００３０】
図２は、本実施形態における端末１２の端末処理を示すフローチャートである。  
端末１２は、ユーザ操作があると、ユーザインタフェース部３２Ａにより操作イベントを入力する（ステップＣ１、Ｙｅｓ）。例えば「コンテンツ取得要求に対応する操作イベント」が入力された場合、操作イベントフィルタ部３４Ａは、入力された操作イベントに対して操作イベントフィルタ処理を実行する（ステップＣ２）。すなわち、操作イベントフィルタ部３４Ａは、入力された操作イベントがサーバ１０Ａに送信すべき操作イベントであるか否かを判断する。
【００３１】
ここで、サーバ１０Ａに送信すべき操作イベントであると判断された場合（ステップＣ３、Ｙｅｓ）、イベント送信部３６Ａは、操作イベントをサーバ１０Ａに送信する（ステップＣ４）。一方、サーバ１０Ａに送信すべき操作イベントでないと判断された場合（ステップＣ３、Ｎｏ）、端末１２は、サービスプログラム３０Ａにより操作イベントに応じた処理を実行する（ステップＣ５）。端末１２において実行される操作イベントに応じた処理例については後述する。
【００３２】
「コンテンツ取得要求に対応する操作イベント」の場合、操作イベントフィルタ部３４Ａによってサーバ１０Ａに送信すべきと判断され、イベント送信部３６Ａによってサーバ１０Ａに送信される。
【００３３】
サーバ１０Ａのスケジューラ２２Ａは、「コンテンツ取得要求に対応する操作イベント」が受信されると、「コンテンツ取得要求」の対象となるコンテンツについて画面データの生成を画面データ作成部２４Ａに指示する。
【００３４】
画面データ作成部２４Ａは、スケジューラ２２Ａからの指示にしたがって、画面データを作成する。画面データ送信制御部２６Ａは、画面データ作成部２４Ａにより作成された画面データを、画面転送サービスを利用する（画面を共有する）全ての端末１２に送信する。端末１２は、サーバ１０Ａからの画面データを受信すると、表示部３８Ａによって画面データに応じて画面をディスプレイにおいて表示させる。
【００３５】
次に、例えば端末１２（共有元端末）において「サーバによる拡大縮小に対応する操作イベント」が入力されたものとする。端末１２は、この操作イベントをサーバ１０Ａに送信すべきと判別して、イベント送信部３６Ａにより送信する。
【００３６】
サーバ１０Ａのスケジューラ２２Ａは、拡大縮小の操作イベントが受信されると、画面データ作成部２４Ａに対して複数の端末１２において共有対象となる画面の画面データの生成を指示する。画面データ作成部２４Ａは、スケジューラ２２Ａからの指示に応じて画面データ作成処理を実行する。画面データ作成処理では、共有元端末の画面の内容を拡大縮小の操作イベントに応じて拡大縮小すると共に、拡大縮小された画面の内容を他の共有先端末の画面の解像度に合わせてサイズを調整した画面データを作成する。画面データ送信制御部２６Ａは、画面データ作成部２４Ａによって作成された画面データを、画面を共有する全ての端末１２に送信する。もしくは、別の実施形態として、画面データ作成処理では、共有元端末の画面の内容を拡大縮小の操作イベントに応じて拡大縮小した上で、画面を共有する全ての端末１２に送信する。拡大縮小された画面を受信した端末は、自端末の解像度に合わせてサイズを調整した画面データを作成することも可能である。
【００３７】
また、例えば端末１２（共有元端末）において「端末による拡大縮小に対応する操作イベント」が入力されたものとする。端末１２は、この操作イベントに応じて端末内で拡大縮小の処理をする。
【００３８】
図３は、本実施形態におけるサーバ１０Ａ（画面データ作成部２４Ａ）、もしくは端末１２Ａ（表示部３８Ａ）による画面データの拡大縮小処理を示すフローチャートである。
画面データ作成部２４Ａ、もしくは、表示部３８Ａは、共有元端末の画面を、共有先端末の画面の解像度に合わせて調整するための倍率を、共有元端末と共有先端末のそれぞれの画面の解像度をもとにして以下の手順で計算する。
【００３９】
まず、画面データ作成部２４Ａ、もしくは、表示部３８Ａは、「Ａ＝共有先端末の横解像度／共有元端末の横解像度」と「Ｂ＝共有先端末の縦解像度／共有元端末の縦解像度」をそれぞれ算出する（ステップＢ１，Ｂ２）。すなわち、共有先端末（第１端末）と共有元端末（第２端末）のそれぞれの縦方向の画面解像度の第１比率Ａと、共有先端末（第１端末）と共有元端末（第２端末）のそれぞれの横方向の画面解像度の第２比率Ｂとを算出する。
【００４０】
ここで、「Ａ＞Ｂ」である場合には（ステップＢ３、Ｙｅｓ）、画面データ作成部２４Ａは、倍率Ａにより共有元端末の画面データのサイズを調整（拡大縮小）する（ステップＢ４）。一方、「Ａ＞Ｂ」でない場合には（ステップＢ３、Ｎｏ）、画面データ作成部２４Ａは、倍率Ｂにより共有元端末の画面データのサイズを調整（拡大縮小）する（ステップＢ５）。すなわち、第１比率Ａと第２比率Ｂの何れか大きい方に対応する倍率Ａまたは倍率Ｂをもとに画面のサイズを調整することで、共有元端末の画面を共有先端末の画面において縦方向または横方向の一方の表示幅を合わせ、かつ、共有先端末の画面に余白を生じさせないように表示させることができる。従って、共有元端末の画面の解像度と共有先端末の画面の解像度が異なっていたとしても、共有元端末において共有する画面に対する操作性を損なうことがない。
【００４１】
なお、前述した説明では、「サーバによる拡大縮小に対応する操作イベント」が入力された場合について説明しているが、「端末による拡大縮小に対応した操作イベント」がユーザ操作によって入力された場合には、端末１２は、図２に示す端末処理において（ステップＣ５）、操作イベントに応じた処理を次のようにして実行する。
【００４２】
端末１２は、サービスプログラム３０Ａにより実現される機能によって、自端末が有する記録媒体（ローカル）に記録された画像に対して、操作イベントに応じた拡大縮小処理を実施する。表示部３８Ａは、操作イベントに応じて拡大縮小された画像を画面に表示する。なお、画像の縮小によって画面サイズよりも表示画像が小さくならないように、画面縮小倍率の下限を設定する。
【００４３】
例えば、画面縮小倍率の下限は、以下のように計算する。  
画面縮小倍率の下限＝ｍａｘ（端末の縦解像度／端末内に保有している画面の縦解像度、端末の横解像度／端末内に保有している画面の横解像度）
これらの縮小処理については、サーバもしくはクライアントにおけるサムネイル作成時など、画面サイズに合わせた縮小を行う必要がない画像については、この限りではなく、画面サイズよりも表示画像を小さくなることも許容する、つまり必要に応じた倍率で画面を縮小する。
【００４４】
次に、端末１２においてスクロール操作の操作イベントが入力された場合について説明する。  
図４は、本実施形態におけるサーバ１０Ａによるスクロールイベント処理を示すフローチャート、図５は、スクロール操作の操作イベントがされた場合の端末１２とサーバ１０Ａにより実行される処理のシーケンスを示す図である。
【００４５】
本実施形態における画面共有システムでは、共有元端末と共有先端末の何れにおいても、共有されている画面に対するスクロール操作が可能である。ここでは、ユーザによりスクロール操作がされた端末１２を操作端末１２Ａ、スクロールされた画面を共有する他の端末１２を閲覧端末１２Ｂ（１２Ｂ１，１２Ｂ２，…）と称して説明する。なお、スクロール操作が可能な画面（例えば、ブラウザの画面）を表示する場合は、スクロール操作を快適に行うために、表示に必要な画面よりも大きな画面を予め端末に保持しているものとする。
【００４６】
操作端末１２Ａにおいて、ユーザ操作に応じて、画面をスクロールさせるスクロール操作の操作イベントが入力されたものとする（図５、Ｓ１）。操作端末１２Ａは、図２に示す操作イベントフィルタ処理によりスクロール操作の操作イベントをサーバ１０Ａに送信すべきと判断し（Ｓ２）、イベント送信部３６Ａにより操作イベントをサーバ１０Ａに送信する（Ｓ３）。
【００４７】
サーバ１０Ａのスケジューラ２２Ａは、スクロール操作の操作イベントが受信されると（ステップＡ１、Ｙｅｓ）、画面データ送信制御部２６Ａによりスクロールイベントを通知させる（ステップＡ２）（Ｓ４）。画面データ送信制御部２６Ａは、非同期に複数の閲覧端末１２Ｂ１，１２Ｂ２，…に対してスクロールイベントを通知する。スクロールイベントの通知では、スクロール操作に応じた、スクロール先の絶対座標（コンテンツ内の座標）を通知する（ステップＡ２）。
【００４８】
スクロールイベントを受信した複数の閲覧端末１２Ｂ１，１２Ｂ２，…は、それぞれ共有する画面の画面データを受信する前に、スクロール先の絶対座標をもとに予め端末に保持していた画面を利用してスクロールさせる（Ｓ５）。この際、複数の閲覧端末１２Ｂ１，１２Ｂ２，…は、画面転送サービスを利用している間（画面を共有している間）は、スクロールイベントで指定された絶対座標にスムーズにスクロールを行うように予め決められた設定時間（Ｘｍｓｅｃ）をかけて画面を指定された座標までスクロールさせる（Ｘは、設定値）。
【００４９】
一方、サーバ１０Ａのスケジューラ２２Ａは、画面データ送信制御部２６Ａによりスクロールイベントを通知させる一方、画面データ作成部２４Ａによりスクロールイベントに基づく画面データの生成を指示する。画面データ作成部２４Ａは、スケジューラ２２Ａからの指示に応じて、スクロール先の位置に対応する画面を作成し（ステップＡ３）、画面データ作成処理によって閲覧端末１２Ｂ１，１２Ｂ２，…の画面解像度に応じた画面データを作成する（Ｓ６）。
【００５０】
画面データ送信制御部２６Ａは、画面データ作成部２４Ａによって作成されたスクロール後の画面データを、全ての閲覧端末１２Ｂ１，１２Ｂ２，…に送信する（Ｓ７）。閲覧端末１２Ｂ１，１２Ｂ２，…の表示部３８Ａは、サーバ１０Ａから受信される画面データを画面に表示させる（Ｓ８）。
【００５１】
なお、前述したスクロールイベントの処理では、サーバ１０Ａにおいてスクロール操作に応じてスクロールさせた画面を生成するとしている。このため、図５では、操作端末１２Ａは、閲覧端末１２Ｂと同様に、サーバ１０Ａからのスクロールイベントを受信して、その後に受信される画面データをもとに画面を表示する（Ｓ８）。これに対して、操作端末１２Ａにおいてスクロールされた画面を生成するようにしても良い。この場合、サーバ１０Ａは、操作端末１２Ａからスクロール操作の操作イベントと共にスクロール後の画面データを受信し、前述と同様にして閲覧端末１２Ｂ１，１２Ｂ２，…にスクロールイベントを通知する一方で、スクロールされた画面の画面データに対する画面データ作成処理を実行して画面データを作成して、全ての閲覧端末１２Ｂ１，１２Ｂ２，…に対して画面データを送信する。
【００５２】
このようにして、本実施形態における画面共有システムでは、操作端末１２Ａにおけるスクロール操作の操作イベントに対して、サーバ１０Ａからスクロールイベントを閲覧端末１２Ｂ１，１２Ｂ２，…に通知して、閲覧端末１２Ｂ１，１２Ｂ２，…において所定の時間（Ｘｓｅｃ）をかけて画面をスクロールさせている間に、画面データ作成処理により画面データを作成して閲覧端末１２Ｂ１，１２Ｂ２，…に送信する。従って、操作端末１２Ａからスクロール操作の操作イベントがサーバ１２Ａに送信されてから閲覧端末１２Ｂ１，１２Ｂ２，…がスクロールされた後の画面を表示（共有）するまでの時間を短縮することができる。これにより、共有元端末と共有先端末のそれぞれにおいて画面に対する入力操作をするシステム（例えば、オンラインゲームシステム）であっても、端末間で画面表示のタイミングのずれを小さくして操作性の低下を抑えることができる。
【００５３】
次に、本実施形態における他の画面共有システムの例について説明する。  
図６は、コンテンツサーバ１７からコンテンツ情報を取得して、複数の端末１２Ｂ−１，１２Ｂ−２，１２Ｂ−３，…においてコンテンツを表示する画面を共有させるコンテンツサービスを提供する画面共有システムの例を示す。図６では、図１に示す画面転送サービスを提供するサーバ１０Ａに代えて出力機能分割サーバ１０Ｂが設けられている。出力機能分割サーバ１０Ｂは、コンテンツサービスを提供するためのサービスプログラム２０Ｂをプロセッサにより実行することにより、例えばスケジューラ２２Ｂ、画面データ作成部２４Ｂ、画面データ送信制御部２６Ｂの機能を実現する。なお、図１に示す構成と同じ名称が付された機能は、図１に示す画面共有システムと実質同一の機能を有するものとして詳細な説明を省略する。
【００５４】
図６の画面共有システムは、コンテンツを閲覧（ブラウズ）するプログラムを、出力機能分割サーバ１０Ｂにおいて実行されるプログラムと、複数の端末１２Ｂ−１，１２Ｂ−２，１２Ｂ−３，…において実行されるプログラムに機能分割し、出力機能分割サーバ１０Ｂに対して複数の端末１２Ｂ−１，１２Ｂ−２，１２Ｂ−３，…を連携させるように動作させるものである。複数の端末１２Ｂ−１，１２Ｂ−２，１２Ｂ−３，…を連携させることにより、コンテンツを表示する画面やユーザ操作に応じた操作イベントを共有させることができる。
【００５５】
出力機能分割サーバ１０Ｂは、端末１２Ｂ−１，１２Ｂ−２，１２Ｂ−３，…からのコンテンツの取得要求に応じて、ネットワーク１６を介して接続されたコンテンツサーバ１７にコンテンツ取得要求を出力する。出力機能分割サーバ１０Ｂは、コンテンツ取得要求に応じてコンテンツサーバ１７から出力される当該コンテンツのコンテンツ情報（画面を出力するために必要な情報）を取得する。出力機能分割サーバ１０Ｂは、コンテンツ情報をもとにして、端末１２Ｂ−１，１２Ｂ−２，１２Ｂ−３，…から受信される操作イベント（拡大縮小、スクロールなど）に応じた画面データを生成して、端末１２Ｂ−１，１２Ｂ−２，１２Ｂ−３，…に出力する。なお、操作イベントに応じた画面データの生成について、前述と同様にして実行されるものとして詳細な説明を省略する。
【００５６】
図７は、Ｗｅｂサーバ１８からＷｅｂコンテンツ情報を取得して、複数の端末１２Ｃ−１，１２Ｃ−２，１２Ｃ−３，…においてＷｅｂコンテンツを表示する画面を共有させるＷｅｂブラウズサービスを提供する画面共有システムの例を示す。図７では、図１に示す画面転送サービスを提供するサーバ１０Ａに代えて出力機能分割サーバ１０Ｃが設けられている。出力機能分割サーバ１０Ｃは、Ｗｅｂコンテンツを提供するためのサービスプログラム２０Ｃをプロセッサにより実行することにより、例えばスケジューラ２２Ｃ、画面データ作成部２４Ｃ、画面データ送信制御部２６Ｃの機能を実現する。なお、図１に示す構成と同じ名称が付された機能は、図１に示す画面共有システムと実質同一の機能を有するものとして詳細な説明を省略する。
【００５７】
図７の画面共有システムは、Ｗｅｂコンテンツを閲覧（ブラウズ）するプログラムを、出力機能分割サーバ１０Ｃにおいて実行されるプログラムと、複数の端末１２Ｃ−１，１２Ｃ−２，１２Ｃ−３，…において実行されるプログラムに機能分割し、出力機能分割サーバ１０Ｃに対して複数の端末１２Ｃ−１，１２Ｃ−２，１２Ｃ−３，…を連携させるように動作させるものである。複数の端末１２Ｃ−１，１２Ｃ−２，１２Ｃ−３，…を連携させることにより、Ｗｅｂコンテンツを表示する画面やユーザ操作に応じた操作イベントを共有させることができる。
【００５８】
出力機能分割サーバ１０Ｃは、端末１２Ｃ−１，１２Ｃ−２，１２Ｃ−３，…からのＷｅｂコンテンツの閲覧要求に応じて、ネットワーク１６を介して接続されたＷｅｂサーバ１８にＷｅｂコンテンツ取得要求を出力する。出力機能分割サーバ１０Ｃは、Ｗｅｂコンテンツ取得要求に応じてＷｅｂサーバ１８から出力される当該ＷｅｂコンテンツのＷｅｂコンテンツ情報（画面を出力するために必要な情報）を取得する。出力機能分割サーバ１０Ｂは、Ｗｅｂコンテンツ情報をもとにして、端末１２Ｃ−１，１２Ｃ−２，１２Ｃ−３，…から受信される操作イベント（拡大縮小、スクロールなど）に応じた画面データを生成して、端末１２Ｃ−１，１２Ｃ−２，１２Ｃ−３，…に出力する。なお、操作イベントに応じた画面データの生成について、前述と同様にして実行されるものとして詳細な説明を省略する。
【００５９】
次に、本実施形態におけるサーバ１０Ａ（あるいは出力機能分割サーバ１０Ｂ，１０Ｃ）を用いた画面共有システムの応用例について説明する。  
図８は、サーバ１０Ａ（あるいは出力機能分割サーバ１０Ｂ，１０Ｃ）に相当する複数のサーバ部１０１，１０２，１０３を設けた画面共有システムの一例を示している。
【００６０】
図８に示す統合管理部５０は、複数のサーバ部１０１，１０２，１０３と、サーバ管理部５８と、共有連携部５２とを備える。
【００６１】
サーバ管理部５８は、何らかのユーザ認証や端末認証を実行して、ユーザと複数のサーバ部１０１，１０２，１０３とを関連付けて管理する。
【００６２】
共有連携部５２は、ユーザ端末からの共有招待通知や共有受託通知の通知情報を管理して、サーバ部１０１，１０２，１０３に対して、個々に複数の端末１２Ｄ１，１２Ｄ２，１２Ｄ３のクライアントプログラム６０Ｄ１，６０Ｄ２，６０Ｄ３に紐づける。なお、クライアントプログラム６０Ｄ１，６０Ｄ２，６０Ｄ３は、それぞれの端末１２Ｄ１，１２Ｄ２，１２Ｄ３に実装されたＯＳ（オペレーティングシステム）６２Ｄ１，６２Ｄ２，６２Ｄ３（例えば、android（登録商標））上で動作する。
【００６３】
共有連携部５２は、共有グループ管理部５４とサーバ・クライアント連携部５６を有する。  
共有グループ管理部５４は、事前に登録されたユーザ毎に共有相手として選択できる複数のユーザを共有グループとして管理する。共有を招待する共有招待ユーザ端末は、統合管理部５０から共有グループを取得し、共有相手と共有操作権限、その他関連情報を設定して、サーバ部１０１，１０２，１０３に共有招待の要求を通知する。
【００６４】
サーバ・クライアント連携部５６は、サーバ管理部５８及び複数の端末１２Ｄ１，１２Ｄ２，１２Ｄ３のクライアントプログラム６０Ｄ１，６０Ｄ２，６０Ｄ３と連携して、サーバ部１０１，１０２，１０３と複数の端末１２Ｄ１，１２Ｄ２，１２Ｄ３との連携を管理する。
【００６５】
次に、図８に示す画面共有システムのシーケンスについて説明する。  
端末１２Ｄ２を利用するユーザ（あ）が、画面を共有する端末を増やす場合、共有相手リストを共有連携部５２から取得する。端末１２Ｄ２は、取得した共有相手リストから共有相手と共有権限を選択して、共有連携部５２に対して共有招待通知を行う。このとき、端末１２Ｄ２の画面に取得した共有相手リストが表示される。例えば、端末１２Ｄ１を示す「ＴＶ」と端末１２Ｄ３を示す「い」が表示される。ユーザ（あ）が「ＴＶ」を選択すると、端末１２Ｄ２は、共有相手と共有権限を指示する共有招待通知Ｎ１を共有連携部５２へ送信する。
【００６６】
共有連携部５２は、端末１２Ｄ２のブラウザプロセス情報をサーバ管理部５８から取得する。ブラウザプロセス情報は、サーバ部１０１を利用している端末１２Ｄ２の情報であり、例えば端末１２Ｄ２のＩＤ＝ＩＤ００２である。
【００６７】
共有連携部５２は、共有招待通知Ｎ１を受け取った際に、端末１２Ｄ２および端末１２Ｄ１を関連付けてブラウザ共有連携ＤＢに登録する。
【００６８】
共有連携部５２は、端末１２Ｄ１に対して共有依頼通知を行う。共有連携部５２は、端末１２Ｄ１からの共有承諾通知を一定期間待機する。一定期間、共有承諾通知がない場合には、共有無効と判断して、共有招待通知Ｎ１に対する処理を終了する。
【００６９】
端末１２Ｄ１は、定期的な統合管理部５０への問い合わせ又は共有連携部５２からの共有依頼通知によって、共有依頼に関する情報を受け取ると、共有招待ユーザや共有権限を確認して、共有受託の承諾／拒否を設定して、共有連携部５２に共有承諾Ｎ２を通知する。
【００７０】
共有連携部５２は、サーバ管理部５８に対して共有情報通知する。このとき、サーバ・クライアント連携部５６は、共有受託通知Ｎ２を受け取った際に、端末１２Ｄ１が利用するサーバ部１０１を特定して、サーバ管理部５８に対して通知する。サーバ管理部５８は、サーバ部１０２に対して共有権限を設定する。
【００７１】
共有連携部５２は、共有を受託した端末１２Ｄ１に対して、端末１２Ｄ２のサーバ部１０２の接続情報を通知する。端末１２Ｄ１は、通知された接続情報（サーバアドレス、ポート番号）をもとに、端末１２Ｄ２が利用するサーバ部１０２に共有接続を行う。これにより、端末１２Ｄ１による接続先がサーバ部１０１からサーバ部１０２に切り替えられる（Ｎ４）。
【００７２】
なお、ユーザ（い）が使用する端末１２Ｄ３についても前述と同様にして、サーバ部１０３からサーバ部１０２に切り替えることができる（Ｎ５）。こうして、サーバ部１０２が提供するサービスを端末１２Ｄ１，１２Ｄ２，１２Ｄ３に共有することができる。この場合、端末１２Ｄ２は、端末１２Ｄ１，１２Ｄ３を選択して、共有を終了したり、権限を変更したりすることができる。また、端末１２Ｄ２は、共有受託ユーザを選択して個別に共有を終了させたり、一括で全共有受託ユーザとの共有を終了させたりすることができる。また、端末１２Ｄ２がサーバ部１０２のサービスの利用を終了した場合には、全ての端末１２Ｄ１，１２Ｄ３の共有を終了させる。
【００７３】
このようにして、複数のサーバ部１０１，１０２，１０３を有する画面共有システムにおいて、個々のサーバ部１０１，１０２，１０３に対して、複数の端末１２Ｄ１，１２Ｄ２，１２Ｄ３（クライアントプログラム６０Ｄ１，６０Ｄ２，６０Ｄ３）から接続させ、複数の端末１２Ｄ１，１２Ｄ２，１２Ｄ３で個々のサーバ部１０１，１０２，１０３が提供するサービスを共有させることができる。
【００７４】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００７５】
１０Ａ…画面転送サービスを提供するサーバ、１０Ｂ，１０Ｃ…出力機能分割サーバ、１２Ａ…操作端末、２２Ａ…スケジューラ、２４Ａ…画面データ作成部、２６Ａ…画面データ送信制御部、３２Ａ…ユーザインタフェース部、３４Ａ…操作イベントフィルタ部、３６Ａ…イベント送信部、３８Ａ…表示部。
【図１】
0006335758.tif 000002
【図２】
0006335758.tif 000003
【図３】
0006335758.tif 000004
【図４】
0006335758.tif 000005
【図５】
0006335758.tif 000006
【図６】
0006335758.tif 000007
【図７】
0006335758.tif 000008
【図８】
0006335758.tif 000009