(57)【特許請求の範囲】
【請求項１】
ネットワークを介してクライアント装置とサーバ装置とが接続され、前記サーバ装置が少なくとも一部の画面情報をクライアント装置に転送し、前記クライアント装置が転送された画面情報を画面上に共有エリアとして表示し、前記共有エリアに対して発生した入力イベント情報を前記サーバ装置に転送し、前記サーバ装置が転送された入力イベント情報を再生することにより、前記クライアント装置から前記サーバ装置のリモート操作を行う画面共有システムであって、
前記クライアント装置は、
前記共有エリアからのデータ転送の指示を検出する検出手段と、
前記サーバ装置にデータ転送を要求する要求手段と、
前記サーバ装置から転送されたデータを受信する受信手段と、
前記受信手段で受信したデータをクライアント装置のメモリ空間に展開する展開手段とを備え、
前記サーバ装置は、
前記クライアント装置からデータ転送の要求を受信すると、表示対象となるコンテンツのデータ、及び該コンテンツの種類、大きさ、位置の何れかを少なくとも含むＵＩデータ、の何れを転送するかを判定する判定手段と、
前記サーバ装置のメモリ空間にある転送すべきデータを転送可能な状態に変換する変換手段と、
前記変換手段で変換したデータを前記クライアント装置に送信する送信手段とを備えることを特徴とする画面共有システム。
【請求項２】
ネットワークを介してクライアント装置とサーバ装置とが接続され、前記サーバ装置が少なくとも一部の画面情報をクライアント装置に転送し、前記クライアント装置が転送された画面情報を画面上に共有エリアとして表示し、前記共有エリアに対して発生した入力イベント情報を前記サーバ装置に転送し、前記サーバ装置が転送された入力イベント情報を再生することにより、前記クライアント装置から前記サーバ装置のリモート操作を行う画面共有システムであって、
前記クライアント装置は、
前記共有エリアへのデータ転送の指示を検出する検出手段と、
表示対象となるコンテンツのデータ、及び該コンテンツの種類、大きさ、位置の何れかを少なくとも含むＵＩデータ、の何れを転送するかを判定する判定手段と、
前記クライアント装置のメモリ空間にある転送すべきデータを転送可能な状態に変換する変換手段と、
前記変換手段で変換したデータを前記サーバ装置に送信する送信手段とを備え、
前記サーバ装置は、
前記クライアント装置から転送されたデータを受信する受信手段と、
前記受信手段で受信したデータを前記サーバ装置のメモリ空間に展開する展開手段とを備えることを特徴とする画面共有システム。
【請求項３】
ネットワークを介してクライアント装置とサーバ装置とが接続され、前記サーバ装置が少なくとも一部の画面情報をクライアント装置に転送し、前記クライアント装置が転送された画面情報を画面上に共有エリアとして表示し、前記共有エリアに対して発生した入力イベント情報を前記サーバ装置に転送し、前記サーバ装置が転送された入力イベント情報を再生することにより、前記クライアント装置から前記サーバ装置のリモート操作を行う画面共有システムであって、
前記クライアント装置は、
前記サーバ装置の画面を表示する共有エリアから他のサーバ装置の画面を表示する他の共有エリアへのデータ転送の指示を検出する検出手段と、
前記サーバ装置に他のサーバ装置へのデータ転送を要求する手段とを備え、
前記サーバ装置は、
前記クライアントからデータ転送の要求を受信すると、表示対象となるコンテンツのデータ、及び該コンテンツの種類、大きさ、位置の何れかを少なくとも含むＵＩデータ、の何れを転送するかを判定する判定手段と、
前記サーバ装置のメモリ空間にある転送すべきデータを転送可能な状態に変換する変換手段と、
前記変換手段で変換したデータを他のサーバ装置に送信する送信手段と、
前記判定手段でコンテンツのデータの転送と判定した場合に、前記他のサーバ装置に対してデータ転送を要求する手段とを備え、
他のサーバ装置は、
前記サーバ装置から転送されたデータを受信する受信手段と、
前記受信手段で受信したデータを他のサーバ装置のメモリ空間に展開する展開手段とを備えることを特徴とする画面共有システム。
【請求項４】
前記検出手段は、前記共有エリアから、或いは前記共有エリアへのドラッグ操作が行われた場合に、前記データ転送の指示とみなし、
前記展開手段は、前記受信手段で受信したデータをメモリ空間に展開することを特徴とする請求項１乃至３の何れか１項に記載の画面共有システム。
【請求項５】
前記検出手段は、クリップボードへのコピーが行われた場合に、前記データ転送の指示とみなし、
前記展開手段は、前記受信手段で受信したデータをメモリ空間に展開することを特徴とする請求項１乃至３の何れか１項に記載の画面共有システム。
【請求項６】
前記検出手段は、オブジェクトに対するダブルクリックが行われた場合に、前記データ転送の指示とみなし、
前記展開手段は、前記受信手段で受信したデータをメモリ空間に展開することを特徴とする請求項１乃至３の何れか１項に記載の画面共有システム。
【請求項７】
前記検出手段は、オブジェクトに対する選択の操作が行われた場合に、前記データ転送の指示とみなし、
前記展開手段は、前記受信手段で受信したデータをメモリ空間に展開することを特徴とする請求項１乃至３の何れか１項に記載の画面共有システム。
【請求項８】
前記変換手段は、前記クライアント装置からデータ転送の要求を受信すると、前記サーバ装置でイベントを発生し、そのイベントを処理することにより前記サーバ装置のメモリ空間にあるデータを取得することを特徴とする請求項１に記載の画面共有システム。
【請求項９】
前記変換手段は、前記クライアント装置からデータ転送の要求を受信すると、前記サーバ装置でイベントを発生し、そのイベントを処理することにより前記サーバ装置のメモリ空間にあるデータを取得することを特徴とする請求項３に記載の画面共有システム。
【請求項１０】
前記データは、前記サーバ装置でカーソルの下にウィンドウを生成した後、イベントを発生し、生成したウィンドウで、発生したイベントを処理することにより取得されることを特徴とする請求項８又は９に記載の画面共有システム。
【請求項１１】
ネットワークを介してクライアント装置とサーバ装置とが接続され、前記サーバ装置が少なくとも一部の画面情報をクライアント装置に転送し、前記クライアント装置が転送された画面情報を画面上に共有エリアとして表示し、前記共有エリアに対して発生した入力イベント情報を前記サーバ装置に転送し、前記サーバ装置が転送された入力イベント情報を再生することにより、前記クライアント装置から前記サーバ装置のリモート操作を行う画面共有システムのデータ転送方法であって、
前記クライアント装置が、
前記共有エリアからのデータ転送の指示を検出する検出工程と、
前記サーバ装置にデータ転送を要求する要求工程と、
前記サーバ装置から転送されたデータを受信する受信工程と、
前記受信工程で受信したデータをクライアント装置のメモリ空間に展開する展開工程とを実行し、
前記サーバ装置が、
前記クライアント装置からデータ転送の要求を受信すると、表示対象となるコンテンツのデータ、及び該コンテンツの種類、大きさ、位置の何れかを少なくとも含むＵＩデータ、の何れを転送するかを判定する判定工程と、
前記サーバ装置のメモリ空間にある転送すべきデータを転送可能な状態に変換する変換工程と、
前記変換工程で変換したデータを前記クライアント装置に送信する送信工程とを実行することを特徴とするデータ転送方法。
【請求項１２】
ネットワークを介してクライアント装置とサーバ装置とが接続され、前記サーバ装置が少なくとも一部の画面情報をクライアント装置に転送し、前記クライアント装置が転送された画面情報を画面上に共有エリアとして表示し、前記共有エリアに対して発生した入力イベント情報を前記サーバ装置に転送し、前記サーバ装置が転送された入力イベント情報を再生することにより、前記クライアント装置から前記サーバ装置のリモート操作を行う画面共有システムのデータ転送方法であって、
前記クライアント装置が、
前記共有エリアへのデータ転送の指示を検出する検出工程と、
表示対象となるコンテンツのデータ、及び該コンテンツの種類、大きさ、位置の何れかを少なくとも含むＵＩデータ、の何れを転送するかを判定する判定工程と、
前記クライアント装置のメモリ空間にある転送すべきデータを転送可能な状態に変換する変換工程と、
前記変換工程で変換したデータを前記サーバ装置に送信する送信工程とを実行し、
前記サーバ装置が、
前記クライアント装置から転送されたデータを受信する受信工程と、
前記受信工程で受信したデータを前記サーバ装置のメモリ空間に展開する展開工程とを実行することを特徴とするデータ転送方法。
【請求項１３】
ネットワークを介してクライアント装置とサーバ装置とが接続され、前記サーバ装置が少なくとも一部の画面情報をクライアント装置に転送し、前記クライアント装置が転送された画面情報を画面上に共有エリアとして表示し、前記共有エリアに対して発生した入力イベント情報を前記サーバ装置に転送し、前記サーバ装置が転送された入力イベント情報を再生することにより、前記クライアント装置から前記サーバ装置のリモート操作を行う画面共有システムのデータ転送方法であって、
前記クライアント装置が、
前記サーバ装置の画面を表示する共有エリアから他のサーバ装置の画面を表示する他の共有エリアへのデータ転送の指示を検出する検出工程と、
前記サーバ装置に他のサーバ装置へのデータ転送を要求する工程とを実行し、
前記サーバ装置が、
前記クライアントからデータ転送の要求を受信すると、表示対象となるコンテンツのデータ、及び該コンテンツの種類、大きさ、位置の何れかを少なくとも含むＵＩデータ、の何れを転送するかを判定する判定工程と、
前記サーバ装置のメモリ空間にある転送すべきデータを転送可能な状態に変換する変換工程と、
前記変換工程で変換したデータを他のサーバ装置に送信する送信工程と、
前記判定工程でコンテンツのデータの転送と判定した場合に、前記他のサーバ装置に対してデータ転送を要求する工程とを実行し、
他のサーバ装置が、
前記サーバ装置から転送されたデータを受信する受信工程と、
前記受信工程で受信したデータを他のサーバ装置のメモリ空間に展開する展開工程とを実行することを特徴とするデータ転送方法。
【請求項１４】
コンピュータに、請求項１１乃至１３の何れか１項に記載のデータ転送方法の各工程を実行させるためのプログラム。
【請求項１５】
請求項１４に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の情報処理装置の間で画面を共有する画面共有システム及びデータ転送方法に関する。
【背景技術】
【０００２】
近年、様々な場面において、複数の情報処理装置で画面を共有する画面共有システムが利用されている。この画面共有システムは、以下のような場合に利用されている。
・遠隔地にある情報処理装置を遠隔操作する場合
・会議において、会議室に持ち込んだノートパソコンなどの情報処理装置の画面をネットワークを介して会議室に設置された大型ディスプレイに表示する場合
また、複数の情報処理装置での画面共有に加えて、ユーザがクライアント情報処理装置の共有画面に対して操作を行うことで、異なる情報処理装置のメモリ空間の間でファイルを転送するものもある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１７２１９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の画面共有システムでは、共有画面をまたぐ操作を行う度にデータ転送が発生する、という問題が存在する。
【０００５】
この問題により、ユーザがデータサイズの大きな画像や映像を転送する操作を行う場合、操作のもたつきを感じていた。
【０００６】
本発明は、画面共有システムが操作のために使用するＵＩデータの転送と、実データの転送とを分離することで、ユーザの共有画面操作に対する操作感を改善することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、ネットワークを介してクライアント装置とサーバ装置とが接続され、前記サーバ装置が少なくとも一部の画面情報をクライアント装置に転送し、前記クライアント装置が転送された画面情報を画面上に共有エリアとして表示し、前記共有エリアに対して発生した入力イベント情報を前記サーバ装置に転送し、前記サーバ装置が転送された入力イベント情報を再生することにより、前記クライアント装置から前記サーバ装置のリモート操作を行う画面共有システムであって、
前記クライアント装置は、
前記共有エリアからのデータ転送の指示を検出する検出手段と、
前記サーバ装置にデータ転送を要求する要求手段と、
前記サーバ装置から転送されたデータを受信する受信手段と、
前記受信手段で受信したデータをクライアント装置のメモリ空間に展開する展開手段とを備え、
前記サーバ装置は、
前記クライアント装置からデータ転送の要求を受信すると、表示対象となるコンテンツのデータ、及び該コンテンツの種類、大きさ、位置の何れかを少なくとも含むＵＩデータ、の何れを転送するかを判定する判定手段と、
前記サーバ装置のメモリ空間にある転送すべきデータを転送可能な状態に変換する変換手段と、
前記変換手段で変換したデータを前記クライアント装置に送信する送信手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、画面共有システムが操作のために使用するＵＩデータの転送と、実データの転送とを分離することで、ユーザの共有画面操作に対する操作感を改善することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態による画面共有システムのネットワーク構成を示す図である。
【図２】本実施形態による画面共有システムを構成するクライアント情報処理装置及びサーバ情報処理装置のハードウェア構成を示す概略図である。
【図３】本実施形態による情報処理装置の機能構成を示す概略図である。
【図４】クライアント情報処理装置１０１でのデータ転送処理を示すフローチャートである。
【図５】画面共有機能により画面共有されたクライアント情報処理装置１０１の表示例を示す図である。
【図６】画面共有アプリケーションプログラム２２２が管理する操作画面管理テーブルを示す図である。
【図７】サーバ情報処理装置１０２、１０３でのデータ転送処理を示すフローチャートである。
【図８】図７のステップＳ７０４及びステップＳ７０７での転送データ変換処理の詳細を示すフローチャートである。
【図９】クライアント情報処理装置１０１とサーバ情報処理装置１０２、１０３の画面表示例を示す図である。
【図１０】階層的な画面共有システムを実現する一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【００１１】
図１は、本実施形態による画面共有システムのネットワーク構成を示す図である。図１に示すように、画面共有システムは、それぞれ通信機能を備えている、クライアント情報処理装置１０１、サーバ情報処理装置１０２、サーバ情報処理装置１０３がネットワーク１１１に接続されているシステムである。
【００１２】
図２は、本実施形態による画面共有システムを構成するクライアント情報処理装置及びサーバ情報処理装置のハードウェア構成を示す概略図である。尚、クライアント情報処理装置及びサーバ情報処理装置は共にパーソナルコンピュータなどのコンピュータシステムによって実現されるので、図２では情報処理装置２０１として説明する。
【００１３】
情報処理装置２０１は、装置全体の制御を司るＣＰＵ２１１、ブートプログラムや固定的なデータなどを記憶しているＲＯＭ２１２、メインメモリとして機能すると共にＣＰＵ２１１のワークエリアを提供するＲＡＭ２１３を備える。更に、情報処理装置２０１は、以下の構成を備える。
【００１４】
ＨＤＤ２１４はハードディスク装置であり、オペレーティングシステム（ＯＳ）２２１、画面共有アプリケーションプログラム２２２、文書編集アプリケーションプログラム２２３などを格納している。ＶＲＡＭ２１５は表示しようとするイメージデータを展開するメモリであり、イメージデータなどを展開することで表示装置の一例であるディスプレイ２３１に表示させる。
【００１５】
入力装置としてのキーボード２３２、マウス２３３、デジタイザ２３４は、キーボードコントローラ２１６、マウスコントローラ２１７、デジタイザコントローラ２１８にそれぞれ接続され、入力はＣＰＵ２１１に割込み信号として検出される。また、ネットワークインタフェース（Ｉ／Ｆ）２１９も設けられ、ネットワーク１１１に接続可能である。
【００１６】
以上の構成において、画面共有アプリケーションプログラム２２２及び文書編集アプリケーションプログラム２２３はキーボード２３２、マウス２３３、デジタイザ２３４からの特定の指示イベントに応じて起動される。この起動の際に、画面共有アプリケーションプログラム２２２及び文書編集アプリケーションプログラム２２３は、まずＲＡＭ２１３にロードされ、ＣＰＵ２１１によって実行される。
【００１７】
尚、上述の画面共有アプリケーションプログラム２２２は、ＯＳ２２１に依存して連動するものでも良い。また、画面共有アプリケーションプログラム２２２は、後述する画面共有機能を実現するものである。
【００１８】
図３は、本実施形態による情報処理装置の機能構成を示す概略図である。図３において、３０１は図２に示す情報処理装置２０１に相当する。３０２は図２に示すディスプレイ２３１に相当する表示装置である。３０３は図２に示すキーボード２３２、マウス２３３、デジタイザ２３４に相当する入力装置である。
【００１９】
情報処理装置３０１には、通信部３１１、データ制御部３１２、データ記憶部３１３、出力部３１４、入力部３１５が含まれる。通信部３１１はネットワーク１１１と接続し、他の情報処理装置などとデータを授受するための情報通信制御処理を行う。データ制御部３１２は画面共有やデータ転送などの処理を制御する。データ記憶部３１３は画面共有やデータ転送などで授受されるデータを記憶する。
【００２０】
出力部３１４は表示画面情報を液晶ディスプレイ、リアプロジェクションディスプレイなどに出力する。入力部３１５は入力装置３０３が検出した情報を入力し、データ制御部３１２に伝達する。
【００２１】
次に、本実施形態による画面共有システムでのデータ転送について図４〜図９を用いて説明する。まず、クライアント情報処理装置１０１におけるデータ転送を、図４を用いて説明する。クライアント情報処理装置１０１の共有画面とローカル画面に対するドラッグ操作（ドラッグ＆ドロップ）によるデータ転送を例にとって説明する。
【００２２】
ここでローカル画面とは、画面共有機能を使わずに、ローカル環境を表示している画面である。また、ドラッグ操作以外に、共有画面に対するクリップボードによるコピー指示＆貼りつけ指示や転送指示によりデータ転送を行った場合も含まれることは言うまでもない。共有画面に対するコピー指示＆貼りつけ指示や転送指示としては、以下のような場合である。
【００２３】
ファイルやアプリケーションに含まれるオブジェクトなどを選択し表示されたメニューを使って指示する場合、或いはファイルやアプリケーションに含まれるオブジェクトなどをダブルクリックすることで指示する場合などである。
【００２４】
図４は、クライアント情報処理装置１０１でのデータ転送処理を示すフローチャートである。まず、サーバ情報処理装置１０２、１０３とクライアント情報処理装置１０１とで画面共有機能が開始されており、クライアント情報処理装置１０１はサーバ情報処理装置１０２、１０３と画面共有している。この時点におけるクライアント情報処理装置１０１の表示例を図５に示す。
【００２５】
図５において、５０１はクライアント情報処理装置１０１の表示画面例であり、５０２はサーバ情報処理装置１０２の表示画面例であり、５０３はサーバ情報処理装置１０３の表示画面例である。ここで、クライアント情報処理装置１０１の表示画面例５０１を説明すると、５１１はクライアント情報処理装置１０１で起動した文書編集アプリケーションプログラム２２３の表示例である。
【００２６】
また、５１２はクライアント情報処理装置１０１で起動した画面共有アプリケーションプログラム２２２の表示例（サーバ情報処理装置１０２の表示画面５０２を画面共有機能によりクライアント情報処理装置１０１に表示している）である。
【００２７】
更に、５１３はクライアント情報処理装置１０１で起動した画面共有アプリケーションプログラム２２２の表示例（サーバ情報処理装置１０３の表示画面５０３を画面共有機能によりクライアント情報処理装置１０１に表示している）である。
【００２８】
次に、クライアント情報処理装置１０１のデータ制御部３１２は、ステップＳ４０１で、マウス２３３やデジタイザ２３４などの入力装置３０３から入力部３１５を介して入力された座標情報を取得し、データ記憶部３１３に記憶する。次に、ステップＳ４０２で、クライアント情報処理装置１０１のデータ制御部３１２はデータ記憶部３１３に記憶した座標情報を元に、操作対象の情報処理装置Ａｎを決定する。尚、Ａｎは、現在の操作対象装置を表している。
【００２９】
図６は、画面共有アプリケーションプログラム２２２が管理する操作画面管理テーブルを示す図である。この操作画面管理テーブルはデータ記憶部３１３に記憶されている。
【００３０】
ステップＳ４０２では、ステップＳ４０１でデータ記憶部３１３に記憶した座標情報を元に、操作画面管理テーブルから操作対象の情報処理装置を決定する。このとき、クライアント情報処理装置１０１のデータ制御部３１２は、操作画面管理テーブルに含まれない領域については“操作対象はクライアント情報処理装置１０１である”と判定する。
【００３１】
次に、ステップＳ４０３で、クライアント情報処理装置１０１のデータ制御部３１２は、ステップＳ４０２で決定した操作対象の情報処理装置Ａｎが操作対象装置フラグの情報処理装置Ａｐと同じであるか否かを判定する。尚、Ａｐは、操作対象装置フラグを表し、後述するステップＳ４０６で設定され、データ記憶部３１３に記憶されている。
【００３２】
ステップＳ４０３で判定した結果、同じである場合はステップＳ４０７へ進み、異なる場合はステップＳ４０４へ進む。このステップＳ４０４では、クライアント情報処理装置１０１のデータ制御部３１２は、データ記憶部３１３に記憶している操作対象装置フラグの情報処理装置Ａｐで設定されている情報処理装置に転送データを要求する。
【００３３】
ここで、転送データとは、操作中の状態を示すＵＩデータと文字通り“転送するデータ”を指す実データのことである。ＵＩデータには、操作後に提供される実データの種類や大きさ、位置などが含まれる。実データには、ファイルデータや任意のアプリケーションプログラムに含まれる画像データ、動画データ、テキストデータ、オブジェクトデータなどが含まれる。これら実データのサイズは大きく、転送に時間がかかるため、実データと比べて小さなＵＩデータを転送して操作中の状態を示すことに利用する。
【００３４】
情報処理装置Ａｐは後述する図７に示すアルゴリズムに従ってＵＩデータ又は実データを転送データとしてクライアント情報処理装置１０１に提供する。
【００３５】
上述のステップＳ４０４で、操作対象装置フラグの情報処理装置Ａｐがローカルである場合には、クライアント情報処理装置１０１のデータ制御部３１２はデータ記憶部３１３に記憶されている転送データを取得する。
【００３６】
次に、ステップＳ４０５で、クライアント情報処理装置１０１のデータ制御部３１２は、操作対象の情報処理装置Ａｎへ転送データを送信する。このステップＳ４０５で、操作対象の情報処理装置Ａｎがローカルである場合には、クライアント情報処理装置１０１のデータ制御部３１２はステップＳ４０４で取得したデータを展開して、転送データとしてデータ記憶部３１３に記憶する。
【００３７】
上述したステップＳ４０４、Ｓ４０５により、転送データが情報処理装置Ａｎのメモリ空間から操作対象装置フラグの情報処理装置Ａｐのメモリ空間に渡される。
【００３８】
次に、ステップＳ４０６で、クライアント情報処理装置１０１のデータ制御部３１２は、操作対象装置フラグの情報処理装置Ａｐに操作対象の情報処理装置Ａｎを設定し、データ記憶部３１３に記憶する。
【００３９】
次に、ステップＳ４０７で、クライアント情報処理装置１０１のデータ制御部３１２は、データ記憶部３１３に記憶している操作対象情報処理装置Ａｎがローカル（この場合、クライアント情報処理装置１０１である）であるか否かを判定する。操作対象の情報処理装置Ａｎがローカルである場合はステップＳ４０９へ進み、操作対象の情報処理装置Ａｎがローカルでない場合はステップＳ４０８へ進む。
【００４０】
このステップＳ４０８では、クライアント情報処理装置１０１のデータ制御部３１２は、ステップＳ４０１でデータ記憶部３１３に記憶した入力情報を操作対象の情報処理装置Ａｎに送信して、ステップＳ４０１に戻る。
【００４１】
一方、ステップＳ４０９では、クライアント情報処理装置１０１のデータ制御部３１２は、ローカルの操作を継続する。次に、ステップＳ４１０で、クライアント情報処理装置１０１のデータ制御部３１２は、ユーザが操作を終了するか否か判定する。ここで、操作を終了する場合はこの処理を終了する。また、操作を終了しない場合はステップＳ４０１に戻る。
【００４２】
尚、ステップＳ４０４、Ｓ４０５で転送データを要求、送信した後、ユーザがドロップ操作やペースト操作を行うと、転送データが操作対象のアプリケーションやファイルシステムなどに渡される。即ち、ユーザが画面共有アプリケーションプログラム２２２の表示画面に対してドロップ操作や貼り付け操作を行うと、転送データはサーバ情報処理装置で起動している任意のアプリケーションやファイルシステムなどに渡される。ここで、表示画面は、サーバ情報処理装置の表示画面を画面共有機能によりクライアント情報処理装置に表示したものである。
【００４３】
上述した処理により、図５に示す「Ａ」、「Ｂ」、「Ｃ」のデータ転送が実現される。ここで、「Ａ」、「Ｂ」、「Ｃ］は以下のようなデータ転送である。
「Ａ」：クライアント情報処理装置１０１のメモリ空間からサーバ情報処理装置１０３のメモリ空間へのデータ転送
「Ｂ」：サーバ情報処理装置１０３のメモリ空間からクライアント情報処理装置１０１のメモリ空間へのデータ転送
「Ｃ」：サーバ情報処理装置１０３のメモリ空間からサーバ情報処理装置１０２のメモリ空間へのデータ転送
尚、本実施形態では、「Ｂ」のデータ転送を具体例として説明しているが、操作対象の情報処理装置Ａｎ及び操作対象装置フラグの情報処理装置Ａｐを、「Ａ」や「Ｃ」に対応する情報処理装置に読み替えることができる。
【００４４】
次に、サーバ情報処理装置１０２、１０３におけるデータ転送を、図７、図８を用いて説明する。
【００４５】
図７は、サーバ情報処理装置１０２、１０３でのデータ転送処理を示すフローチャートである。まず、ステップＳ７０１で、サーバ情報処理装置１０２、１０３のデータ制御部３１２は、クライアント情報処理装置１０１から送信されたデータを受信し、データ記憶部３１３に記憶する。このデータ受信処理は、図４に示すステップＳ４０４、Ｓ４０５、Ｓ４０８でクライアント情報処理装置１０１が行ったサーバ情報処理装置１０２、１０３へのデータ送信に対応する処理である。
【００４６】
次に、ステップＳ７０２で、サーバ情報処理装置１０２、１０３のデータ制御部３１２は、ステップＳ７０１で受信したデータを解析し、転送データが要求されているか否かを判定する。判定の結果、転送データが要求されている場合は、ステップＳ７０３へ進み、転送データが要求されていない場合は、ステップＳ７１０へ進む。
【００４７】
ステップＳ７０３では、操作状態がドラッグ中であるか否かを判定する。判定の結果、ドラッグ中である場合は、ステップＳ７０４へ進み、ドラッグ中でない場合は、ステップＳ０６へ進む。このステップＳ７０４では、サーバ情報処理装置１０２、１０３のデータ制御部３１２は、転送データ取得処理で取得したＵＩデータを転送可能な状態に変換する。この処理は図８を用いて更に後述する
次に、ステップＳ７０５で、サーバ情報処理装置１０２、１０３のデータ制御部３１２は、ステップＳ７０４で変換されたＵＩデータを要求された転送先に送信し、ステップＳ７０１に戻る。ステップＳ７０６では、操作対象装置フラグＡｐがローカルであるか否かを判定する。判定の結果、操作対象装置フラグＡｐがローカルである場合は、ステップＳ７０７で転送データ取得処理を実施して実データを転送可能な状態に変換する。ステップＳ７０８で実データを要求された転送先に送信し、ステップＳ７０１に戻る。
【００４８】
操作対象装置フラグＡｐがローカルではない場合は、ステップＳ７０９で操作対象装置に対して実データを要求された転送先に送信するよう転送データの要求を行い、ステップＳ７０１に戻る。このステップＳ７０９により、実データは遠隔操作の被操作端末から操作端末に対して最短経路で転送される。
【００４９】
一方、ステップＳ７１０で、サーバ情報処理装置１０２、１０３のデータ制御部３１２は、ステップＳ７０１でデータ記憶部３１３に記憶したデータがＵＩデータであるか否かを判定する。判定の結果、データがＵＩデータである場合は、ステップＳ７１１へ進み、データがＵＩデータでない場合は、ステップＳ７１２へ進む。
【００５０】
ステップＳ７１１では、サーバ情報処理装置１０２、１０３のデータ制御部３１２は、ステップＳ７０１でデータ記憶部３１３に記憶したデータを展開し、ＵＩデータとしてデータ記憶部３１３に記憶し、ステップＳ７０１に戻る。ステップＳ７１２では、サーバ情報処理装置１０２、１０３のデータ制御部３１２は、ステップＳ７０１でデータ記憶部３１３に記憶したデータが実データであるか否かを判定する。判定の結果、データが実データである場合は、ステップＳ７１３へ進み、データが実データでない場合は、ステップＳ７１４へ進む。
【００５１】
ステップＳ７１３では、サーバ情報処理装置１０２、１０３のデータ制御部３１２は、ステップＳ７０１でデータ記憶部３１３に記憶したデータを展開し、実データとしてデータ記憶部３１３に記憶し、ステップＳ７０１に戻る。
【００５２】
一方、ステップＳ７１４で、サーバ情報処理装置１０２、１０３のデータ制御部３１２は、ステップＳ７０１でデータ記憶部３１３に記憶したデータを使い、ローカル（サーバ情報処理装置）での操作として、ステップＳ４０２〜Ｓ４０９での処理を行う。例えば、ステップＳ７０１で、データ記憶部３１３に記憶したデータに基づいてローカルのマウスカーソルを移動させる。
【００５３】
次に、ステップＳ７１５で、サーバ情報処理装置１０２、１０３のデータ制御部３１２は、ユーザが操作を終了するか否かを判定する。ここで、操作を終了する場合は、処理を終了し、操作を終了しない場合は、ステップＳ７０１に戻る。
【００５４】
尚、本発明に係る画面共有システムのネットワーク構成は、上述したような構成だけでなく、以下のような構成でも良いことは言うまでもない。
・サーバ情報処理装置：複数台、クライアント情報処理装置：１台
・サーバ情報処理装置：１台、クライアント情報処理装置：１台
・サーバ情報処理装置：１台、クライアント情報処理装置：複数台
・サーバ情報処理装置：複数台、クライアント情報処理装置：複数台
次に、図７に示すステップＳ７０４及びステップＳ７０７での転送データ取得処理を、図８を用いて説明する。ここでは、図９に示す「Ｃ］のように、サーバ情報処理装置１０３からサーバ情報処理装置１０２へのデータ転送を例に挙げて説明する。
【００５５】
図８は、図７のステップＳ７０４及びステップＳ７０７での転送データ変換処理の詳細を示すフローチャートである。図９は、クライアント情報処理装置１０１とサーバ情報処理装置１０２、１０３の画面表示例を示す図である。図９に示す５０１〜５２２は図５と同様である。
【００５６】
図９において、９０１はクライアント情報処理装置１０１のマウス２３３のカーソルである。ここで、操作対象装置フラグＡｐに設定されている情報処理装置はサーバ情報処理装置１０３、クライアント情報処理装置１０１のデータ制御部３１２が判定した操作対象の情報処理装置Ａｎはサーバ情報処理装置１０２である。９０２はサーバ情報処理装置１０３のマウス２３３のカーソルであり、図９に示す位置に存在する。
【００５７】
まず、ステップＳ８０１で、サーバ情報処理装置１０３のデータ制御部３１２は、図９に示すカーソル９０２の下にウィンドウ９１１を生成する。次に、ステップＳ８０２で、サーバ情報処理装置１０３のデータ制御部３１２は、マウスイベントを発生する。次に、ステップＳ８０３で、サーバ情報処理装置１０３のデータ制御部３１２は、ステップＳ８０２で発生したマウスイベントをウィンドウ９１１で処理する。この処理により、サーバ情報処理装置１０３のデータ記憶部３１３に記憶している転送データを取得する。そして、ステップＳ８０４で、サーバ情報処理装置１０３のデータ制御部３１２は、ステップＳ８０３で取得した転送データを転送可能な状態に変換し、この処理を終了する。
【００５８】
転送データとして取得するデータがＵＩデータであるか実データであるかは、ステップＳ７０３によって判定される。ステップＳ７０４では、実データを取得した後、実データの情報に基づいてＵＩデータを作成して転送データとする。一方、ステップＳ７０７では、実データを転送データとする。
【００５９】
図５及び図９は、クライアント情報処理装置１０１とサーバ情報処理装置１０２が異なる装置とした例である。図２及び図３に示したように、クライアント情報処理装置１０１とサーバ情報処理装置１０２の構成に違いは無い。
【００６０】
従って、図４に示したクライアント情報処理装置１０１でのデータ転送処理と、図７に示したサーバ情報処理装置１０２でのデータ転送処理の両方を備えることで、階層的な画面共有システムを実現することができる。
【００６１】
ここで、階層的な画面共有システムを実現する一例を図１０に示す。図１０において、１００１はクライアント情報処理装置１０１に対するサーバ情報処理装置１０２として機能すると共に、サーバ情報処理装置１０２に対するクライアント情報処理装置１０１として機能する。
【００６２】
このように、ネットワークを介してサーバの少なくとも一部の画面情報をクライアントに転送し、転送された画面情報をクライアントの画面上に共有エリアとして表示する。そして、クライアントで共有エリアに対して発生した入力イベント情報をサーバに転送し、転送された入力イベント情報をサーバの入力イベント情報として再生する。
【００６３】
従って、クライアントからサーバのリモート操作を行う画面共有システムで、ユーザがクライアント情報処理装置で共有画面に対して操作することにより、異なる情報処理装置のメモリ空間の間でデータを転送することができる。
【００６４】
尚、本実施形態では、異なる情報処理装置のメモリ空間の間で転送するデータとして、ファイルや任意のアプリケーションに含まれる画像データ、動画データ、テキストデータ、オブジェクトデータを取り上げた。しかし、本発明はそれ以外のデータも扱えることは言うまでもない。
【００６５】
［他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005519968.tif 000002
【図２】
0005519968.tif 000003
【図３】
0005519968.tif 000004
【図４】
0005519968.tif 000005
【図５】
0005519968.tif 000006
【図６】
0005519968.tif 000007
【図７】
0005519968.tif 000008
【図８】
0005519968.tif 000009
【図９】
0005519968.tif 000010
【図１０】
0005519968.tif 000011