JP4738805B2 - 画面共有システム、画面共有方法、画面共有プログラム - Google Patents

画面共有システム、画面共有方法、画面共有プログラム Download PDF

Info

Publication number
JP4738805B2
JP4738805B2 JP2004364633A JP2004364633A JP4738805B2 JP 4738805 B2 JP4738805 B2 JP 4738805B2 JP 2004364633 A JP2004364633 A JP 2004364633A JP 2004364633 A JP2004364633 A JP 2004364633A JP 4738805 B2 JP4738805 B2 JP 4738805B2
Authority
JP
Japan
Prior art keywords
screen
information processing
processing apparatus
shared
window
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
JP2004364633A
Other languages
English (en)
Other versions
JP2006172193A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004364633A priority Critical patent/JP4738805B2/ja
Priority to US11/301,021 priority patent/US20060136828A1/en
Publication of JP2006172193A publication Critical patent/JP2006172193A/ja
Application granted granted Critical
Publication of JP4738805B2 publication Critical patent/JP4738805B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Digital Computer Display Output (AREA)

Description

本発明は、複数の情報処理装置で画面を共有する画面共有システム、画面共有方法、画面共有プログラムに関する。
近年、複数のユーザー間でPC上のファイルを交換するだけではなく、会議の場等ではPCの画面を共有して、他人のPCの画面ながら議論を行うようになって来ている。
またネットワークの管理者は、管理している複数のPCにファイルをコピーしたり、遠隔操作でPCを操作する場面が増えてきている。また、個人でも複数のPCを同時に利用する場面も増えている。
そのため、他のPC上にあるデータを現在使っているPCに持ってきて利用するという場面が増えてきている。他のPC上にあるデータはネットワークを経由してファイルをコピーを行ったり、共有フォルダを作成して他のPCからもファイルにアクセス出来るようにすることにより取得することができる。また、他のPCをあたかもそのPCの前に座っているかのように遠隔操作できるソフトウェアも普及している。
このような複数のPC間で、ファイルを共有したり、画面を共有する技術として以下のようなものがある。
(A1)FTP(File Transfer Protocol)
(A2)Windows(登録商標)のファイル共有
(A3)SPANWorks(会議システム、http://www.spanworks.com/)
(A4)Pick−and−Drop(株式会社ソニーコンピュータサイエンス研究所、暦本純一氏、http://www.csl.sony.co.jp/person/rekimoto/pickdrop/)
(A5)特許文献1「ファイル転送方法、その装置及びファイル転送方法を記録した記録媒体」
また、画面共有の公知技術としては以下の技術がある。
(B1)Microsoft(登録商標) NetMeeting
(B2)Microsoft(登録商標) RemoteDesktop
(B3)VNC(Virtual Network Computing)
(B4)リモコン倶楽部スクールエディション(教育システム)
(B5)非特許文献1(http://www.iplab.is.tsukuba.ac.jp/~miuramo/comdesk/)
(B6)特開平7−336659「通信装置」
特開2000−148791号公報 特開平7−336659号公報 comDesk(Vol. 45 No. 1 情報処理学会論文誌Jan. 2004、「P2P 技術を適用した画面転送・遠隔操作システムの開発」)
まずA1は、GUI操作でFTPサーバーのディレクトリをブラウジングして、ファイル転送を行う機能を有するソフトも存在するが、目的のディレクトリに辿りつくまで時間が掛かることがある。
また、2つのFTPサーバーに同時接続可能で、FTPサーバー間でファイル転送を仲介する機能を有するようなFTPサーバー・FTPクライアントは存在しない。
一度、FTPクライアントでローカルにダウンロードして、そのファイルを他のFTPサーバーにアップロードする必要がある。
次にA2は、1つのPC(A)に2つの他のPC(B、C)の共有フォルダを開いて、PC(A)上でPC(B)の共有フォルダのファイルを、PC(C)の共有フォルダにドラッグ&ドロップで転送することが可能である。但し、目的のファイル、及び転送先のディレクトリは、PC(A)を操作して、共有フォルダを開いていく必要があり、2つのPCの所望の共有フォルダを開くまでに時間が掛かることがある。
A3は、1つのサーバーに複数のクライアントが接続する電子会議システム用のソフトウェアである。サーバー・クライアント間はもちろん、サーバーを介することによってクライアント同士でのファイル転送機能を有している。
しかし、ファイル本体を一旦サーバーに送信し、サーバーは受信完了後に、指定された他のクライアントに転送する。そのため、ファイル転送の実効速度が遅くなる。単純に倍掛かることになる。
A2のように、PC(A)の操作者が、PC(B)のファイルをPC(C)に転送するように指示する機能はPC(A)にはない。また、リモート操作する機能がないので、あくまでもクライアントPCを直接操作する必要がある。
A4は、2つのPC間のデータ転送を容易にするものである。PC(A)に表示されているファイル等のオブジェクトを、装置毎に固有のIDの付加された特殊な入力装置で指示することにより、PC(A)の識別子と、オブジェクトの識別子を取得する。
次に、特殊入力装置をPC(B)で指示すると、PC(B)の識別子が取得され、これらの識別子を管理するサーバー(ペン・マネージャー)によって、PC(A)に対して、取得したオブジェクトをPC(B)に送信するよう指示が出される。このような方法でファイル転送を行っている。
但し、この動作を実現するには特殊なハードウェアが必要なこと、ペン・マネージャーというサーバーが別途必要となり、かつ識別子の管理を行う必要がでて来るのが問題となっている。また、送信出来るデータが、ファイルやURLの文字列等限られている。
2つのPCをあたかも連続した1つのPCであるかのように扱う手段がない。
A5は、FTPを使いやすくするため、GUIによる画像データでブラウジングを可能にする。A2の例でいう、PC(A)を操作することによりPC(B)からPC(C)にファイルを転送することは出来ない。また、A1と同様に、目的のファイル、送信先ディレクトリを探すのに時間が掛かる。
以上のように、従来の技術では、会議の場のコミュニケーションのように、お互いにファイルの受け渡しを行う相手が近くにいても、送信側、受信側が自分のPCを操作して、送信ファイル、受信フォルダを簡単に指示出来ないという問題がある。
また上述したように、画面共有ソフトでは代表的なものとして、B1、B2、B3がある。
B2はGUIのドラッグ&ドロップ操作によるファイル転送も可能である。B1、及びB3の派生ソフトウェアの幾つかでも、ファイル転送が可能であるが、A2で説明したようなファイル転送は行うことが出来ない。
また、自分が見せたいアプリケーションの画面を見せる場合は、別途設定ダイアログを出して、ウィンドウを選択したりという手間が掛かる。
B5はB3にB2のようなD&Dによるファイル転送機能を追加したものである。具体的にはB3のVNCを利用した画面共有システムに、共有画面に対してファイルをドラッグ&ドロップすると、ファイルのパスを取得して、ドロップ先のPCのある固定ディレクトリに同名のファイルをファイル転送する機能を付加している。
B4のような教育用ソフトや、あるいはPC管理用ソフトでは、多数のPCの画面共有を行うもの、管理PCから被管理PCへファイルの一斉転送やファイルの一斉回収を行う機能を持つものも存在する。
しかし、被管理PCのウィンドウ間でファイル転送するものはない。また、ファイルを転送するだけで、転送したファイルを所望のアプリケーションで直ぐに開くことが出来ないという問題がある。
B6は、共有画面にアイコンをドラッグ&ドロップすることにより、ファイルを自動的に展開して、その内容を共有画面で開いているファイルに貼り付けることにより、わざわざファイルをローカルで開いて、表示内容を選択して、共有画面上のファイルに貼り付ける手間を省くという発明であるが、展開したデータが共有画面上のファイルに貼り付けられるアプリケーションは限定される。
また、ローカルで展開されて、内容を共有画面に貼り付けるのではなく、共有画面のどこにファイルをドロップしたかによって、ファイル転送を行ったり(例えば、デスクトップや、Explorerのようなファイラー上にドロップした場合)、画面共有を行っているPC上でアプリケーションで開いたり(例えば、アプリケーション実行プログラムもしくはそのショートカットのアイコン、もしくはアプリケーションのウィンドウ上にドロップした場合)等、実際のGUI操作と同等の操作を行う機能がない。
上述した現状の画面共有ソフトウェアの問題点を分析すると以下のようになる。画面共有を行うといっても、各PCはそれぞれ孤立しており、非連続的に画面の共有がなされる。つまり、日常の実世界のように、相手に資料を物理的に近づけて見せる、あるいは一部分のみを見せるようなことが出来ない。あるいは、その資料が相手が見たいものであった場合、相手側からもっと近づけて全体を見るというような動作を行うことが出来ない。
ファイル転送を例に取ると、相手が差し出してきた箱に、書類を入れて返すような実世界での簡単な作業が、PCの世界では、FTPで接続して、送信したいファイルを自分のPCのディレクトリをブラウズして探して、次にFTPサーバー上の送信先のディレクトリを探して、ファイルの転送を指示するという面倒な方法になる。
あるいは、B2のようなドラッグ&ドロップでファイル転送が可能な画面共有ソフトを用いても、ファイルやフォルダを探している余計な動作や、見られたくないアプリケーションのウィンドウを見られてしまったり、上述のように、ある1つのアプリケーションウィンドウのみを共有したい場合も、GUIが優れていていないため、設定に時間が掛かってしまうなどの問題がある。
それは、PC上では実世界と違って、各PCの表示装置毎に空間が分断されているためであり、画面共有においても、実世界の動作に近い空間的連続性が実現されていない。つまり、自分のPCと共有したいPCとをあたかも1つのPCの画面のようにつながって見せるような仕組みがないため、ユーザーインタフェースとしては不自然なものになっている。
本発明は、このような問題点に鑑み、実世界の動作に近い空間的連続性をもつユーザーインタフェースを有する画面共有システム、画面共有方法、画面共有プログラムを提供することを目的とする。
上記課題を解決するために、本発明は、他の情報処理装置に共有画面を提供するサーバー機能を有するサーバー情報処理装置と、該サーバー情報処理装置のクライアントとなるクライアント機能を有するクライアント情報処理装置とを含む画面共有システムであって、前記サーバー機能は、前記共有画面に用いられる仮想画面を生成する仮想画面生成手段と、前記仮想画面に表示される共有画面を取得する共有画面取得手段と、前記共有画面取得手段が取得した共有画面を前記クライアント情報処理装置に送信する共有画面送信手段とを有し、前記クライアント機能は、前記共有画面を受信する共有画面受信手段と、前記受信した共有画面を、共有画面を表示するための共有画面表示領域に表示する共有画面表示手段とを有することを特徴とする。
また、上記課題を解決するために、本発明は、前記サーバー機能は、前記仮想画面に表示された共有画面の表示を解除する解除手段を有し、前記解除手段により表示を解除すると、通常の画面に前記共有画面が表示されることを特徴とする。
また、上記課題を解決するために、本発明は、前記解除手段は、前記共有画面全体が前記仮想画面内に含まれたときに動作することを特徴とする。
また、上記課題を解決するために、本発明は、前記クライアント機能は、前記共有画面表示領域に表示された共有画面の表示を解除する解除手段を有し、前記解除手段により表示を解除すると、通常の画面に前記共有画面が表示されることを特徴とする。
また、上記課題を解決するために、本発明は、前記解除手段は、前記共有画面全体が前記共有画面表示領域内に含まれたときに動作することを特徴とする。
また、上記課題を解決するために、本発明は、前記クライアント機能は、前記共有画面表示領域に対する入力情報を取得する入力情報取得手段と、前記サーバー情報処理装置に送信する入力情報送信手段をさらに有し、前記サーバー機能は、前記入力情報を受信する入力情報受信手段と、入力情報を前記仮想画面に反映させるための入力情報発生手段とを有することを特徴とする。
また、上記課題を解決するために、本発明は、前記サーバー機能は、複数のクライアント情報処理装置と画面の共有が可能であることを特徴とする。
また、上記課題を解決するために、本発明は、前記サーバー機能は、複数のクライアント情報処理装置のうちのいずれかと画面を共有するかを選択する選択手段を有することを特徴とする。
また、上記課題を解決するために、本発明は、前記クライアント情報処理装置は、複数のクライアント機能を起動することで、前記各クライアント機能により複数のサーバー情報処理装置と画面の共有が可能であることを特徴とする。
また、上記課題を解決するために、本発明は、前記サーバー機能またはクライアント機能は、ドラッグアンドドロップを検出するドラッグアンドドロップ検出手段を有することを特徴とする。
また、上記課題を解決するために、本発明は、前記クライアント情報処理装置が、2つ以上のサーバー情報処理装置と画面を共有し、一のサーバー情報処理装置の共有画面に表示されたファイル識別子が、他のサーバー情報処理装置の共有画面にドラッグアンドドロップされたことを検出すると、前記ファイル識別子が示すファイルが、それらのサーバー情報処理装置同士で直接転送されることを特徴とする。
また、上記課題を解決するために、本発明は、複数の情報処理装置間で画面を共有する画面共有方法であって、共有画面に用いられる仮想画面を生成する仮想画面生成段階と、前記仮想画面に表示される共有画面を取得する共有画面取得段階と、前記共有画面取得段階で取得した共有画面を他の情報処理装置に送信する共有画面送信段階とを有することを特徴とする。
また、上記課題を解決するために、本発明は、前記共有画面を受信する共有画面受信段階と、前記受信した共有画面を表示する共有画面表示段階とを有することを特徴とする。
また、上記課題を解決するために、本発明は、前記共有画面の移動またはサイズの変更を判断する共有画面移動変更判断段階と、移動または変更と判断された場合、前記共有画面に関する情報を取得する共有画面情報取得段階と、前記共有画面情報を送信する共有画面情報送信段階とを有することを特徴とする。
また、上記課題を解決するために、本発明は、前記共有画面情報を受信する共有画面情報受信段階と、前記共有画面情報に基づき、表示する共有画面を同期させる共有画面同期段階とを有することを特徴とする。
また、上記課題を解決するために、本発明は、前記共有画面全体が前記仮想画面に含まれたかどうか判断する完全共有判断段階と、前記前記共有画面全体が前記仮想画面に含まれたと判断されると、前記共有画面を通常の画面に表示する通常画面表示段階とを有することを特徴とする。
以上説明したように、本発明は、実世界の動作に近い空間的連続性をもつユーザーインタフェースを有する画面共有システムを提供することができる。
以下、図面を参照し、本発明の実施形態について説明する。本実施の形態では、既に説明した符号についての説明は省略する。また、以下の実施例で動作するプログラムは、マイクロソフト(登録商標)が提供するライブラリを用いたものを前提としているが、他のOSでも作成並びに実行が可能である。
まず最初に、情報処理装置のハードウェア構成について、図1を用いて説明する。
図1に示されるように、情報処理装置のハードウェア構成は、それぞれバスBで相互に接続されている入力装置22と,表示装置23と,ドライブ装置24と,記録媒体25と,補助記憶装置26と,メモリ装置27と,演算処理装置20と,インタフェース装置21とを含む。
入力装置22は、キーボード及びマウスなどで構成され、情報処理装置に各種操作信号を入力するために用いられる。表示装置23は、情報処理装置を操作するのに必要な各種ウィンドウやデータ等を表示する。インタフェース装置21は、情報処理装置をネットワークに接続する為のインタフェースや他の機器を接続するためのインタフェースであり、例えばNIC(Network Interface Card)やモデム、USB(Universal Serial Bus)等で構成される。
そして、上記情報処理装置を動作させるためのプログラムは、CD−ROM等の記録媒体25によって提供されるか、ネットワークを通じてダウンロードされる。また、記録媒体25は、ドライブ装置24にセットされ、データやプログラムが記録媒体25からドライブ装置24を介して補助記憶装置26にインストールされる。
補助記憶装置26は、データやプログラムを格納されると共に、必要なファイル等を格納する。メモリ装置27は、情報処理装置の起動時に補助記憶装置26からプログラムを読み出して格納する。演算処理装置20は、メモリ装置27に読み出され格納されたプログラムに従って処理を実行する。
次に、図2を用いてファイル転送機能を持つ画面共有システムの基本的なシステム構成を説明する。図2には、情報処理装置A601と、情報処理装置B602と、それらを接続するネットワーク100とが示されている。情報処理装置B602は、画面共有サーバーであり、情報処理装置A601は、画面共有クライアントである。
画面共有サーバーが、画面を提供する側、つまり画面共有クライアントから操作される側であり、画面共有クライアントが、画面共有サーバーの画面を表示しながら遠隔操作する側である。
また、画面共有サーバーと画面共有クライアントは、図に示されるように、それぞれ別の情報処理装置上で起動するプログラムである。
次に、各情報処理装置のソフトウェア構成について説明する。まず情報処理装置B602から説明する。情報処理装置B602は、画面共有サーバー102と、ネットワークインタフェース109とで構成される。ネットワークインタフェース109は、図1で説明したインタフェース装置のドライバなどである。
画面共有サーバー102について説明する。画面共有サーバー102は、画面データ取得部103と、画面データ送信部104と、入力イベント発生部105と、入力イベント受信部106と、ファイル送受信部107と、プログラムメイン部108とで構成される。
プログラムメイン部108は、画面共有サーバー102のメインプログラムである。画面データ取得部103は、情報処理装置B602が表示している画面の一部または全体の画面データを取得する。その画面データは必要に応じて圧縮されたのち、画面データ送信部104により送信され、情報処理装置A601の画面に表示される。
入力イベント受信部106は、情報処理装置A601で送信したイベントを受信する。入力イベント発生部105は、入力イベント受信部106が受信したイベントを、情報処理装置B602内で発生させる。ファイル受送信部107は、FTPサーバー機能を有するGUIファイル転送機能であり、ファイルの送受信を行うものである。
次に、情報処理装置A601について説明する。情報処理装置A601は、画面共有クライアント118と、ネットワークインタフェース111とで構成される。画面共有クライアント118は、画面データ受信部113と、画面データ表示部114と、入力イベント送信部115と、入力イベント取得部116と、ファイル受送信部117とで構成される。
画面データ受信部113は、情報処理装置B602からの画面データを受信する。画面データ表示部114は、受信した画面データを情報処理装置B602の画面上に表示する。入力イベント取得部116は、情報処理装置A601で発生したイベントを取得する。入力イベント送信部115は、入力イベント取得部116で取得したイベントを情報処理装置B602に送信する。ファイル受送信部107は、FTPクライアント機能を有するGUIファイル転送機能であり、ファイルの送受信を行うものである。
上述した構成により、画面共有クライアントの起動している情報処理装置A601からから画面共有サーバーの起動している情報処理装置B602を操作することが可能となる。
以上が一般的な画面共有システムの基本的な構成である。次に、図3を用いて上記基本的構成にドラッグ&ドロップ操作を可能とする機能を加えた画面共有システムのソフトウェア構成を説明し、その動作例を、図4を用いて説明する。
なお、ドラッグ&ドロップとは、画面上でマウスポインタがウィンドウの枠やファイルのアイコン(ファイル識別子)などに重なった状態でマウスのボタンを押し、そのままの状態でマウスを移動(ドラッグ)させ、別の場所でマウスのボタンを離す(ドロップ)ことをいう。
図3は、図2の構成にD&D検出部を加えたものである。図に示されるように、情報処理装置A601、情報処理装置B602のそれぞれに、D&D検出部121、120が加えられている。
D&D検出部121、120は、共有画面から、もしくは共有画面へのファイルのドラッグ&ドロップの処理を検出する機能である。
このD&D検出部により、図4に示す動作をユーザーが行うことが可能となる。図4には、情報処理装置A601の画面500と、情報処理装置A601のファイラー501と、情報処理装置B602の画面504と、情報処理装置B602のファイラー502と、ファイル503とが示されている。
ファイル503は、情報処理装置B602にあり、そのファイル503を、ファイラー502からファイラー501へドラッグ&ドロップすることで、情報処理装置B602のファイルを情報処理装置A601へ転送することができる。
具体的には、ユーザーが情報処理装置B602のファイルを選択し、マウスボタンを押しながら、ファイルを選択することでファイルをドラッグする。すると、情報処理装置B602の画面共有サーバーのD&D検出部では、ファイルのドラッグを検出する。
ファイルをドラッグした状態で、マウスを画面共有クライアントの外に移動すると、情報処理装置B602のD&D検出部はファイルをドラッグしたマウスが、画面共有クライアントの画面外に出たことを検出し、ドラッグされているファイルのパスを取得し、メモリに一時記憶する。
次に、マウスを情報処理装置上にドロップする。すると、画面共有サーバーのD&D検出部はファイルの転送宛先を取得する。
この処理を、図5のフローチャートを用いて説明する。ステップS101は、OSによるドロップ監視処理である。ステップS102でファイルがドロップされたかどうかが判断される。
ファイルがドロップされたと判断されると、ステップS103で、そのドロップ位置にあり、Zオーダーが最も上位にあるものが検出される。
ステップS104では、最も上位のものがウィンドウであるかどうか判断される。ウィンドウがない若しくは、最も上位のものがアプリケーションの場合、ステップS106で、デスクトップのディレクトリパスが取得される。
最も上位のものがファイラーの場合、ステップS105で、そのディレクトリパスが取得される。ステップS107で、取得されたパスは、送信先として一時記憶される。
このようにして、ディレクトリパスを取得した後、情報処理装置A601は情報処理装置B602にファイルの転送を要求し、取得したディレクトリパスを通知する。情報処理装置B602は、この要求を受信すると、メモリに一時記憶したファイルパスで指定されるファイルを、情報処理装置A601の指定されたディレクトリパスに対してファイル転送を開始する。
上記処理を、図6に示される情報処理装置A601、B間のシーケンス図を用いてさらに説明する。ステップS201で情報処理装置でのファイルドラッグがマウスイベントして情報処理装置B602に通知される。
そのマウスイベントから、情報処理装置B602はドラッグを検出する。情報処理装置A601で共有画面外に移動したことがマウスイベントとして情報処理装置B602に通知される。これにより、情報処理装置B602は、ドラッグ共有画面外にマウスが移動したことを検出する。そして、情報処理装置B602は、ファイルパスを取得する。
情報処理装置A601でマウスがドロップされ、ディレクトリパスが取得される。そして、情報処理装置A601は、ステップS203で、情報処理装置B602に送信先が指定されたファイル転送要求を行う。情報処理装置B602は、ステップS204で、ファイルの転送を開始する。
ファイルをドラッグ&ドロップで転送する他の例を、図7を用いて説明する。図7には、情報処理装置A601のファイル505を情報処理装置B602にドラッグ&ドロップする例が示されている。
ユーザーは、情報処理装置A601を操作して、送信したいファイル505をマウス操作で選択し、ドラッグする。マウスが画面共有クライアントの上に来ると、画面共有クライアントのD&D検出部は、ファイルがドラッグされたことを検出し、ドラッグされているファイルのファイルパスを取得し、メモリに一時記憶する。
次に、マウスを共有画面内でドロップすると、情報処理装置B602の画面共有サーバーのD&D検出部は、マウスのドロップを検出し、マウスをドロップした位置を調べ、その位置にファイラーが表示されている場合、そのディレクトリパスを取得する。
デスクトップやファイラー以外のアプリケーションウィンドウにドロップした場合、送信先をデスクトップとして、そのディレクトリパスを取得する。
ディレクトリパス取得後、情報処理装置B602にファイルの転送を要求し、取得したディレクトリパスを通知する。情報処理装置B602は、この要求を受信すると、メモリに一時記憶したファイルパスで指定されるファイルを、情報処理装置A601の指定されたディレクトリパスに対してファイル転送を開始する。
このときの処理を、図8のシーケンス図を用いて説明する。情報処理装置A601でのファイルドラッグが検出される。そして、共有画面内移動が、マウスイベントとしてステップS301で情報処理装置B602に通知される。
情報処理装置A601で、ドラッグ共有画面内移動が検出される。情報処理装置A601は、ファイルパスを取得する。そして、マウスドロップが検出されると、ステップS302で、情報処理装置B602にマウスイベントとして通知される。この通知により、情報処理装置B602はドロップを検出し、ディレクトリパスを取得し、ステップS303で送信先が指定されたファイル転送要求を行う。情報処理装置A601は、ステップS304で、ファイルの転送を開始する。
次に、図9を用いて、3台の情報処理装置の場合について説明する。図9には、新たに情報処理装置C603が追加されている。この情報処理装置C603は、図に示されるように、情報処理装置B602と同様の原理で動作する画面共有サーバー162が起動している。ネットワークI/F163も同様の動作を行う。
また、情報処理装置A601には、2つの画面共有クライアント118、152が起動している。画面共有クライアント152には、画面共有クライアント118と同様のモジュール群151を有する。
さらに、これら画面共有クライアント118、152には、新たにクライアント間通信部150が設けられる。このクライアント間通信部は、複数の画面共有クライアント間でデータのやり取りを行う機能を有する。
なお、画面共有クライアント118は、情報処理装置B602に接続され、画面共有クライアント152は、情報処理装置C603に接続されている。及びCの画面共有サーバーに接続しているとする。即ち、情報処理装置A601には、情報処理装置B602と情報処理装置C603の共有画面が表示されている。
このようにすることで、図10に示される動作が可能となる。図10には、既に説明した情報処理装置B602の画面と、情報処理装置C603の画面520と、ファイラー521とが示されている。
ユーザーは、情報処理装置B602のファイラー502に表示されているファイル503を、ファイラー521にドラッグ&ドロップすることで、ファイルを転送することができる。
このときの処理を、図11のシーケンス図を用いて説明する。図11に示されるシーケンス図は、情報処理装置A601、B602、C603間の処理を示すものである。
ユーザーが情報処理装置A601において、情報処理装置B602の共有画面を表示している画面共有クライアント1のウィンドウ上にマウスを移動し、情報処理装置B602のファイルを選択し、ドラッグする。
このドラッグは、ステップS401で、マウスイベントとして情報処理装置B602に通知される。これにより、情報処理装置B602はファイルのドラッグを検出する。ユーザーが、ファイルをドラッグしたままマウスを画面共有クライアント118の外に移動させると、ステップS402で、このことがマウスイベントとして通知される。これにより、情報処理装置B602はファイルをドラッグしたマウスが画面共有クライアント118の外に移動したことを検出し、そのファイルのファイルパスを取得する。
次に、情報処理装置A601のマウスを、ファイルをドラッグしたままの状態で、ユーザーは情報処理装置C603の共有画面を表示している画面共有クライアント152のウィンドウ上にマウスを移動させる。このことは、ステップS403で、画面共有クライアント152に通知され、クライアント152のウィンドウが、アクティブウィンドウとなり、マウスイベントを受け付けるようになる。
これにより、ステップS404に示されるように、マウスイベントが情報処理装置C603上で動作する画面共有サーバー2に送信されるようになる。それとともに、ステップS405で、画面共有クライアント118から画面共有クライアント152に対し、情報処理装置A601上のファイルをドラッグした状態であることが通知される。
画面共有クライアント152は、ドラッグしながらの共有画面内の移動を検出する。そのことがステップS406で、画面共有サーバー162にマウスイベントとして送信される。更にユーザーがマウスを操作して、画面共有クライアント152上でマウスボタンを放して、ファイルをドロップすると、ステップS407で、マウスイベントが画面共有サーバー2へ送信される。
画面共有サーバー162は、送信先ディレクトリパスを取得する。そして、ステップS408で、画面共有サーバー162は接続している画面共有クライアント152にそのディレクトリパスを送信する。画面共有クライアント152は、情報処理装置A601上にローカルにあるファイルでなく、画面共有サーバー1のファイルをドラッグ&ドロップしていることを、前述の(画面共有クライアント2の画面内にマウスを移動した時の)通知により、設定されているので、ステップS409で、画面共有クライアント118に、送信先ディレクトリパス、及び情報処理装置C603のネットワークアドレスを通知する。
すると、画面共有クライアント118は、画面共有サーバー102に対して、送信先である情報処理装置C603のネットワークアドレスと、送信先のディレクトリパスをステップS410で通知し、ファイルの送信を指示する。
この指示を受けた画面共有サーバー102は、最初ドラッグしたままマウスが画面共有クライアント118の画面の外に出たイベントを検出した時に取得した、ファイルパスで指定されたファイルを、情報処理装置C603の指定されたディレクトリに、ステップS411で送信を行う。この時、画面共有サーバー102は画面共有サーバー162に対して、ファイルは情報処理装置A601を仲介することなく、直接ファイルの転送を行う。
なお、ファイルのドラッグ&ドロップの検出は画面共有サーバー、画面共有クライアントのどちらが行っても、最終的に情報処理装置B602から情報処理装置C603への直接ファイル転送する機能が実現できればどちらでも良い。また、同様に順序を入れ替えても、前記機能が実現されるものは順序を問わない。
ファイルの転送先を図5のようなフローで決定したが、どこにファイルをドロップしてもデスクトップに転送されるようにしてもよい。または、C:¥Receivedのような特定の決まったフォルダに転送するようにしても良い。
情報処理装置B602から情報処理装置A601の一時フォルダにファイルを転送し、情報処理装置A601の一時フォルダから情報処理装置B602にファイルを転送し、ファイル転送完了後、情報処理装置A601の一時フォルダ上のファイルを削除するようにしてもよい。但し、転送に掛かる時間は増大する。情報処理装置B602と情報処理装置C603が直接通信出来ないことを検出した場合は、このように情報処理装置A601を仲介しているファイルを転送するようにしてもよい。
次に、図3で説明した構成に、新たな機能を付け加えた実施例について説明する。図12には、画面共有サーバーに、ウィンドウ管理部130と、仮想画面生成部131とが加えられ、画面共有クライアント118に、ウィンドウ制御部132が加えられた構成が示されている。
仮想画面生成部131は、実際の情報処理装置の表示装置に表示される実デスクトップ画面とは別に、仮想デスクトップ画面を生成する。つまり、仮想画面生成部131は、OSに対して、2台目の表示装置が接続されているように見せかける仮想ビデオドライバとして機能する。
ウィンドウ管理部130は、所定のウィンドウのウィンドウハンドルを取得し、ウィンドウハンドルを画面の識別子として記憶する。またウィンドウ制御部132は、共有画面が、共有画面サーバーの仮想デスクトップ画面上で表示されたのと同一の位置、大きさでウィンドウを表示する。
上記構成での画面を、図13を用いて説明する。図13には、情報処理装置B602と、情報処理装置A601とが示されている。また、図13に示される(*,*)は、座標を示している。
情報処理装置B602の画面を示すのが、画面530である。この画面530は、情報処理装置B602の画面全体である。ウィンドウ533は、この画面530に表示されている何らかのアプリケーションのウィンドウである。
画面530の右横に表示されている画面531は、仮想デスクトップ画面であり、この画面には、上記ウィンドウ533が画面531にもまたがり、ウィンドウ533のまたがった部分は、共有画面532となっている。この共有画面532が共有画面表示領域である。
一方、情報処理装置A601の画面535には、ウィンドウ533のまたがった部分が表示される。
すなわち、この構成によれば、あたかも隣の人の机の上に、自分の机の上の書類を移動するようなことがコンピュータで可能となる。
上記例では、情報処理装置B602の画面530の右端が境界となり仮想デスクトップがつながっている。
このように、図12に示された構成により、情報処理装置B602では仮想デスクトップ画面に表示されたウィンドウの画面のみを共有するよう動作する。一方、情報処理装置A601では、仮想デスクトップ画面に表示されたウィンドウが、サーバーの仮想デスクトップ画面に表示されているのと同一の位置、大きさで、共有画面として表示される。
また、情報処理装置A601と情報処理装置B602の表示画面の大きさが同一の場合、情報処理装置B602の仮想デスクトップ画面表示から仮想デスクトップの下地を除いた部分が、情報処理装置A601のデスクトップにぴったり重なりあうように表示される。
上記動作において、情報処理装置B602に搭載されている画面共有サーバー102の処理を、図14のフローチャートを用いて説明する。画面共有サーバーが起動すると、ステップS501で画面共有サーバーは仮想デスクトップ画面を生成し、ステップS502でクライアントの接続を待つ。クライアントが接続すると、画面共有サーバーは、ステップS503で仮想デスクップ上にウィンドウが表示されるのを監視する。ステップS504で、仮想デスクップ上にウィンドウが表示されると、そのことを検出し次のステップS505に進む。
ステップS505で、画面共有サーバー中のウィンドウ管理部が、そのウィンドウのウィンドウハンドルを取得し、ウィンドウハンドルを画面の識別子として、記憶しておく。そして、ステップS506で、そのウィンドウ領域の内、仮想デスクトップ画面に表示された領域の画面データを取得して、その画面データをステップS507で画面共有クライアントに送信する。尚、仮想デスクトップそのものの画面データはキャプチャしないものとする。そして、ステップS508で、新たな画面変化があるかを監視して、画面更新を検出した場合は、画面データを取得してクライアントに取得するという動作を繰り返す。
次に、図15を用いて、情報処理装置A601に搭載されている画面共有クライアント118の基本的な動作を説明する。画面共有クライアントは、画面共有サーバーに接続時、画面共有サーバーの仮想デスクトップ画面にウィンドウが表示されていない場合は、何も表示されない。ステップS601に示されるように、画面共有サーバーから画面データが来るのを待受ける状態になる。
画面共有サーバーの仮想デスクトップ画面にウィンドウが表示されると、画面共有サーバーが画面データを送信してくるので、画面共有クライアントはステップS602でこの画面データを受信する。画面共有クライアントは画面共有サーバーから受信した画面データを元に、ステップS603で画面共有クライアントの画面上に共有画面を表示する。この時、画面共有クライアントのウィンドウ制御部は、共有画面が、画面共有サーバーの仮想デスクトップ画面上で表示されたのと同一の位置、大きさでウィンドウを表示する。
以上の説明では、画面共有動作のうち、画面の表示を中心に説明した。次に、画面共有クライアント側即ち情報処理装置A601から共有画面を遠隔操作する場合の処理について説明する。遠隔操作として、ウィンドウの位置、大きさを変更した場合と、それ以外の操作の場合があるが、まずそれ以外の動作について説明する。
画面共有サーバーは画面共有クライアントから受信した入力イベントに従って、ローカルに入力イベントを発生させる。これにより、クライアントの起動している情報処理装置A601からサーバーの起動している情報処理装置B602を操作することが可能となっている。
情報処理装置A601が、情報処理装置B602と共有している共有画面に対して、ウィンドウの位置、大きさ以外の操作を行った場合は、従来の画面共有ソフトの場合と同様に動作する。即ち、クライアントの情報処理装置A601では、この共有画面がアクティブになっている状態で、マウス・キーボード等の入力装置からの入力イベントを取得すると、この入力データを画面共有サーバーに送信する。
次に、ウィンドウの位置、大きさを変更した場合の処理について説明する。
従来の画面共有ソフトでは、画面共有クライアントの表示位置や、ウィンドウの大きさを自由に移動出来るが、本実施の形態では、画面共有クライアントのウィンドウ制御部によって、ウィンドウの位置・大きさが制御される。
前述したように、情報処理装置A601と情報処理装置B602の表示画面の大きさ(つまり解像度)が同一の場合、情報処理装置B602の仮想デスクトップ画面表示から仮想デスクトップの下地を除いた部分が、情報処理装置A601のデスクトップにぴったり重なりあうように表示される。
情報処理装置A601、B602の画面解像度がSVGA(800×600ピクセル)として説明する。画面共有サーバーは、仮想デスクトップ画面の解像度を、情報処理装置B602の実デスクトップと同じくSVGAにする。
情報処理装置B602の実デスクトップ上に、アプリケーションAが起動していたとして、その画面サイズが600×400であるとする。
このような環境で、情報処理装置B602のユーザーが、情報処理装置B602を操作してアプリケーションのウィンドウをデスクトップ境界を横切って、仮想デスクトップ画面にも表示されるように移動したとする。
例えば、図13に示されるように、アプリケーションのウィンドウの半分が仮想デスクトップ画面に表示されたとする。その時、情報処理装置B602の実デスクトップは、画面左上を原点とした絶対座標で、
(500,100),(800,100),(500,500),(800,500)
の4点に囲まれる300×400の領域が表示され、残りの部分が仮想画面に表示されているとする。
仮想デスクトップ画面には、仮想デスクトップ画面の画面左上を原点とした絶対座標で、
(0,100),(300,100),(0,500),(300,500)
の4点に囲まれる300×400の領域が表示される。
よって、画面共有サーバーはこの後者の300×400の領域を画面共有する。情報処理装置A601の実デスクトップ画面には、情報処理装置B602の仮想デスクトップ画面と同様に、情報処理装置B602の画面左上を原点とした絶対座標で、
(0,100),(300,100),(0,500),(300,500)
の4点に囲まれる300×400の領域に共有画面が表示される。
図13の状態から、図16に示すように、プリケーションAのウィンドウを左側に100ピクセル移動させた場合の動作で説明する。つまり情報処理装置B602の実デスクトップは、画面左上を原点とした絶対座標で、
(600,100),(800,100),(600,500),(800,500)
の4点に囲まれる200×400領域が表示され、情報処理装置B602の仮想デスクトップ画面では、画面左上を原点とした絶対座標で、
(0,100),(400,100),(0,500),(400,500)
の4点に囲まれる400×400領域が表示される。
情報処理装置B602の実デスクトップは、画面左上を原点とした絶対座標で、
(500,100),(800,100),(500,500),(800,500)
の4点に囲まれる400×400領域に共有が表示される。
情報処理装置B602(画面共有サーバー)を操作してアプリケーションのウィンドウを移動させた場合の処理について図17のフローチャートを用いて説明する。
ステップS701で、画面共有サーバーは、入力イベントかどうか判断し、入力イベントがあると、ステップS702でウィンドウの移動/サイズ変更かどうか判断する。ウィンドウの移動/サイズ変更でない場合、ステップS705へ処理は進む。
ウィンドウの移動/サイズ変更の場合、ステップS703で、画面共有サーバーは、ウィンドウ領域情報を取得し、ステップS704でウィンドウ領域情報を送信し、ステップS705で入力イベントを送信し、ステップS701の処理に戻る。
一方、情報処理装置A601上では、画面共有クライアントのウィンドウ制御部の働きにより、共有画面が、画面共有サーバーの仮想デスクトップ画面上で表示されたのと同一の位置、大きさでウィンドウを表示(即ち、図12の場合、画面左上を原点とした絶対座標で、(500,100),(800,100),(500,500),(800,500)の4点に囲まれる400×400領域に表示)するよう制御しつつ、受信した画面データを表示する。
次に、情報処理装置A601を操作して、共有画面を移動させた場合の処理について図18のフローチャートを用いて説明する。
ステップS801で、入力イベントを受信したかどうかが判断され、入力イベントが受信されると、ステップS802で、ウィンドウの移動/サイズ変更かどうかが判断される。ウィンドウの移動/サイズ変更でない場合、ステップS807で、イベントが実行され、ステップS801に処理は戻る。
ウィンドウの移動/サイズ変更の場合、ステップS803で、ウィンドウ領域情報が取得され、ステップS804でイベントが実行される。
そして、ステップS805で、ウィンドウ領域が同期しているかどうか判断され、同期している場合、ステップS801の処理に戻る。同期していない場合、ステップS806で、ウィンドウ移動/サイズ変更が行われ、ステップS805に処理は戻る。
この処理において、画面共有クライアントのウィンドウ制御部は、情報処理装置B602上での共有画面ウィンドウの絶対座標による表示領域と、情報処理装置A601の仮想デスクトップ画面上でアプリケーションAの絶対座標による表示領域とが同期するよう、ウィンドウの表示領域に関する情報を送る。
図16の例で説明すると、画面左上を原点とした絶対座標で、(500,100),(800,100),(500,500),(800,500)の4点に囲まれる400×400領域に表示されていることを、画面共有サーバーに通知する。
これを受信した画面サーバーは、クライアントの指示した通りに仮想デスクトップ画面にアプリケーションのウィンドウが表示されるよう、ウィンドウを移動させる。
この動作により、画面共有クライアント・サーバーのどちらが共有しているアプリケーションのウィンドウを移動させても、情報処理装置A601の共有画面と、情報処理装置B602の仮想デスクトップに表示されているアプリケーションのウィンドウがぴったりと重ねあうように、絶対座標で同一の位置に同期して表示する仕組みを実現する。
なお、画面のサイズを変更した場合も、同様のフローで実現できる。
次に、共有したいアプリケーションのウィンドウ全体を、共有画面として共有する場合の動作を説明する。
情報処理装置B602において、情報処理装置B602を操作して、図15のように共有しているアプリケーションのウィンドウ533が完全に仮想デスクトップの画面531上に表示されるように移動した場合を例に説明する。
アプリケーションのウィンドウ533が完全に仮想デスクトップの画面531に移動してしまうと、情報処理装置B602からはマウス操作によってウィンドウ533を移動させることが出来なくなってしまう(実際には不可能ではないが、画面が表示されていないので、操作が困難になる)。ウィンドウ533を移動させる実施方法を、図20のフローチャートで説明する。
画面共有サーバーのウィンドウ管理部は、画面共有しているウィンドウを監視している。アプリケーションのウィンドウを監視している。ウィンドウの位置を移動するイベントを監視することにより、ウィンドウ管理部は、ステップS901で、ウィンドウの移動を検出する。
ウィンドウ移動イベントを検出すると、ステップS902で、アプリケーションのウィンドウが完全に仮想デスクトップの画面に移動したかどうかが判定される。すなわち、アプリケーションのウィンドウの左上の座標を監視する。左上座標が実デスクトップ上にあれば、ステップS901へ戻り、監視を続行する。
左上座標が仮想デスクトップ画面上に移動したことを検出すると、アプリケーションは完全に(即ち全領域が)画面共有クライアントに対して画面共有されたと判定され、このアプリケーションのウィンドウ管理データのうち、完全に共有されているかどうかを示す完全共有フラグがステップS903でTRUEに設定される。このフラグがTRUEにされると、情報処理装置B602の操作により、このアプリケーションAの共有を中止できるようになる。
次に、図21のフローチャートと、図22を用いて、システムトレイに表示されたアイコンから共有を解除する方法を説明する。
画面共有サーバーは、デスクトップ上のシステムトレイにアイコンを登録する手段を有し、システムトレイ上に表示されたアイコンは、マウスのクリックイベントを受信すると、画面共有サーバーを操作するメニューを表示するものとする。
画面共有サーバーのウィンドウ管理部は、現在共有しているウィンドウの共有を解除するメニューアイテムを、画面共有サーバーのアイコンをクリックすることにより表示されるメニューに追加する機能を有するとする。
ユーザーは、情報処理装置B602を操作して、このメニューを選択すると、画面共有サーバーはアプリケーションの画面共有を中止する。
ユーザーが情報処理装置B602を操作して、アプリケーションの共有解除を行うと、画面共有サーバーのウィンドウ管理部は、アプリケーションのウィンドウハンドルを記憶しているので、ステップS1001で、このウィンドウハンドルを持つウィンドウを、図22のように実デスクトップ上に移動させる。
その移動量は、右方向に表示画面の横方向の解像度分移動させる。本実施の形態の場合、デスクトップ解像度が800×600であるから、右方向に800だけウィンドウを移動させる。
完全共有が終了したので、ステップS1002で、完全共有フラグがFALSEに設定され、アプリケーションの画面共有そのものが終了したので、ウィンドウ管理部が記憶しているアプリケーションに関する情報は、ステップS1003で破棄される。
なお、この情報の破棄には、メニューからアプリケーションの共有を解除するメニューアイテムをシステムトレイメニューから削除する手順を含むものとする。
また、情報処理装置B602が画面共有サーバーそのものを終了させた場合、画面共有サーバーはアプリケーションの終了処理として、図21に示したフローで、共有している全てのウィンドウを実デスクップ画面に移動させ、仮想デスクトップ画面を破棄するようにする。
次に、同様にして画面共有クライアントから画面共有を解除する方法を説明する。この方法は、図13や図16のようにアプリケーションAの一部を画面共有している場合でも、図22のように完全に共有している場合のどちらでも可能な方法である。
なお、画面共有クライアントも、前述の画面サーバーと同様に、デスクトップ上のシステムトレイにアイコンを登録する手段を有し、システムトレイ上に表示されたアイコンは、マウスのクリックイベントを受信すると、画面共有クライアントを操作するメニューを表示するものとする。
また、画面共有クライアントは、現在共有しているウィンドウの共有を解除するメニューアイテムを、画面共有クライアントのアイコンをクリックすることにより表示されるメニューに追加する機能を有するとする。
画面共有クライアントの情報処理装置A601を操作して、このメニューからアプリケーションの共有解除を選択すると、画面共有クライアントは、画面共有サーバーに画面共有解除のイベントを送信する。画面共有サーバーは、これを受信すると図21との動作フローで、前述と同様にウィンドウを移動させて画面共有を解除する。
情報処理装置A601が、画面共有クライアントプログラム本体を終了させるか、もしくは情報処理装置B602の画面共有サーバーとの接続を切断した場合も、共有している全てのウィンドウの共有を解除するイベントを画面共有サーバーに送信し、その後に接続を切断する。
次に、画面共有クライアントから、完全共有を行う方法とその解除方法に関する説明を行う。前述したように、画面共有クライアントのウィンドウ制御部の働きにより、情報処理装置B602の共有画面と情報処理装置A601の仮想デスクトップ画面におけるアプリケーションのウィンドウの表示位置は同期している。
そこで図16の状態で、情報処理装置A601のユーザーが、共有画面のウィンドウのツールバーをマウスでドラッグして、ウィンドウを図19の画面535に移動させると、図19の画面531のように、アプリケーションのウィンドウが完全に共有されることになる。
このような画面共有クライアントが共有画面を移動させて完全共有する場合の、画面共有サーバーの動作を図23のフローチャートを用いて説明する。
画面共有サーバーのウィンドウ管理部は、画面共有クライアントからのウィンドウの移動のイベントに対しても、図20で説明したのと同様に、ウィンドウが完全に共有された状態になったかどうかを監視している。
但し、クライアントのウィンドウ制御部から送られる共有画面の表示領域データをチェックすることにより監視する。
アプリケーションのウィンドウを完全に共有するよう、ステップS1101で、ウィンドウを移動するイベントを検出し、ステップS1102で完全に共有されたと判断された場合は、上述した完全共有フラグを、ステップS1103でTRUEに設定し、ステップS1104で、ウィンドウをクライアントから指示された位置へ同期するよう移動させる。ウィンドウの位置を同期させる動作は、図18と同様であるので省略した。一方、完全に共有させる移動でない場合は、完全共有フラグはFALSEのままで、図18と同様にステップS1105でウィンドウを同期させる。
以上のような構成により、画面共有サーバーの起動している情報処理装置B602からその一部が共有画面として画面共有クライアントの起動している情報処理装置A601に表示されたアプリケーションのウィンドウを、情報処理装置B602のマウス操作により情報処理装置B602自身のデスクトップ内に移動させることによって、情報処理装置A601上のアプリケーションのウィンドウの位置も同期して移動させることにより、情報処理装置B602上でアプリケーションのウィンドウ全体が画面共有できるようになる。
次に、画面共有クライアントからウィンドウ操作で完全共有を解除する場合の画面共有サーバーの動作を図24のフローチャートを用いて説明する。
画面共有サーバーのウィンドウ管理部は、画面共有クライアントからのウィンドウの移動のイベントに対しても、図21で説明したのと同様に、ウィンドウが完全に共有された状態になったかどうかを監視している。但し、クライアントのウィンドウ制御部から送られる共有画面の表示領域データをチェックすることにより監視する。
ステップS1201で、アプリケーションの完全共有を解除する内容のウィンドウ移動するイベントを検出し、ステップS1202で完全に共有が解除されと判断された場合は、ステップS1203で完全共有フラグをFALSEに設定し、ステップS1204でウィンドウをクライアントから指示された位置へ同期するよう移動させる。ウィンドウの位置を同期させる動作は、図18と同様である。一方、完全同期したままの移動で場合は、完全共有フラグはFALSEのままで、ステップS1205で、図14と同様にウィンドウを同期させる。
以上のような構成により、情報処理装置A601が、情報処理装置B602のアプリケーションの画面を完全に共有している状態において、ユーザーが情報処理装置B602のマウス操作により共有画面のウィンドウを情報処理装置B602の仮想デスクトップ画面から実デスクトップ画面の方向(この場合は左方向)に移動させる。
これによって情報処理装置A601上のアプリケーションのウィンドウの位置も同期して移動させることにより、情報処理装置B602上で、アプリケーションのウィンドウが実デスクトップ上にも表示可能な領域まで移動させることで、完全共有を解除し、情報処理装置B602のマウスでアプリケーションAを操作出来るようになる。
以上の例では、アプリケーションを仮想デスクトップ画面に移動して、クライアントで完全に共有した場合、情報処理装置A601ではアプリケーションの画面を見て操作することが出来なくなってしまう。これを解決するための方法を示すと共に、画面共有サーバーを起動している情報処理装置B602でも、アプリケーションAの操作を行うことが出来るようにする方法について述べる。
図25に画面共有サーバーの動作フローを示す。また、図26に画面の説明図を示す。画面共有サーバーのウィンドウ管理部は、ステップS1301で、共有しているアプリケーションウィンドウの画面が完全に共有されているかどうかを監視している。画面をクライアントに完全に共有されたことを検出すると、ステップS1302で完全共有フラグをTRUEにし、画面共有サーバーは、ステップS1303で、自身の起動している情報処理装置B602上に、画面共有クライアントをローカルに起動し、実デスクトップ画面上に表示する。この表示した様子を示すのが、図26の画面530に示されるローカル画面540である。
この時、画面共有クライアントのウィンドウは全領域が実デスクトップ画面上に表示され、仮想デスクトップ画面には表示されないようにする。そして、起動した画面共有クライアントをステップS1304で画面共有サーバー自身に接続させる。
このローカルに起動した画面共有クライアントも、情報処理装置A601で起動している画面共有クライアントと同様に、ウィンドウ制御部によって、ウィンドウの表示領域の同期を行う。
つまり、アプリケーションが情報処理装置B602の仮想デスクトップ画面に表示されているのと同じ位置・大きさで、情報処理装置B602の実デスクトップ画面に画面共有クライアントを表示する。
次のステップS1305で、完全共有が解除されたことを検出すると、ステップS1306で完全共有フラグをFALSEにし、画面共有サーバーは、ステップS1307でローカルの画面共有クライアントを切断して、終了させるよう指示する。画面共有クライアントが終了することにより、通常の画面共有状態になる。
画面共有サーバーもしくは画面共有クライアント側の情報処理装置から画面共有を中止した場合は、画面共有サーバーはプログラム終了処理として、アプリケーションのウィンドウを実デスクトップに戻す処理を行った後、プログラムを終了する。
次に、共有画面とのファイル転送について説明する。情報処理装置A601上のファイルを、共有画面対してドラッグ&ドロップすることによって情報処理装置B602に送信する場合、共有画面に表示されている情報処理装置B602上にあるファイルを、情報処理装置B602にローカルにドラッグ&ドロップする場合があるが、これは本実施の形態で説明した画面共有システムに、図6と図8を使って説明したドラッグ&ドロップによるファイル転送機能を追加することにより実現できる。
なお、変形例として、画面共有クライアントのウィンドウ制御部の動作を解除し、画面共有クライアントのデスクトップ上で、共有画面の位置・大きさを自由に変更出来るようにする機能を設けても良い。この場合、従来の画面共有クライアントソフトに近い動作となる。
また、画面領域全体を共有している場合には、自動的にクライアントのウィンドウ制御部の動作を解除し、クライアントのデスクトップ上で、共有画面の位置・大きさを自由に変更出来るようにするようにしてもよい。
複数のアプリケーションのウィンドウを共有する場合は、画面共有サーバーのウィンドウ管理部は各ウィンドウ毎にウィンドウハンドルを取得して管理する。
複数のウィンドウが共有されている場合、画面共有サーバー側から共有を解除する場合、共有を解除したいウィンドウタイトルのリストを列挙して表示し、ユーザーが選択したウィンドウもしくは全てのウィンドウの共有を解除するようにしても良い。
また、画面共有サーバーのウィンドウ管理部は、画面共有しているアプリケーションが終了した場合は、そのアプリケーションに関する管理情報を破棄する。
ウィンドウを完全に共有させないよう、画面共有サーバーのウィンドウ管理部が共有しているアプリケーションのウィンドウの表示領域を監視し、ウィンドウが完全に仮想デスクトップ画面に移動する命令を検出した場合、その移動命令を実行せずに中止する機能を付加しても良い。また、ビープ音やダイアログを表示して警告を出すようにしても良い。画面共有クライアントからのウィンドウの移動に関する受信イベントをチェックするか、もしくは画面共有サーバー(情報処理装置B602)のウィンドウ移動イベントをフックすることによって監視することが可能である。
また、画面共有サーバーが起動している情報処理装置B602から完全共有されている画面共有を解除する場合、ウィンドウを画面解像度分左方向に移動させるのではなく、情報処理装置B602の実デスクトップ画面の画面中央に表示されるように(即ち、アプリケーションのウィンドウの中心座標と実デスクトップ画面の中心座標が一致するように)、ウィンドウの表示位置を計算してウィンドウを移動させようにしてもよい。
一つの画面共有サーバーに複数の画面共有クライアントが接続している場合、1つの画面共有クライアントが切断した場合も、他の画面共有クライアントが共有しているウィンドウについては、共有を解除しないようにする機能を備えるものとする。
次に、上述したような、アプリケーションを仮想デスクトップ画面に移動して、クライアントで完全に共有した場合、情報処理装置A601ではアプリケーションの画面を見て操作することが出来なくなってしまうことを解決するための別の実施例について説明する。
図27に画面共有サーバーのフローチャートを示す。また、図28に画面の説明図を示す。
画面共有サーバーのウィンドウ管理部は、共有しているアプリケーションのウィンドウが完全に共有されているかどうかを監視している。ステップS1401で、画面をクライアントに完全に共有されたことを検出すると、ステップS1402で完全共有フラグをTRUEに設定する。
画面共有サーバーはまず、ステップS1403で、アプリケーションのウィンドウを仮想デスクトップ画面から実デスクトップ画面に移動する。その時、アプリケーションの仮想デスクトップ画面における表示領域と実デスクトップの移動先が同一となるように移動する。この移動の様子を表したのが図28である。図28には、画面531から画面540へ画面が移動されていることが示されている。
次に、画面共有サーバーは、ステップS1404で、仮想デスクトップ画面上に表示されたウィンドウの画面データを共有するのを中止し、代わりに実デスクトップ画面に表示されたアプリケーションAの画面領域を画面共有するよう、画面共有領域を変更する。
この状態でも情報処理装置B602と情報処理装置A601では、アプリケーションの表示領域の同期を行う。即ち、情報処理装置A601を操作して共有画面を移動させると、その変化量に応じて、情報処理装置B602上ではアプリケーションのウィンドウが移動する。その逆の操作も同様である。
次のステップS1405からは、完全共有解除の処理であるが、画面共有クライアントが共有画面のウィンドウを移動させて完全共有から、通常の共有状態に戻り、画面共有を続ける場合と、画面共有クライアントまたはサーバーが画面共有を中止する場合の2通りの処理がある。
ステップS1405で、完全共有が解除されたことが検出されると、画面共有サーバーは、ステップS1406で完全共有フラグをFALSEにする。そして、ステップS1407の共有続行と判断してアプリケーションのウィンドウを、クライアントのウィンドウ制御部から指示された通りに、移動させる。
この移動により、アプリケーションのウィンドウは、図16のように、一部が実デスクトップ画面上に、残りの部分が仮想デスクトップ画面に表示されるような領域に移動される。
ステップS1406で、共有続行をしないと判断した場合は、ステップS1409で、実デスクトップ上に表示されたアプリケーションAの画面領域を画面共有していたのを中止し、代わりに仮想デスクトップ画面上に表示されたウィンドウを共有する通常の状態に戻す。
なお、画面共有サーバープログラム本体を終了させた場合は、この動作を終了動作として実行した後プログラムのプロセスを終了する。
次に、ファイルの転送処理に関する説明をする。図29は、本実施の形態におけるファイル受信先の情報処理装置の動作フローを説明する図であり、図5のステップS103からの処理を示すものである。
なお、このフローチャートは、画面共有クライアントからサーバーへ転送する場合、サーバーからクライアントに転送する場合どちらも共通である。
ステップS1501で、ファイルをドロップした位置にあるウィンドウが調べられる。その位置にあるウィンドウが、ファイラーである場合は、ステップS1502で、そのファイラーで現在表示しているディレクトリパスを調べ、ステップS1503で、これをファイル送信先と指定する。
また、その位置がデスクトップ画面であり、それ以外何も表示されていない場合は、ファイラーの場合と同様に、ステップS1502で、現在表示しているデスクトップ画面のディレクトリパスを取得して、ステップS1503で、これをファイル送信先と指定する。そしてステップS1504でファイルを受信する。
ステップS1501で、ウィンドウがアプリケーションのウィンドウであった場合、ステップS1505で、アプリケーションのウィンドウハンドルを取得して記憶しておく。そして、ファイルの送信先をデスクトップとする。ステップS1506で、デスクトップのディレクトリパスを取得し、ステップS1507で、これを宛先として指定し、ステップS1508でファイルを受信する。ファイル受信後、ステップS1509で、画面共有クライアントもしくは画面共有サーバーは、受信ファイルを先程ウィンドウハンドルを取得したアプリケーションに渡すことで、アプリケーションが実行される。例えば、アプリケーションの実行ファイルのファイルパスを取得し、そのアプリケーションを受信ファイル引数として実行させるプロセスを起動する。
ステップS1501で、ウィンドウがアプリケーションのアイコンの場合、ステップS1510で、アイコンのファイルパスを取得して記憶しておく。次に、ステップS1511で、アイコンのディレクトリパス、すなわちそのアイコンがあるフォルダのディレクトリパスを取得して、ステップS1512で、これをファイル送信先として指定し、ステップS1513でファイルを受信する。ファイル受信後、ステップS1514で、画面共有クライアントもしくは画面共有サーバーは、先程取得したアイコンのファイルで受信したファイルを開かせる。
なお、ステップS1501で、アプリケーションのウィンドウと判断された場合、デスクトップを送信先にするのではなく、特定の決まったフォルダに転送するようにしても良い。また、アプリケーションを実行できないアイコン上にドロップした場合は、アイコンのあるディレクトリにファイルを転送する。
次に、図30に示される動作をした場合の処理について説明する。図30に示される動作は、ファイル503をアプリケーションのウィンドウ545にドラッグ&ドロップするものである。
このときの画面共有サーバーと画面共有クライアントとのやりとりを、図31を用いて説明する。ステップS1601で、ファイルがドラッグされたことがマウスイベントとして通知される。これにより、画面共有サーバーは、ドラッグを検出する。
次のステップS1602で、共有画面外に移動したことが、マウスイベントとして通知される。これにより、画面共有サーバーは、共有画面外に移動したことを検出し、ファイルパス・ディレクトリパスを取得する。
一方、画面共有クライアントでは、マウスがドロップされ、ドロップされた位置のアプリケーションのハンドルを取得し、ステップS1603で、ファイル共有要求を通知する。
画面共有サーバーでは、ファイルの存在するフォルダの共有を開始し、ステップS1604で、共有ファイルパスを送信する。画面共有クライアントは、ファイルをアプリケーションに渡して、アプリケーションが実行される。
以上のように、ファイルの存在するフォルダを共有とすることで、情報処理装置A601に実際のファイルを転送することなく、また情報処理装置A601で行われたファイルに対する編集は情報処理装置B602のファイルに反映される。
以上の処理を、図32のフローチャートを用いて説明する。
ステップS1701で、ファイルをドロップした位置にあるウィンドウが調べられる。その位置にあるウィンドウが、ファイラーである場合は、ステップS1702で、そのファイラーで現在表示しているディレクトリパスを調べ、ステップS1703で、これをファイル送信先と指定する。
また、その位置がデスクトップ画面であり、それ以外何も表示されていない場合は、ファイラーの場合と同様に、ステップS1702で、現在表示しているデスクトップ画面のディレクトリパスを取得して、ステップS1703で、これをファイル送信先と指定する。
次のステップS1704で、ファイル送信の要求が行われ、そしてステップS1705でファイルを受信する。
ステップS1701で、ウィンドウがアプリケーションのウィンドウであった場合、ステップS1706で、アプリケーションのウィンドウハンドルを取得して記憶しておく。そして、ファイルの送信先をデスクトップとする。ステップS1707で、ファイルの共有を要求し、ステップS1708でファイルが共有される。ファイル共有後、ステップS1709で、共有ファイルを先程ウィンドウハンドルを取得したアプリケーションに渡すことで、アプリケーションが実行される。
ステップS1701で、ウィンドウがアプリケーションのアイコンの場合、ステップS1710で、アイコンのファイルパスを取得して記憶しておく。次に、ステップS1711で、ファイルの共有が要求され、ステップS1712で、ファイルが共有される。ファイル共有後、ステップS1713で、ファイルをアイコンが示すアプリケーションに渡すことで、アプリケーションが実行される。
逆に、図33のように、画面共有クライアントの起動している情報処理装置A601上のファイルを、情報処理装置B602上で起動していて共有画面として情報処理装置A601に表示されているアプリケーションウィンドウにドラッグ&ドロップする場合も、本例で説明した動作を、画面共有サーバーとクライアントで入れ替えることにより、同様にして実現できる。
次に、2つの情報処理装置で、双方向に画面共有を行う例を説明する。図34には、情報処理装置B602にも画面共有クライアントが動作し、情報処理装置A601にも画面共有サーバーが動作する様子が示されている。ウインドウ533は、アプリケーションAのウィンドウであり、ウィンドウ546は、アプリケーションBのウィンドウである。画面548は、仮想デスクトップ画面である。
すなわち、情報処理装置A601の画面共有クライアントは情報処理装置B602の画面共有サーバーに接続し、情報処理装置B602の画面共有クライアントは情報処理装置A601の画面共有サーバーに接続し、お互いにアプリケーションウィンドウを共有する。このようにお互いに画面共有を行うよう接続することを「相互接続」と呼ぶことにする。
図34は図34に示した情報処理装置A601、B602のシステム構成図である。画面共有マネージャー549というソフトが各情報処理装置で起動しているとする。画面共有マネージャー549は接続を管理する接続管理部547と、画面共有サーバー102と画面共有クライアント118からなっている。
接続管理部547は、画面共有サーバー102及び画面共有クライアント188の接続を管理するとともに、画面共有サーバーの仮想デスクトップ画面の設定を支持する機能を持つとする。
図36は相互接続を行う示すシーケンスの例を示す図である。図34のような相互接続を行うまでの手順を説明する。この図において、情報処理装置A601の画面共有クライアントをクライアントA、情報処理装置B602の画面共有サーバーをサーバーB、アプリケーションAのウィンドウをウィンドウA、アプリケーションBのウィンドウをウィンドウBと表現する。
なお、情報処理装置A601,B602ではそれぞれ画面共有マネージャーが起動しており、画面共有サーバーが起動しているとする。初期状態としては、仮想デスクトップ画面は、実デスクトップ画面の右側にあるとする。
最初に、情報処理装置B602の画面共有サーバーに情報処理装置A601の画面共有クライアントが接続するため、ステップS1801で、情報処理装置A601から情報処理装置B602に接続を開始する。
すると、相互接続するのに、同一のデスクトップ境界でウィンドウをやり取りするためには、情報処理装置A601の仮想デスクトップ画面は、実デスクトップ画面の左側に配置する必要があるので、接続管理部は、画面共有サーバーに対して、仮想デスクトップ画面の位置を左側に移動させる。
次に接続管理部は、ステップS1802で、情報処理装置B602の画面共有クライアントが自身の画面共有サーバーに接続するよう要求する。情報処理装置B602の接続管理部は、この要求を受信するとクライアントを情報処理装置A601の画面共有サーバーに接続させ、ステップS1803で、接続開始を通知する。これにより相互接続が行われる。
情報処理装置B602上で表示されているウィンドウAを、仮想デスクトップ画面に移動させると、仮想デスクトップ画面に表示された部分は、ウィンドウAの画面データがステップS1804で送信されることにより、情報処理装置A601上では、共有画面として、情報処理装置B602の仮想デスクトップ画面と同一の配置で表示される。
次に、情報処理装置A601上で起動しているアプリケーションBのウィンドウをドラッグして、ウィンドウが全て仮想デスクトップ画面上に表示されるよう、左側に移動させると、ウィンドウBの画面データがステップS1805で送信されることにより、図34のように、情報処理装置B602に、アプリケーションBの画面が共有画面として表示される。
このようにすることで、2つのPC間で、ウィンドウをマウス操作で移動させることにより、アプリケーションのウィンドウを相互に共有することが可能となる。
更に、ドラッグ&ドロップでファイル転送を行ったり、アプリケーションのウィンドウにドラッグ&ドロップしてファイル転送を行った後、アプリケーションで受信ファイルを実行させることも可能となる。
または、アプリケーションウィンドウや実行プログラムのアイコンに、ファイルをドラッグ&ドロップすることによって、ドラッグ側のPCにあるファイルを、ドロップ先のPCでファイル共有してアプリケーションで開くことも可能となる。
すなわち、一方のPCが共有画面を遠隔操作している場合に、2PCが独立同時操作を行えないことと除けば、2つの別々のPCを、あたかも1つのPCであるかのように扱えるようにすることが出来る。
図34で示した情報処理装置A601における画面の配置を、図37に示すように逆にすることも可能である。具体的に、仮想デスクトップ画面は常に実デスクトップ画面の右側に配置して、画面共有するようにしてもよい。共有画面を受ける時は左側、画面を共有して見せる場合は右側と固定したい場合は、このようにしてもよい。この例の場合、図36の動作フローにおいて、接続制御部が仮想デスクトップ画面の位置を変更する機能を省くことによって実現出来る。
次に、1つの情報処理装置で、複数の情報処理装置の画面共有を行う例について説明する。なお、画面共有サーバーは、仮想デスクトップ画面の位置を制御できるものとする。
以下の全ての実施例において、符号701、702、703、704は、実デスクトップ画面を示し、符号721、722、723、724、952、953、954、955、956は、仮想デスクトップ画面を示す。また、符号801、802、803、804は、何らかのアプリケーションのウィンドウを示す。符号901、902、903、904は共有画面を示す。
図38にシステム構成と画面例を示す。図38に示されるように、情報処理装置A601と、情報処理装置B602と、情報処理装置C603の3つの情報処理装置で行われる。また、情報処理装置B602、C603上では画面共有サーバーが起動している。情報処理装置C603では、仮想デスクトップ画面723は実デスクトップ画面703の左側に配置している。
情報処理装置A601では、画面共有クライアントのみが起動していて、共有画面901、902はそれぞれ情報処理装置B602上のアプリケーションAのウィンドウ801、情報処理装置C603上のアプリケーションBのウィンドウ802である。
このような構成において、図39のように、情報処理装置A601を操作することにより、共有画面901に表示された情報処理装置B602上のファイル503を、共有画面902に表示された情報処理装置C603上のアプリケーションウィンドウにドラッグ&ドロップする場合の動作を説明する。
まず、ドロップ先の共有画面902として表示されるアプリケーションが、ファイラーであるとする。この場合、情報処理装置B602から情報処理装置C603へ、直接ファイル転送を実行する場合、上記画面共有システムに、上述したファイル転送方法を追加することで実現できる(図10参照)。
次に、ドロップ先の共有画面902として表示されるアプリケーションが、一般のアプリケーションウィンドウであるとする。この場合に情報処理装置B602から情報処理装置C603へ、直接ファイル転送を実行し、ドロップ先のアプリケーションで受信ファイルを開くことも実現できる(図30参照)。
また、ドロップ先の共有画面902として表示されるアプリケーションBが、一般のアプリケーションウィンドウであるとし、情報処理装置C603が情報処理装置B602のファイルをファイル共有して、ドロップ先のアプリケーションで共有ファイルを開くということも実現できる(図36参照)。
次は、図40に示されるように、情報処理装置B602、C603は共に右側に仮想デスクトップ画面722、723を配置して、情報処理装置A601上、左側から共有画面901、902を表示させるようにする。
図41に示されるように、情報処理装置A601を操作することにより、共有画面901に表示された情報処理装置C603上のファイル503を、共有画面902に表示された情報処理装置B602上のアプリケーションウィンドウにドラッグ&ドロップして、
ファイル転送を行ったり、ファイル転送後アプリケーションに実行させたり、もしくは、
情報処理装置C603のファイルを情報処理装置B602でファイル共有して、情報処理装置B602のアプリケーションで実行させるようにしてもよい。
このような複数の情報処理装置での様々な接続形態を、図42、43、44を用いて説明する。図42は、1台の情報処理装置で複数の仮想デスクトップ画面を作り、複数の画面共有を行うことを可能にした場合の接続例を示している。
情報処理装置B602では2つの仮想デスクトップ画面722、725を生成し、仮想デスクトップ画面722には情報処理装置A601の画面共有クライアントが接続し、仮想デスクトップ画面725には情報処理装置C603の画面共有クライアントが接続していて、それぞれアプリケーションAのウィンドウ801に対応する共有画面901と、アプリケーションBのウィンドウ802に対応する共有画面902を共有している。
図43は、1つの画面共有サーバーに2つの画面共有クライアントが接続し、接続を共有する例である。情報処理装置B602上で画面共有サーバーが起動しており、アプリケーションAのウィンドウ801を共有している。
そこに、情報処理装置A601、C603の2台が画面共有クライアントでこのサーバーに接続している。よって、情報処理装置A601からも、情報処理装置C603からも情報処理装置B602のアプリケーションAのウィンドウを閲覧し、アプリケーションAを操作することが出来る。情報処理装置B602、C603はそれぞれ、ローカルにあるファイルを共有画面にドラッグ&ドロップさせて情報処理装置B602のアプリケーションAに実行させたり、情報処理装置A601・B602間、情報処理装置B602・C603間でそれぞれファイル転送を行うことも可能である。
図44は、情報処理装置A601と情報処理装置B602、情報処理装置A601と情報処理装置C603がそれぞれ相互接続している場合を示す。
図44において、情報処理装置A601上には、実デスクトップ画面701と、仮想デスクトップ画面721、724が表示されている。また、仮想デスクトップ画面724には、アプリケーションDのウィンドウ804と、共有画面904が表示され、実デスクトップ画面701には、共有画面901、903が表示されている。情報処理装置C603には、アプリケーションCのウィンドウ803が表示されている。
情報処理装置A601上に表示されている共有画面901(情報処理装置B602のアプリケーションAのウィンドウ801の共有画面)を仮想デスクトップ画面722に移動し、情報処理装置C603の画面共有クライアントで表示できるようにしてもよい。
即ち、情報処理装置B602のアプリケーションAは、情報処理装置B602の共有画面902を介して、情報処理装置C603に画面共有する(2重共有される)ようにしてもよい。その場合に、情報処理装置C603と情報処理装置B602が、情報処理装置A601を介することなく直接ファイル転送を行うことが出来るようにしてもよい。
以上説明した以外の組み合わせを実施しても良い。
次に、図35で説明した接続管理部を用いた接続相手を選択する処理について説明する。接続管理部は、上述したように画面共有クライアント・画面共有サーバーの接続を管理する。また、接続管理部は、接続を許可する相手を登録する手段、及び接続相手を選択する手段を持つ。
その接続相手を選択する処理を、例えば、情報処理装置A601,情報処理装置B602,情報処理装置C603,情報処理装置D,情報処理装置Eはお互いに他のPCのIPアドレスやPCの名前を登録している環境で選択する処理として、以下説明する。
図45のシーケンス図、及び図46の画面遷移説明図を参照しながら説明する。今、情報処理装置B602において画面共有サーバーは起動しているが、クライアントは接続していないものとする。情報処理装置A601にアプリケーションAを共有画面で見せようとしている場面を想定する。
まず、情報処理装置B602を操作して、アプリケーションAのウィンドウを右側に移動し、仮想デスクップ画面722に表示されるようにする(図46の(1)から(2))。すると、情報処理装置B602の接続管理部は、画面共有の開始を検出し、登録されたクライアントリストを表示する。すなわち、情報処理装置A601,情報処理装置C603,情報処理装置D,情報処理装置Eが選択肢として表示される。そこで情報処理装置B602のユーザーは、情報処理装置A601を選択する。
すると、情報処理装置B602の接続管理部は情報処理装置A601に対して、情報処理装置B602に接続するように、ステップS1901で情報処理装置A601に接続指示する。この指示を受けた情報処理装置A601の接続管理部は、ステップS1902で、画面共有クライアントを情報処理装置B602に接続させる。接続が完了すると、図46(3)のように、アプリケーションAのウィンドウが共有される。
更に、情報処理装置A601の接続管理部は、情報処理装置B602との相互接続を開始する。まず、仮想デスクトップ画面721の位置が、初期状態では実デスクトップ画面701の右側に設定されていたものを、実デスクトップ画面701の左側に配置するよう変更する。
次に、情報処理装置B602に対して、情報処理装置A601に接続するように、ステップS1903で指示する。情報処理装置B602の接続制御部は、ステップS1904で、情報処理装置A601に接続することにより相互接続が完了する。
ここで、情報処理装置B602上のウィンドウ801を左側に移動して、仮想デスクトップ画面722に表示させると、図46(4)のように、情報処理装置B602上に、共有画面として表示される。
なお、上記処理では相互接続を行ったが、相互接続は行わないようにしても良い。
次に、大画面などの特別な画面に表示する場合の方法について説明する。接続制御部は、大画面表示可能な情報処理装置を、特別な識別子を付けて登録する手段を有する。例えば、情報処理装置A601はプロジェクタを接続して大画面に表示しているとする。BからEの各情報処理装置の接続制御部は、情報処理装置A601が大画面を備えていることを登録する。
今、図46と同じように、情報処理装置B602を操作して、アプリケーションAのウィンドウ801を右側に移動し、仮想デスクップ画面に表示されるようにすると(図46の(1)から(2))、情報処理装置B602の接続管理部は、画面共有の開始を検出し、図48に示されるような、登録されたクライアントリストを表示する。
すなわち、「大画面」,情報処理装置B602を示す「Mr.B」,情報処理装置Dを示す「Mr.D」,情報処理装置Eを示す「Mr.E」が選択肢として表示される。そこで情報処理装置B602のユーザーは、大画面表示を選択する。情報処理装置B602の接続管理部は大画面表示に登録されている情報処理装置は、情報処理装置A601であることをクライアントリストのデータから取得する。そして、情報処理装置B602の接続管理部は、プロジェクタを接続している情報処理装置A601に対して、情報処理装置B602に接続するよう指示する。
この指示を受けた情報処理装置A601の接続管理部は、画面共有クライアントを情報処理装置B602に接続させる。接続が完了すると、図46(3)のように、アプリケーションAのウィンドウ801が、プロジェクタによって大きな画面で投影され、その画面が例えば会議の参加者の間で共有して見えるようになる。
次に、上下左右に仮想デスクトップ画面を生成する場合について、図49、図50、図51とを用いて説明する。図49は、情報処理装置A601の画面説明図である。上下左右にそれぞれ仮想デスクトップ画面952、953、954、955を生成し、それぞれ画面共有サーバーが起動して、各仮想デスクトップ画面に表示されたウィンドウを共有できる状態になっている。図50は、画面遷移図である。図51は、処理を示すシーケンス図である。
情報処理装置A601の接続管理部は、情報処理装置B602,C603,D,Eに対する仮想デスクトップ画面をそれぞれ順に、上、左、下、右と登録する。
今、情報処理装置A601を操作して、プロジェクタが接続されていて大画面表示が可能な情報処理装置C603にアプリケーションAのウィンドウ801を表示しようとしている場面を例に説明する。
情報処理装置C603で共有するための仮想デスクトップ画面は、実デスクトップ画面の左側であると登録してあるので、ウィンドウを、左側に移動する(図50の(1)から(2))。接続管理部は、左側の仮想デスクトップ画面は、情報処理装置C603に画面を共有表示するよう登録してあることを取得し、ステップS2101で、情報処理装置C603の接続管理部に対して、情報処理装置A601に接続するよう指示する。
指示を受信した情報処理装置C603は、ステップS2102で、画面共有クライアントを情報処理装置A601に接続させる。情報処理装置C603の画面共有クライアントが接続してくると、情報処理装置A601の接続管理部は、情報処理装置C603用に登録された左側の仮想デスクトップ画面上で起動している画面共有サーバーに接続するよう接続を制御する。接続が完了すると、図50(3)のように、アプリケーションAのウィンドウ801が共有される。
更に、情報処理装置C603の接続管理部は、情報処理装置A601との相互接続を開始する。もし、この時点で仮想デスクトップ画面の配置が、実デスクトップ画面の右側以外にあった場合、相互共有を行うため、実デスクトップ画面の右側に配置するよう変更する。
次のステップS2103で、情報処理装置C603は、情報処理装置A601に対して、情報処理装置C603に接続するよう指示する。情報処理装置A601の接続制御部は、ステップS2104で、情報処理装置C603に接続することにより相互接続が完了する。
ここで、情報処理装置C603上のアプリケーションBのウィンドウ802を左側に移動して、仮想デスクトップ画面に表示させると、図50(4)のように、情報処理装置A601上に、共有画面として表示される。なお、上記処理において、相互接続は行わないようにしても良い。
次に、情報処理装置A601が、接続していない他の情報処理装置B602,C603,及びD604にアプリケーションAのウィンドウを共有画面で表示させる処理について、図52、図53、図54を用いて説明する。図52は、処理を示すシーケンス図であり、図53は、各情報処理装置の画面を示す図である。図54はリストである。
まず、情報処理装置A601を操作して、アプリケーションAのウィンドウ801を右側に移動し、仮想デスクップ画面721に表示されるようにする。すると、情報処理装置A601の接続管理部は、画面共有の開始を検出し、図54に示すような、登録されたクライアントリストを表示する。すなわち、情報処理装置B602,情報処理装置C603,情報処理装置D604の氏名,及び全員に表示する選択肢がリストにして表示される。そこで情報処理装置A601のユーザーは、全員を選択する。なお、氏名は例えばIPアドレスなどと関連付けて予め登録されている。
すると、情報処理装置A601の接続管理部は現在の接続管理部で記憶している他の情報装置、すなわち情報処理装置B602,C603,D604に対してそれぞれ順に、情報処理装置A601に接続するよう指示する。この指示を受けた情報処理装置B602,C603,D604の接続管理部は、ステップS2201、ステップS2203、ステップS2205で、それぞれ画面共有クライアントに接続を指示し、各情報処理装置は、ステップS2202、ステップS2204、ステップS2206で情報処理装置A601に接続する。接続が完了すると、図53のように、情報処理装置B602,C603,D604の画面には、情報処理装置A601で実行しているアプリケーションAのウィンドウ801が共有される。
更に、図49のように、情報処理装置A601は情報処理装置B602,C603,D604とそれぞれ相互接続を行い、情報処理装置A601が全員と共有している状態で、例えば情報処理装置B602が自身の起動しているアプリケーションのウィンドウを左側に移動させると、情報処理装置B602の仮想デスクトップに表示された部分が情報処理装置A601の画面右側から表示されるようにすることも可能である。
また、情報処理装置B602,C603,D604からアプリケーションAのウィンドウ801を操作されないように、操作権を制御して、画面共有サーバーは情報処理装置B602,C603,D604からの操作イベントを受け付けないようにしても良い。
次に、上述した内容において、ある仮想デスクトップ画面に移動すると全員に共有表示される処理について、図55、図56を用いて説明する。
情報処理装置A601の接続管理部は、情報処理装置B602,C603,D604に対する仮想デスクトップ画面をそれぞれ順に、上、左、下と登録し、右側を全員に表示と登録する。
全員で共有するための仮想デスクトップ画面は、図54に示されるように、実デスクトップ画面の右側であると登録してあるので、ウィンドウを、右側に移動する。接続管理部は、右側の仮想デスクトップ画面956は、全員に画面を共有表示するよう登録してあることを取得し、情報処理装置B602,C603,D604の接続管理部に対して順に、ステップS2301、ステップS2303、ステップS2305で、情報処理装置A601に接続するよう指示する。指示を受信した各情報処理装置はステップS2302、ステップS2304、ステップS2306で情報処理装置A601に接続する。情報処理装置B602,C603,D604からの接続が完了すると、図53のように、アプリケーションAのウィンドウが共有される。
更に、図49で示したように、情報処理装置A601は情報処理装置B602,C603,D604とそれぞれ相互接続を行い、情報処理装置A601が全員と共有している状態で、例えば情報処理装置B602が自身の起動しているアプリケーションのウィンドウを左側に移動させると、情報処理装置B602の仮想デスクトップに表示された部分が情報処理装置A601の画面右側から表示されるようにすることも可能である。
また、情報処理装置B602,C603,D604からアプリケーションAのウィンドウ801を操作されないように、操作権を制御して、画面共有サーバーは情報処理装置B602,C603,D604からの操作イベントを受け付けないようにしても良い。
以上説明した処理では、アプリケーションのウィンドウを検出して、そのウィンドウが表示されている領域のみを画面共有の共有対象とする実施方法であったが、画面共有クライアントで、画面共有クライアントのウィンドウを、デスクトップ領域を透明とする透過ウィンドウにする処理について、図57、図58を用いて説明する。
図57にシーケンス、図58に画面共有クライアントの画面遷移の例を示す。図58の画面981に示されるように、接続前の情報処理装置A601のデスクトップ画面上にはアプリケーションBのウィンドウ802が表示されているとする。
情報処理装置B602のデスクトップの背景色は、黒色に近い色(16進数で表記したRGB値:R=0x0B,G=0x04,B=0x08)であるとする。アプリケーションAのウィンドウ801をデスクトップ右側に移動させ、情報処理装置A601に表示させようとしているとする。
図58では、情報処理装置B602の仮想デスクトップ画面は分かりやすいように白色の網掛け表示しているが、実デスクトップ画面と同じく、背景色はRGB:0B0408で表わされる色であるとする。
まず、情報処理装置B602は情報処理装置A601とアプリケーションAのウィンドウ801を共有するために仮想デスクトップ画面722を生成する。デスクトップ背景を淡色にする必要があるので、壁紙が設定してあれば、その設定を無効にし、壁紙が表示されないようにする。
次に、情報処理装置B602は、ステップS2401で、情報処理装置A601の画面共有クライアントを自身の画面共有サーバーに接続するように指示を出す。情報処理装置A601は指示された通り、ステップS2402で、画面共有クライアントで情報処理装置B602の画面共有サーバーに接続し、図58の情報処理装置B602の画面上には情報処理装置A601の仮想デスクトップ画面722が共有画面として表示される。
この状態だと、情報処理装置B602のデスクトップ画面のほとんどが情報処理装置A601のデスクトップの背景色(RGB:0B0408)で塗りつぶされている。
情報処理装置B602は、クライアントが接続したことを確認すると、情報処理装置B602自身のデスクトップの背景色を、ステップS2403で情報処理装置A601に通知する。すなわちRGB:0B0408という情報を送信する。
情報処理装置A601は、この情報を受信すると、画面共有クライアントの画面をこのRGB:0B0408を透明色とした透過ウィンドウにすることにより、情報処理装置Aのデスクトップ部分が透明になるように表示することが可能となる。
すなわち、図58の画面983のように、情報処理装置B602のデスクトップそのものは共有表示されず、アプリケーションAのウィンドウ801のみが共有表示されるようになる。
また、情報処理装置A601自身が起動しているアプリケーションBのウィンドウ802も、隠れずに表示されるようになる。
上述した説明において、仮想画面生成部131は、仮想画面生成手段に対応する。画面データ取得部103は、共有画面取得手段に対応する。画面データ送信部104は、共有画面送信手段と選択手段に対応する。画面データ取得部113は、共有画面受信手段に対応する。画面データ表示部114は、画面表示手段に対応する。ウィンドウ管理部130、ウィンドウ制御部132は、解除手段に対応する。D&D検出部120、121は、ドラッグアンドドロップ手段に対応する。入力イベント取得部116は、入力情報取得手段に対応する。入力イベント送信部115は、入力情報送信手段に対応する。入力イベント発生部105は、入力情報発生手段に対応する。入力イベント受信部106は、入力情報受信手段に対応する。
また、ステップS501は、仮想画面生成段階に対応する。ステップS506は、共有画面取得段階に対応する。ステップS507は、共有画面送信段階に対応する。ステップS602は、共有画面受信段階に対応する。ステップS603は、共有画面表示段階に対応する。ステップS702は、共有画面移動変更判断段階に対応する。ステップS703は、共有画面情報取得段階に対応する。ステップS704は、共有画面情報送信段階に対応する。ステップS801は、共有画面情報受信段階に対応する。ステップS805は、共有画面同期段階に対応する。ステップS1401は、完全共有判断段階に対応する。ステップS1403は、通常画面表示段階に対応する。
情報処理装置のハードウェア構成図である。 一般的なファイル転送機能付き画面共有システムの説明図である。 ドラッグ&ドロップでファイル転送可能な画面共有システムの説明図である。 ドラッグ&ドロップをする様子を示す図である。 ドラッグ&ドロップでファイル転送する処理を示すフローチャートである。 ドラッグ&ドロップでファイル転送する処理を示すシーケンス図である。 ドラッグ&ドロップをする様子を示す図である。 ドラッグ&ドロップでファイル転送する処理を示すシーケンス図である。 実施例1の構成を示す図である。 ドラッグ&ドロップをする様子を示す図である。 実施例1の処理を示すシーケンス図である。 実施例2の構成を示す図である。 実施例2の画面動作を示す図である。 実施例2の画面共有サーバーの処理を示すフローチャートである。 実施例2の画面共有クライアントの処理を示すフローチャートである。 実施例2においてウィンドウを移動した場合の画面例を示す図である。 実施例2の画面共有クライアントの遠隔操作動作を示すフローチャートである。 実施例2の画面共有サーバーの遠隔操作動作を示すフローチャートである。 実施例2の画面動作例を示す図である。 実施例2の画面共有サーバーのウィンドウ管理部の処理を示すフローチャートである。 実施例2の画面共有サーバーのウィンドウ管理部の処理を示すフローチャートである。 実施例2の画面動作例を示す図である。 実施例2の画面共有サーバーのウィンドウ管理部の処理を示すフローチャートである。 実施例2の画面共有サーバーのウィンドウ管理部の処理を示すフローチャートである。 実施例2の画面共有サーバーの処理を示すフローチャートである。 実施例2の画面動作を示す図である。 実施例3の画面共有サーバーの処理を示すフローチャートである。 実施例3の画面動作を示す図である。 実施例4の画面共有クライアント・サーバー共通の処理を示すフローチャートである。 実施例5の画面動作を示す図である。 実施例5の処理を示すシーケンス図である。 実施例5の画面共有クライアントの処理を示すシーケンス図である。 実施例5の画面動作を示す図である。 実施例6の画面動作を示す図である。 実施例6の構成を示す図である。 実施例6の接続管理部の処理を示すシーケンス図である。 実施例6の別の画面動作を示す図である。 実施例7の構成と画面を示す図である。 実施例7の画面動作を示す図である。 実施例7の別の構成と画面を示す図である。 実施例7の別の画面動作を示す図である。 実施例7の別の構成と画面を示す図である。 実施例7の別の構成と画面を示す図である。 実施例7の別の構成と画面を示す図である。 実施例8の接続管理部の処理を示すシーケンス図である。 実施例8の画面動作を示す図である。 実施例8の別の接続管理部の処理を示すシーケンス図である。 リストを示す図である。 実施例9の画面動作を示す図である。 実施例9の画面遷移を示す図である。 実施例9の接続管理部の処理を示すシーケンス図である。 実施例10の処理を示すシーケンス図である。 実施例10の画面遷移を示す図である。 リストを示す図である。 実施例11の画面動作を示す図である。 実施例11の処理を示すシーケンス図である。 実施例11の処理を示すシーケンス図である。 実施例11の画面遷移を示す図である。
符号の説明
20 演算処理装置
21 インタフェース装置
22 入力装置
23 表示装置
24 ドライブ装置
25 記録媒体
26 補助記憶装置
27 メモリ装置
102、162 画面共有サーバー
103、113 画面データ取得部
104 画面データ送信部
105 入力イベント発生部
106 入力イベント受信部
107、117 ファイル受送信部
108、112 プログラムメイン部
109、111、163 ネットワークI/F
114 画面データ表示部
115 入力イベント送信部
116 入力イベント取得部
118、152 画面共有クライアント
120、121 D&D検出部
130 ウィンドウ管理部
131 仮想画面生成部
132 ウィンドウ制御部
150 クライアント間通信部
151 モジュール群
501、502、521 ファイラー
503、505 ファイル
500、504、530、531、535、548 画面
532、901、902、903、904 共有画面
533、545、546、801、802、803、804 ウィンドウ
540 ローカル画面
547 接続管理部
549 画面共有マネージャー
601 情報処理装置A
602 情報処理装置B
603 情報処理装置C
701、702、703 実デスクトップ画面
721、722、723、724、725、952、953、954、955 仮想デスクトップ画面

Claims (16)

  1. 他の情報処理装置に共有画面を提供するサーバー機能を有するサーバー情報処理装置と、該サーバー情報処理装置のクライアント機能を有するクライアント情報処理装置とを含む画面共有システムであって、
    前記サーバー情報処理装置は、
    表示装置に実表示画面を表示する実画面表示手段と、
    前記表示装置には非表示の画面であって、前記実表示画面に隣接した仮想画面を生成する仮想画面生成手段と、
    前記実表示画面と前記仮想画面とで前記隣接する点をまたいで表示されたウィンドウ画面のうち、前記仮想画面に表示されている前記ウィンドウ画面の一部分を共有画面として取得する共有画面取得手段と、
    を有し、
    前記クライアント情報処理装置は、
    前記共有画面を受信する共有画面受信手段と、
    前記共有画面受信手段により受信した共有画面を、共有画面表示領域に表示する共有画面表示手段と
    を有することを特徴とする画面共有システム。
  2. 前記サーバー情報処理装置は、前記仮想画面に表示された共有画面の表示を解除する解除手段を有し、
    前記解除手段により表示を解除すると、通常の画面に前記共有画面が表示されることを特徴とする請求項1に記載の画面共有システム。
  3. 前記解除手段は、前記共有画面全体が前記仮想画面内に含まれたときに動作することを特徴とする請求項2に記載の画面共有システム。
  4. 前記クライアント情報処理装置は、前記共有画面表示領域に表示された共有画面の表示を解除する解除手段を有し、
    前記解除手段により表示を解除すると、通常の画面に前記共有画面が表示されることを特徴とする請求項1に記載の画面共有システム。
  5. 前記解除手段は、前記共有画面全体が前記共有画面表示領域内に含まれたときに動作することを特徴とする請求項4に記載の画面共有システム。
  6. 前記クライアント情報処理装置は、
    前記共有画面表示領域に対する入力情報を取得する入力情報取得手段と、
    前記サーバー情報処理装置に送信する入力情報送信手段をさらに有し、
    前記サーバー情報処理装置は、
    前記入力情報を受信する入力情報受信手段と、
    入力情報を前記仮想画面に反映させるための入力情報発生手段と
    を有することを特徴とする請求項1から5のいずれか1項に記載の画面共有システム。
  7. 前記サーバー情報処理装置は、複数のクライアント情報処理装置と画面の共有が可能であることを特徴とする請求項1から6のいずれか1項に記載の画面共有システム。
  8. 前記サーバー情報処理装置は、複数のクライアント情報処理装置のうちのいずれかと画面を共有するかを選択する選択手段を有することを特徴とする請求項7に記載の画面共有システム。
  9. 前記クライアント情報処理装置は、複数のクライアント機能を起動することで、前記各クライアント機能により複数のサーバー情報処理装置と画面の共有が可能であることを特徴とする請求項1から8のいずれか1項に記載の画面共有システム。
  10. 前記サーバー情報処理装置またはクライアント情報処理装置は、ドラッグアンドドロップを検出するドラッグアンドドロップ検出手段を有することを特徴とする請求項1から9のいずれか1項に記載の画面共有システム。
  11. 前記クライアント情報処理装置が、2つ以上のサーバー情報処理装置と画面を共有し、
    一のサーバー情報処理装置の共有画面に表示されたファイル識別子が、他のサーバー情報処理装置の共有画面にドラッグアンドドロップされたことを検出すると、前記ファイル識別子が示すファイルが、それらのサーバー情報処理装置同士で直接転送されることを特徴とする請求項1から9のいずれか1項に記載の画面共有システム。
  12. 他の情報処理装置に共有画面を提供するサーバー機能を有するサーバー情報処理装置と、該サーバー情報処理装置のクライアント機能を有するクライアント情報処理装置とを含む画面共有システムにおける画面共有方法であって、
    前記サーバー情報処理装置は、
    表示装置に実表示画面を表示する実画面表示段階と、
    前記表示装置には非表示の画面であって、前記実表示画面に隣接した仮想画面を生成する仮想画面生成段階と、
    前記実表示画面と前記仮想画面とで前記隣接する点をまたいで表示されたウィンドウ画面のうち、前記仮想画面に表示されている前記ウィンドウ画面の一部分を共有画面として取得する共有画面取得段階と、
    を有し、
    前記クライアント情報処理装置は、
    前記共有画面を受信する共有画面受信段階と、
    前記共有画面受信手段により受信した共有画面を、共有画面表示領域に表示する共有画面表示段階と
    を有することを特徴とする画面共有方法。
  13. 前記サーバー情報処理装置は、
    前記共有画面の移動またはサイズの変更を判断する共有画面移動変更判断段階と、
    移動または変更と判断された場合、前記共有画面に関する情報を取得する共有画面情報取得段階と、
    前記クライアント情報処理装置に対し前記共有画面情報を送信する共有画面情報送信段階と
    を有することを特徴とする請求項12に記載の画面共有方法。
  14. 前記クライアント情報処理装置は、
    前記共有画面情報を受信する共有画面情報受信段階と、
    前記共有画面情報に基づき、表示する共有画面を同期させる共有画面同期段階と
    を有することを特徴とする請求項13に記載の画面共有方法。
  15. 前記サーバー情報処理装置は、
    前記共有画面全体が前記仮想画面に含まれたかどうか判断する完全共有判断段階と、
    記共有画面全体が前記仮想画面に含まれたと判断されると、前記共有画面を通常の画面に表示する通常画面表示段階と
    を有することを特徴とする請求項12から14のいずれか1項に記載の画面共有方法。
  16. 請求項12から15のいずれか1項に記載の画面共有方法をコンピュータで実行するための画面共有プログラム。
JP2004364633A 2004-12-16 2004-12-16 画面共有システム、画面共有方法、画面共有プログラム Active JP4738805B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004364633A JP4738805B2 (ja) 2004-12-16 2004-12-16 画面共有システム、画面共有方法、画面共有プログラム
US11/301,021 US20060136828A1 (en) 2004-12-16 2005-12-12 System and method for sharing display screen between information processing apparatuses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004364633A JP4738805B2 (ja) 2004-12-16 2004-12-16 画面共有システム、画面共有方法、画面共有プログラム

Publications (2)

Publication Number Publication Date
JP2006172193A JP2006172193A (ja) 2006-06-29
JP4738805B2 true JP4738805B2 (ja) 2011-08-03

Family

ID=36597640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004364633A Active JP4738805B2 (ja) 2004-12-16 2004-12-16 画面共有システム、画面共有方法、画面共有プログラム

Country Status (2)

Country Link
US (1) US20060136828A1 (ja)
JP (1) JP4738805B2 (ja)

Families Citing this family (161)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966379B2 (en) 2010-10-01 2015-02-24 Z124 Dynamic cross-environment application configuration/orientation in an active user environment
US8933949B2 (en) 2010-10-01 2015-01-13 Z124 User interaction across cross-environment applications through an extended graphics context
US9047102B2 (en) 2010-10-01 2015-06-02 Z124 Instant remote rendering
US8726294B2 (en) 2010-10-01 2014-05-13 Z124 Cross-environment communication using application space API
US8819705B2 (en) 2010-10-01 2014-08-26 Z124 User interaction support across cross-environment applications
US7533349B2 (en) * 2006-06-09 2009-05-12 Microsoft Corporation Dragging and dropping objects between local and remote modules
ATE534226T1 (de) * 2007-03-14 2011-12-15 Magix Ag System und methode für visuelle datenverteilung/datenzugriff in einer online umgebung
US20080307349A1 (en) * 2007-06-08 2008-12-11 Microsoft Corporation Sharing a computer display across a network
US20080307504A1 (en) * 2007-06-09 2008-12-11 Pavel Cisler System connections and user interfaces
US20080307314A1 (en) * 2007-06-09 2008-12-11 Pavel Cisler System connections and user interfaces
US8296833B2 (en) 2007-06-09 2012-10-23 Apple Inc. System connections and user interfaces
US8266323B2 (en) * 2007-06-09 2012-09-11 Apple Inc. System connections and user interfaces
US7904820B2 (en) * 2007-06-25 2011-03-08 International Business Machines Corporation User management of display properties of shared display window in shared display window environment
CN101354639A (zh) * 2007-07-25 2009-01-28 联想(北京)有限公司 在终端之间操作对象的方法及终端
JP4692529B2 (ja) * 2007-08-07 2011-06-01 セイコーエプソン株式会社 グラフィカルユーザインタフェース装置
JP2010539567A (ja) * 2007-09-11 2010-12-16 スマート・インターネット・テクノロジー・シーアールシー・プロプライエタリー・リミテッド 遠隔ファイル転送のためのシステム及び方法
JP5468005B2 (ja) 2007-09-11 2014-04-09 スマート・インターネット・テクノロジー・シーアールシー・プロプライエタリー・リミテッド コンピュータインターフェースのためのインターフェースエレメント
WO2009033218A1 (en) 2007-09-11 2009-03-19 Smart Internet Technology Crc Pty Ltd A system and method for capturing digital images
EP2201443A4 (en) 2007-09-11 2013-05-01 Smart Internet Technology Crc Pty Ltd System and method for manipulating digital images on a computer display
US8850351B2 (en) * 2007-09-25 2014-09-30 Ati Technologies Ulc Method and tool for virtual desktop management
JP2009080343A (ja) * 2007-09-26 2009-04-16 Brother Ind Ltd 画像投影システム及び画像投影装置
JP2009080663A (ja) * 2007-09-26 2009-04-16 Brother Ind Ltd 画像投影システム、画像投影装置及びプログラム
JP5082722B2 (ja) * 2007-09-28 2012-11-28 ブラザー工業株式会社 画像表示装置及び画像表示システム
JP2009086367A (ja) * 2007-09-28 2009-04-23 Brother Ind Ltd 画像投影システム及びこれに用いられる画像投影装置
JP2009086082A (ja) * 2007-09-28 2009-04-23 Brother Ind Ltd 画像表示装置及び画像表示システム
JP4626775B2 (ja) * 2007-10-16 2011-02-09 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP4453738B2 (ja) 2007-10-18 2010-04-21 ソニー株式会社 ファイル転送方法、装置、およびプログラム
JP2009122947A (ja) * 2007-11-14 2009-06-04 Canon Inc 画面共有システム及びデータ転送方法
JP5194763B2 (ja) * 2007-12-17 2013-05-08 富士ゼロックス株式会社 電子文書処理システム及び電子文書処理方法、並びにコンピュータ・プログラム
JP2009150935A (ja) * 2007-12-18 2009-07-09 Brother Ind Ltd 画像投影システム、端末装置及びプログラム
US8473851B2 (en) * 2008-02-27 2013-06-25 Cisco Technology, Inc. Multi-party virtual desktop
JP5470878B2 (ja) * 2008-03-18 2014-04-16 株式会社リコー 画像読取装置、画像読取方法、画像読取プログラム
AU2009250329A1 (en) * 2008-05-19 2009-11-26 Smart Internet Technology Crc Pty Ltd Systems and methods for collaborative interaction
WO2009152316A1 (en) * 2008-06-11 2009-12-17 Teliris, Inc. Surface computing collaboration system, method and apparatus
US8108777B2 (en) 2008-08-11 2012-01-31 Microsoft Corporation Sections of a presentation having user-definable properties
US8689115B2 (en) * 2008-09-19 2014-04-01 Net Power And Light, Inc. Method and system for distributed computing interface
US20100077335A1 (en) * 2008-09-23 2010-03-25 Action Star Enterprise Co., Ltd. Method for transferring a file through a km device between associated computers
KR101526995B1 (ko) * 2008-10-15 2015-06-11 엘지전자 주식회사 이동 단말기 및 이것의 디스플레이 제어 방법
JP5099232B2 (ja) * 2008-11-12 2012-12-19 コニカミノルタビジネステクノロジーズ株式会社 情報共有化システム
US20100131868A1 (en) * 2008-11-26 2010-05-27 Cisco Technology, Inc. Limitedly sharing application windows in application sharing sessions
CN101751286B (zh) * 2008-11-28 2015-05-13 汉达精密电子(昆山)有限公司 直觉化档案传输方法
US20100164839A1 (en) * 2008-12-31 2010-07-01 Lyons Kenton M Peer-to-peer dynamically appendable logical displays
FR2943871B1 (fr) * 2009-03-25 2011-07-22 Sagem Comm Procede de partage a distance de bureaux(x) informatique(s)
US8914462B2 (en) 2009-04-14 2014-12-16 Lg Electronics Inc. Terminal and controlling method thereof
US10127524B2 (en) * 2009-05-26 2018-11-13 Microsoft Technology Licensing, Llc Shared collaboration canvas
US20100306018A1 (en) * 2009-05-27 2010-12-02 Microsoft Corporation Meeting State Recall
US9830123B2 (en) * 2009-06-09 2017-11-28 Samsung Electronics Co., Ltd. Method for transmitting content with intuitively displaying content transmission direction and device using the same
US20110010629A1 (en) * 2009-07-09 2011-01-13 Ibm Corporation Selectively distributing updates of changing images to client devices
US20110029915A1 (en) * 2009-08-02 2011-02-03 Harris Technology, Llc Layered desktop system
US9277021B2 (en) * 2009-08-21 2016-03-01 Avaya Inc. Sending a user associated telecommunication address
JP5713551B2 (ja) 2009-10-01 2015-05-07 キヤノン株式会社 情報処理システム、情報処理装置、及びそれらの制御方法
JP4818427B2 (ja) * 2009-12-22 2011-11-16 株式会社東芝 情報処理装置及び画面選択方法
US20110183654A1 (en) * 2010-01-25 2011-07-28 Brian Lanier Concurrent Use of Multiple User Interface Devices
US20110181780A1 (en) * 2010-01-25 2011-07-28 Barton James M Displaying Content on Detected Devices
US20110219331A1 (en) * 2010-03-02 2011-09-08 International Business Machines Corporation Window resize on remote desktops
WO2021099839A1 (en) 2019-11-18 2021-05-27 Roy Mann Collaborative networking systems, methods, and devices
WO2021161104A1 (en) 2020-02-12 2021-08-19 Monday.Com Enhanced display features in collaborative network systems, methods, and devices
US11410129B2 (en) 2010-05-01 2022-08-09 Monday.com Ltd. Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems
WO2021144656A1 (en) 2020-01-15 2021-07-22 Monday.Com Digital processing systems and methods for graphical dynamic table gauges in collaborative work systems
US9143570B2 (en) 2010-05-04 2015-09-22 Microsoft Technology Licensing, Llc Desktop screen sharing over HTTP
US9407724B2 (en) 2010-05-04 2016-08-02 Microsoft Technology Licensing, Llc Using double buffering for screen sharing
US20120011465A1 (en) * 2010-07-06 2012-01-12 Marcelo Amaral Rezende Digital whiteboard system
US20120054637A1 (en) * 2010-08-27 2012-03-01 Nokia Corporation Method, apparatus, computer program and user interface
US20120054657A1 (en) * 2010-08-31 2012-03-01 Nokia Corporation Methods, apparatuses and computer program products for enabling efficent copying and pasting of data via a user interface
US9372618B2 (en) 2010-10-01 2016-06-21 Z124 Gesture based application management
CN107122168A (zh) 2010-10-01 2017-09-01 Z124 多操作系统
US8898443B2 (en) 2010-10-01 2014-11-25 Z124 Multi-operating system
US8761831B2 (en) 2010-10-15 2014-06-24 Z124 Mirrored remote peripheral interface
US9383888B2 (en) 2010-12-15 2016-07-05 Microsoft Technology Licensing, Llc Optimized joint document review
US9118612B2 (en) 2010-12-15 2015-08-25 Microsoft Technology Licensing, Llc Meeting-specific state indicators
US9864612B2 (en) 2010-12-23 2018-01-09 Microsoft Technology Licensing, Llc Techniques to customize a user interface for different displays
US8554897B2 (en) * 2011-01-24 2013-10-08 Lg Electronics Inc. Data sharing between smart devices
JP2012203889A (ja) * 2011-03-28 2012-10-22 Fujitsu Ltd 画面共有方法、画面共有装置、及びプログラム
WO2012171069A1 (en) * 2011-06-17 2012-12-20 Smart Internet Technology Crc Pty Ltd A system, method and computer program for interacting with data
US8878794B2 (en) 2011-09-27 2014-11-04 Z124 State of screen info: easel
US8682973B2 (en) 2011-10-05 2014-03-25 Microsoft Corporation Multi-user and multi-device collaboration
US9996241B2 (en) 2011-10-11 2018-06-12 Microsoft Technology Licensing, Llc Interactive visualization of multiple software functionality content items
US10198485B2 (en) 2011-10-13 2019-02-05 Microsoft Technology Licensing, Llc Authoring of data visualizations and maps
KR101943987B1 (ko) * 2011-12-06 2019-04-17 삼성전자주식회사 디바이스 간의 페이지 공유 시스템 및 방법
US20130151624A1 (en) 2011-12-12 2013-06-13 International Business Machines Corporation Context-Sensitive Collaboration Channels
US9588652B2 (en) 2011-12-12 2017-03-07 International Business Machines Corporation Providing feedback for screen sharing
US9852432B2 (en) 2011-12-12 2017-12-26 International Business Machines Corporation Customizing a presentation based on preferences of an audience
US9141264B2 (en) 2011-12-14 2015-09-22 International Business Machines Corporation Variable refresh rates for portions of shared screens
US9124657B2 (en) 2011-12-14 2015-09-01 International Business Machines Corporation Dynamic screen sharing for optimal performance
JP5779085B2 (ja) * 2011-12-22 2015-09-16 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理装置、画面出力システム、画面出力制御方法およびプログラム
KR101922023B1 (ko) 2012-02-20 2018-11-26 삼성전자주식회사 디스플레이장치 및 그 제어방법
CN104020968B (zh) * 2013-02-28 2019-02-26 中兴通讯股份有限公司 控制共享屏幕显示的方法及装置
JP5669218B2 (ja) * 2012-03-27 2015-02-12 Necソリューションイノベータ株式会社 画面表示システム、情報処理装置、画面表示方法、及びプログラム
JP5695597B2 (ja) * 2012-03-29 2015-04-08 株式会社東芝 画面表示装置及び画面表示システム
JP5427911B2 (ja) * 2012-04-11 2014-02-26 Eizo株式会社 カーソル移動制御方法、コンピュータプログラム、カーソル移動制御装置及び画像表示システム
JP6089454B2 (ja) 2012-06-07 2017-03-08 株式会社リコー 画像配信装置、表示装置及び画像配信システム
US9743017B2 (en) * 2012-07-13 2017-08-22 Lattice Semiconductor Corporation Integrated mobile desktop
US10353718B2 (en) * 2012-07-23 2019-07-16 Vmware, Inc. Providing access to a remote application via a web client
CN103577381B (zh) * 2012-07-30 2017-08-25 华为技术有限公司 一种设备间共用输入装置的配置方法及系统
KR101959820B1 (ko) * 2012-10-12 2019-03-20 삼성전자주식회사 멀티미디어 통신 시스템에서 구성 정보 송수신 방법 및 장치
CN102883135B (zh) * 2012-11-01 2015-08-26 成都飞视美视频技术有限公司 屏幕共享及控制方法
CN102883134B (zh) * 2012-11-01 2015-04-22 成都飞视美视频技术有限公司 用于视频会议系统的屏幕共享及控制方法
US20140136985A1 (en) * 2012-11-12 2014-05-15 Moondrop Entertainment, Llc Method and system for sharing content
US9619131B2 (en) * 2013-02-22 2017-04-11 Blackberry Limited Methods and devices for displaying content
US10126927B1 (en) * 2013-03-15 2018-11-13 Study Social, Inc. Collaborative, social online education and whiteboard techniques
US9063631B2 (en) * 2013-03-15 2015-06-23 Chad Dustin TILLMAN System and method for cooperative sharing of resources of an environment
CN104063191B (zh) * 2013-03-18 2017-09-29 联想(北京)有限公司 一种信息处理的方法及电子设备
US9870115B2 (en) * 2013-06-07 2018-01-16 Apple Inc. User interfaces for multiple displays
US20150012831A1 (en) * 2013-07-08 2015-01-08 Jacoh, Llc Systems and methods for sharing graphical user interfaces between multiple computers
JP6381187B2 (ja) * 2013-08-09 2018-08-29 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US10320865B2 (en) * 2013-08-28 2019-06-11 Mersive Technologies, Inc. Graphical indicator of presence, identity, and action for media sharing on a display
KR20150025584A (ko) 2013-08-29 2015-03-11 삼성전자주식회사 화면 공유 방법 및 그 전자 장치
JP5901590B2 (ja) * 2013-08-29 2016-04-13 京セラドキュメントソリューションズ株式会社 電子機器
WO2015035254A1 (en) * 2013-09-05 2015-03-12 Mosaiqq, Inc. System and method for decoupling windows from the desktop it was created on in a multiple desktop environment
US9635091B1 (en) 2013-09-09 2017-04-25 Chad Dustin TILLMAN User interaction with desktop environment
US9507482B2 (en) * 2013-10-07 2016-11-29 Narsys, LLC Electronic slide presentation controller
IN2013CH04818A (ja) * 2013-10-25 2015-08-07 Samsung India Software Operations Pvt Ltd
US9612730B2 (en) * 2014-01-13 2017-04-04 Cisco Technology, Inc. Viewing different window content with different attendees in desktop sharing
WO2015122087A1 (ja) * 2014-02-17 2015-08-20 ソニー株式会社 情報処理システム、情報処理方法、及びプログラム
CN105247855A (zh) * 2014-04-29 2016-01-13 华为技术有限公司 一种实现屏幕共享的方法、装置和系统
JP2016038692A (ja) 2014-08-07 2016-03-22 コニカミノルタ株式会社 情報処理装置、ブラウザプログラムおよび情報処理方法
CN104375825B (zh) * 2014-09-25 2018-06-08 福建升腾资讯有限公司 Vdi环境下桌面窗口元素的跟踪识别方法及系统
JP6256766B2 (ja) * 2014-09-26 2018-01-10 京セラドキュメントソリューションズ株式会社 電子機器
CN105656961B (zh) * 2014-11-13 2019-07-05 中国移动通信集团公司 一种多个用户设备间的无线互动方法和设备
US20160147432A1 (en) * 2014-11-21 2016-05-26 Cisco Technology, Inc. Automatically returning to an active window during a meeting
US10082941B2 (en) * 2015-05-20 2018-09-25 Vmware, Inc. Optimizing window move actions for remoted applications
KR102303417B1 (ko) * 2015-06-19 2021-09-23 삼성전자주식회사 복수의 운영 체제를 지원하는 전자 장치 제어 방법
WO2017069551A1 (en) * 2015-10-23 2017-04-27 Samsung Electronics Co., Ltd. Image displaying apparatus and method of operating the same
EP3380926A1 (en) * 2015-11-26 2018-10-03 Barco NV Content sharing protocol
JP6646214B2 (ja) 2016-02-10 2020-02-14 富士通株式会社 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム
US10564829B2 (en) 2016-03-25 2020-02-18 Vmware, Inc. Optimizing window resize actions for remoted applications
CN105959753A (zh) * 2016-05-16 2016-09-21 微鲸科技有限公司 实现智能电视屏幕共享的方法及系统
CN106001611B (zh) * 2016-06-21 2018-02-27 北京航空航天大学 一种精密高速断续超声振动切削方法
CN105921769B (zh) * 2016-06-22 2018-01-09 北京航空航天大学 一种难加工航空材料高速轴向超声振动切削加工方法
JP6701021B2 (ja) * 2016-07-22 2020-05-27 キヤノン株式会社 通信装置、通信方法、およびプログラム
CN106293583B (zh) * 2016-08-03 2019-10-11 广东威创视讯科技股份有限公司 桌面窗口共享方法和系统
US10157594B2 (en) * 2016-08-23 2018-12-18 Dell Products L.P. Layered content display system
CN106528021A (zh) * 2016-10-27 2017-03-22 三星电子(中国)研发中心 屏幕内容共享方法及装置
US10838681B2 (en) * 2017-04-05 2020-11-17 Panasonic Avionics Corporation Screen mirroring from personal electronic devices to transportation vehicle display screens
US10779051B2 (en) 2017-04-05 2020-09-15 Panasonic Avionics Corporation Screen mirroring from personal electronic devices to transportation vehicle display screens
JP6369607B2 (ja) * 2017-06-28 2018-08-08 コニカミノルタ株式会社 情報処理装置、ブラウザプログラムおよび情報処理方法
US10796412B2 (en) * 2017-07-07 2020-10-06 Intelligent Waves Llc System, method and computer program product for remoting orientation changes
EP3675460B1 (en) * 2017-10-09 2022-06-22 Huawei Technologies Co., Ltd. File sharing method and terminal
JP2019079473A (ja) 2017-10-27 2019-05-23 富士ゼロックス株式会社 情報処理装置及びプログラム
CN109871189A (zh) * 2017-12-05 2019-06-11 中国移动通信集团上海有限公司 一种基于网络文件系统的多终端屏幕共享方法及装置
CN108132767B (zh) * 2017-12-22 2020-07-24 威创集团股份有限公司 应用窗口预览方法和系统
US11698890B2 (en) 2018-07-04 2023-07-11 Monday.com Ltd. System and method for generating a column-oriented data structure repository for columns of single data types
US11436359B2 (en) 2018-07-04 2022-09-06 Monday.com Ltd. System and method for managing permissions of users for a single data type column-oriented data structure
CN111049790B (zh) * 2018-10-15 2021-08-17 北京仁光科技有限公司 数据交互方法
US11416205B2 (en) 2019-04-16 2022-08-16 Apple Inc. Systems and methods for initiating and interacting with a companion-display mode for an electronic device with a touch-sensitive display
JP2019215926A (ja) * 2019-09-12 2019-12-19 ソニー株式会社 表示方法、情報処理装置、および情報処理システム
US20210150481A1 (en) 2019-11-18 2021-05-20 Monday.Com Digital processing systems and methods for mechanisms for sharing responsibility in collaborative work systems
CN111045772A (zh) * 2019-12-02 2020-04-21 维沃移动通信有限公司 一种应用分享方法、电子设备及计算机可读存储介质
CN111158543B (zh) * 2019-12-24 2023-10-24 华为技术有限公司 一种文件处理方法、电子设备、系统和存储介质
EP4143732A1 (en) 2020-05-01 2023-03-08 Monday.com Ltd. Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices
US20240184989A1 (en) 2020-05-01 2024-06-06 Monday.com Ltd. Digital processing systems and methods for virtualfile-based electronic white board in collaborative work systems systems
US11277361B2 (en) 2020-05-03 2022-03-15 Monday.com Ltd. Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems
US11368538B2 (en) * 2020-09-14 2022-06-21 Box, Inc. Platform-agnostic drag-and-drop operations
US11449668B2 (en) 2021-01-14 2022-09-20 Monday.com Ltd. Digital processing systems and methods for embedding a functioning application in a word processing document in collaborative work systems
CN112860208A (zh) * 2021-04-25 2021-05-28 深圳乐播科技有限公司 基于投屏的软件共享方法、装置、设备及存储介质
US11507399B1 (en) * 2021-05-25 2022-11-22 Cisco Technology, Inc. Enabling screen-share in online meeting platform based on virtual desktop
US20220391158A1 (en) * 2021-06-04 2022-12-08 Apple Inc. Systems and Methods for Interacting with Multiple Display Devices
CN114064593B (zh) * 2021-11-12 2024-03-01 北京字跳网络技术有限公司 一种文档共享方法、装置、设备及介质
US11741071B1 (en) 2022-12-28 2023-08-29 Monday.com Ltd. Digital processing systems and methods for navigating and viewing displayed content
US11886683B1 (en) 2022-12-30 2024-01-30 Monday.com Ltd Digital processing systems and methods for presenting board graphics
US11893381B1 (en) 2023-02-21 2024-02-06 Monday.com Ltd Digital processing systems and methods for reducing file bundle sizes

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5289574A (en) * 1990-09-17 1994-02-22 Hewlett-Packard Company Multiple virtual screens on an "X windows" terminal
US5564002A (en) * 1994-08-01 1996-10-08 International Business Machines Corporation Method and apparatus for implementing a virtual desktop through window positioning
US5874960A (en) * 1995-07-05 1999-02-23 Microsoft Corporation Method and system for sharing applications between computer systems
US5841435A (en) * 1996-07-26 1998-11-24 International Business Machines Corporation Virtual windows desktop
US6151020A (en) * 1997-10-24 2000-11-21 Compaq Computer Corporation Real time bit map capture and sharing for collaborative tools
JP4317334B2 (ja) * 2000-09-08 2009-08-19 株式会社リコー 画像形成装置及び文書管理システム
JP2002240387A (ja) * 2000-12-12 2002-08-28 Ricoh Co Ltd 画像形成方法、画像形成装置及び画像情報管理システム
JP2003196242A (ja) * 2001-12-25 2003-07-11 Sony Corp プログラム、ネットワークシステム、端末装置、サーバ装置
US7010755B2 (en) * 2002-04-05 2006-03-07 Microsoft Corporation Virtual desktop manager
JP4340091B2 (ja) * 2002-04-11 2009-10-07 株式会社リコー 紙識別情報管理システム、紙識別情報管理サーバ、およびクライアント装置
US6959866B2 (en) * 2002-05-30 2005-11-01 Ricoh Company, Ltd. 2-Dimensional code pattern, 2-dimensional code pattern supporting medium, 2-dimensional code pattern generating method, and 2-dimensional code reading apparatus and method

Also Published As

Publication number Publication date
JP2006172193A (ja) 2006-06-29
US20060136828A1 (en) 2006-06-22

Similar Documents

Publication Publication Date Title
JP4738805B2 (ja) 画面共有システム、画面共有方法、画面共有プログラム
US20220004294A1 (en) Collaboration system including markers identifying multiple canvases in a shared virtual workspace
TWI443581B (zh) 資源共享系統與方法
US20130219295A1 (en) Multimedia system and associated methods
US8291042B2 (en) On-demand groupware computing
US11288031B2 (en) Information processing apparatus, information processing method, and information processing system
KR20110134940A (ko) 애플리케이션 공유
KR20110110333A (ko) 공간적 가상 통신 환경과의 인터페이싱
JP2001175374A (ja) 情報入出力システム及び情報入出力方法
JP2006338531A (ja) 画面共有サーバ装置、画面共有方法、画面共有サーバプログラム及び記録媒体
US9680885B2 (en) Information processing apparatus and terminal device that communicate with each other
US9953392B2 (en) Multimedia system and associated methods
JP5487695B2 (ja) 中継装置、会議支援システム及びプログラム
JP2006119629A (ja) プレゼンテーションの視覚的忠実性を最適化する方法、システム、及びプログラム
Chiu et al. Manipulating and Annotating Slides in a Multi-Display Environment.
Forlines et al. Adapting a single-user, single-display molecular visualization application for use in a multi-user, multi-display environment
JP2020161118A (ja) 情報処理装置、情報処理方法、及び情報処理システム
US10942631B2 (en) Content delivery system, content reception apparatus, and content delivery method
JP3948264B2 (ja) ネットワーク情報処理システム、及び情報処理方法
Wallace et al. Swordfish: user tailored workspaces in multi-display environments
Liao et al. Shared interactive video for teleconferencing
Roels et al. INFEX: a unifying framework for cross-device information exploration and exchange
JP7031198B2 (ja) 情報処理システム及びプログラム
US20200210136A1 (en) Content server, information sharing system, communication control method, and non-transitory computer-readable medium
JP2020198078A (ja) 情報処理装置、情報処理システム及び情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110128

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: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110427

R150 Certificate of patent or registration of utility model

Ref document number: 4738805

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3