JP2010244124A - System, method and program for sharing of screen - Google Patents

System, method and program for sharing of screen Download PDF

Info

Publication number
JP2010244124A
JP2010244124A JP2009089161A JP2009089161A JP2010244124A JP 2010244124 A JP2010244124 A JP 2010244124A JP 2009089161 A JP2009089161 A JP 2009089161A JP 2009089161 A JP2009089161 A JP 2009089161A JP 2010244124 A JP2010244124 A JP 2010244124A
Authority
JP
Japan
Prior art keywords
computer
window
displayed
root
screen
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.)
Pending
Application number
JP2009089161A
Other languages
Japanese (ja)
Inventor
Hirofumi Kakiuchi
宏文 垣内
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009089161A priority Critical patent/JP2010244124A/en
Publication of JP2010244124A publication Critical patent/JP2010244124A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a screen sharing system capable of displaying a window application across a plurality of display devices connected to a plurality of computers. <P>SOLUTION: In a screen sharing system in which the plurality of sets of display devices and computers are connected through a network, each computer includes a root window management table, a top window management table and a screen sharing control unit, and the screen sharing control unit of one computer transmits the plotting information and coordinate information of any section other than a region displayed on a route window displayed by a display device making a set with the computer among top windows to be displayed by the computer to the screen sharing control unit of the other computer, and when the screen sharing control unit of the other computer receives the plotting information and coordinate information of any section other than the region, the received section is displayed on the route window displayed by the display device making a set with the computer. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、複数のコンピュータに接続された複数の表示装置に跨って一つのウィンドウアプリケーションを表示させる画面共有システム、画面共有方法および画面共有プログラムに関する。   The present invention relates to a screen sharing system, a screen sharing method, and a screen sharing program that display one window application across a plurality of display devices connected to a plurality of computers.

Microsoft(登録商標) RemoteDesktop(以下、公知技術1と呼ぶ)やVNC(以下、公知技術2と呼ぶ)の場合、ルートウィンドウの画面データを転送することにより画面共有を実現する。公知技術1はMicrosoft(登録商標)が提供するWindows(登録商標)のオペレーティングシステム上でしか画面共有することができない。次に公知技術2だが、RFB(Remote Framebuffer)プロトコルをサポートするオペレーティングシステム上でしか画面共有することができない。また、RFBプロトコルをサポートするプログラムをWindows(登録商標)上に実装したとしても、ルートウィンドウの画面データを送受信するという機構のため、その画面データよりトップウィンドウと背景を区別することができない。したがってウィンドウアプリケーションを画面の切り替えなしに相互に表示することはできない。   In the case of Microsoft (registered trademark) RemoteDesktop (hereinafter referred to as known technology 1) and VNC (hereinafter referred to as known technology 2), screen sharing is realized by transferring screen data of the root window. The known technique 1 can share a screen only on a Windows (registered trademark) operating system provided by Microsoft (registered trademark). Next, as known technique 2, screen sharing is possible only on an operating system that supports the RFB (Remote Framebuffer) protocol. Even if a program that supports the RFB protocol is installed on Windows (registered trademark), the top window and the background cannot be distinguished from the screen data because of the mechanism for transmitting and receiving the screen data of the root window. Therefore, window applications cannot be displayed on each other without screen switching.

X Window System(以下、公知技術3と呼ぶ)の場合、Xプロトコルをサポートするオペレーティングシステム間でネットワーク透過的にGUIが利用可能である。しかし、Windows(登録商標)のウィンドウマネージャはXプロトコルをサポートしないため、異なるオペレーティングシステムのウィンドウアプリケーションを表示することができない。また、Xプロトコルはウィンドウアプリケーションを遠隔利用する目的で作られているため、複数のコンピュータに接続された表示装置に跨って一つのウィンドウアプリケーションを表示することはできない。   In the case of the X Window System (hereinafter referred to as known technique 3), a GUI can be used in a network transparent manner between operating systems that support the X protocol. However, since the Windows® window manager does not support the X protocol, it cannot display window applications of different operating systems. Further, since the X protocol is created for the purpose of remotely using a window application, it is not possible to display one window application across display devices connected to a plurality of computers.

公知技術2の技術に基づくMetaVNC(以下、公知技術4と呼ぶ)では、アプリケーションウィンドウ以外の背景領域を透過領域(透過ピクセルとも呼ぶ)として扱うことにより、異なるオペレーティングシステム間においても、ローカルのデスクトップのアプリケーションウィンドウと、リモートのデスクトップのアプリケーションウィンドウを一つの表示装置上に表示することができる。公知技術4は異なるオペレーティングシステムを含む複数のコンピュータ間で画面共有を行うことができるが、次の三つの課題がある。   MetaVNC based on the technology of the publicly known technology 2 (hereinafter referred to as the publicly known technology 4) treats the background area other than the application window as a transparent area (also referred to as a transparent pixel), so that the local desktop can be changed between different operating systems. An application window and a remote desktop application window can be displayed on one display device. Although the known technique 4 can perform screen sharing among a plurality of computers including different operating systems, there are the following three problems.

一つ目の課題は、VNCが用いるRFBプロトコルではXサーバがローカルデスクトップとリモートデスクトップの2つのXクライアントに対して同じ座標にてウィンドウアプリケーションを表示するために、物理的に並べられた表示装置を跨るようにウィンドウを表示できない。   The first problem is that, in the RFB protocol used by VNC, the X server displays a window application at the same coordinates for two X clients, a local desktop and a remote desktop, so that the display devices arranged physically are arranged. The window cannot be displayed so as to straddle.

二つ目の課題は、公知技術4がフルスクリーンモードと透明な背景を用いたローカルデスクトップとリモートデスクトップの画面の合成であるため、ローカルデスクトップに表示されるウィンドウとリモートデスクトップに表示される個々のウィンドウを一つの深度レベル(Z-Order)で管理できない点である。つまり、リモートデスクトップのウィンドウの1つをマウスで選択するとリモートデスクトップのすべてのウィンドウがローカルデスクトップより前面に表示されることになる。また、透明な背景を用いた合成を行う実装上の理由により、Xサーバ側の背景に壁紙は使用できず単色の背景でなければならない。   The second problem is that the known technique 4 is a combination of the local desktop screen and the remote desktop screen using the full screen mode and a transparent background, so that the windows displayed on the local desktop and the individual screens displayed on the remote desktop are displayed. The window cannot be managed with one depth level (Z-Order). That is, if one of the windows of the remote desktop is selected with the mouse, all the windows of the remote desktop are displayed in front of the local desktop. In addition, for the implementation reason of performing synthesis using a transparent background, wallpaper cannot be used as the background on the X server side, and the background must be a single color.

三つ目の課題は、ウィンドウごとに転送された画面データが管理されないため、ローカルデスクトップとリモートデスクトップを合成したアルファブレンディング表示が行えないことである。   The third problem is that the screen data transferred for each window is not managed, and alpha blending display combining the local desktop and the remote desktop cannot be performed.

複数のコンピュータ(異なるオペレーティングシステムである場合を含む)に接続された複数の表示装置に跨って一つのウィンドウアプリケーションを表示することは、例えば仮想ディスプレイドライバを用いた画像転送を用いてデュアルディスプレイシステムにて実現可能である。しかし、複数のコンピュータ(異なるオペレーティングシステムである場合を含む)で動作する複数のウィンドウアプリケーションを複数の表示装置に跨って、画面の切り替えを行うことなく同時に表示して利用することはできない。   Displaying a single window application across multiple display devices connected to multiple computers (including those with different operating systems) is a dual display system using image transfer using a virtual display driver, for example. Is feasible. However, a plurality of window applications that operate on a plurality of computers (including cases where they are different operating systems) cannot be displayed and used simultaneously without switching screens across a plurality of display devices.

異なるオペレーティングシステムを含む複数のコンピュータ間で、キーボードやマウスといったポインティングデバイスなどの入力装置を共有する技術としては、Win2VNC(以下、公知技術5と呼ぶ)やSynergy(以下、公知技術6と呼ぶ)などがある。これらの技術を用いて、異なるオペレーティングシステムを含む複数のコンピュータに接続された表示装置を物理的に並べて配置した場合、それらをひとそろいのキーボードやマウスといった入力装置で操作することができる。また、ポインティングデバイスが表示装置の右端にあたると、もう一方の表示装置の左端に現れるといった操作が可能である。   As a technique for sharing an input device such as a pointing device such as a keyboard and a mouse among a plurality of computers including different operating systems, Win2VNC (hereinafter referred to as known technique 5), Synergy (hereinafter referred to as known technique 6), etc. There is. When these technologies are used to physically arrange display devices connected to a plurality of computers including different operating systems, they can be operated with a set of input devices such as a keyboard and a mouse. Further, when the pointing device hits the right end of the display device, an operation of appearing at the left end of the other display device is possible.

特開2007−164330号公報JP 2007-164330 A

本発明の目的は、複数のコンピュータ(異なるオペレーティングシステムである場合を含む)に接続された複数の表示装置に跨って一つのウィンドウアプリケーションを複数のコンピュータが相互に表示できる(以下、マルチコンピュータ・マルチディスプレイ環境と言う場合がある)画面共有システム、画面共有方法および画面共有プログラムを提供することである。   An object of the present invention is to enable a plurality of computers to mutually display one window application across a plurality of display devices connected to a plurality of computers (including cases in which different operating systems are used) (hereinafter referred to as multicomputer multi-computer It is to provide a screen sharing system, a screen sharing method, and a screen sharing program.

本発明の利用環境として、物理的に並べて配置された複数の表示装置(ディスプレイ)および、それらに接続する複数のコンピュータ(異なるオペレーティングシステムである場合を含む)および、それらを操作する一つのポインティングデバイスとキーボードといった入力装置から構成される。本発明により、利用者は一つのコンピュータに複数の表示装置が接続された環境(マルチディスプレイ環境)を使う認識で複数のコンピュータを一つの統合されたディスプレイ空間(描画空間)として利用することができる。そのための仕組みとして、本発明は以下の画面共有方法を特徴として具備する。   As a use environment of the present invention, a plurality of display devices (displays) physically arranged side by side, a plurality of computers (including cases where they are different operating systems) connected to them, and a single pointing device for operating them And an input device such as a keyboard. According to the present invention, a user can use a plurality of computers as one integrated display space (drawing space) by recognition using an environment (multi-display environment) in which a plurality of display devices are connected to one computer. . As a mechanism for this, the present invention is characterized by the following screen sharing method.

・複数のコンピュータに接続された表示装置を、連続した一つの座標空間および描画空間として扱うため、画面共有システムに参加するコンピュータのルートウィンドウ(表示装置に表示される画像領域の名称、デスクトップとも呼ばれる)の座標情報を管理し、ウィンドウアプリケーション(ルートウィンドウに対してトップウィンドウとも呼ばれる)の画像情報のうち、異なるコンピュータへ転送する一部の座標領域を判定アルゴリズムにより抽出し、その抽出された画像情報を管理し、その画像情報が描画されるべき座標を管理するためのデータ構造およびその固有の処理ステップを持つ。 A display device connected to a plurality of computers is treated as one continuous coordinate space and drawing space, so that the root window of the computer that participates in the screen sharing system (the name of the image area displayed on the display device, also called the desktop) ) And coordinate information extracted from the image information of the window application (also called the top window with respect to the root window) using a determination algorithm. And a data structure for managing the coordinates where the image information is to be drawn, and its unique processing steps.

・各コンピュータのオペレーティングシステムには、ウィンドウマネージャやXサーバなどと呼ばれるプログラムが実装されている。このプログラムは、ウィンドウアプリケーションの生成、削除、描画、合成を管理して、表示装置に表示するルートウィンドウの画像データ(フレームバッファとも呼ばれる)を生成する。また、このプログラムが、ウィンドウアプリケーションの画像をルートウィンドウに合成する目的で、オフスクリーンバッファと呼ばれるメモリ領域に書き込みを行う。本発明では、このオフスクリーンバッファへの書き込みを行った時点で「画面共有制御部」というプログラムが画面共有の目的に応じて、オフスクリーンバッファをコピーし、異なるコンピュータの「画面共有制御部」に送信するという固有の処理ステップを持つ。 A program called a window manager or an X server is installed in the operating system of each computer. This program manages generation, deletion, drawing, and composition of window applications, and generates image data (also referred to as a frame buffer) of a root window to be displayed on the display device. In addition, this program writes in a memory area called an off-screen buffer for the purpose of synthesizing the window application image with the root window. In the present invention, at the time of writing to the off-screen buffer, a program called “screen sharing control unit” copies the off-screen buffer according to the purpose of screen sharing and transfers it to the “screen sharing control unit” of a different computer. It has a unique processing step of sending.

・コピーされたオフスクリーンバッファのデータを受信したコンピュータの「画面共有制御部」は、ウィンドウマネージャやXサーバなどと呼ばれるプログラムに働きかけ、受信した部分的な画像を表示するためのウィンドウアプリケーションを生成して、送信元の要求により、画像の更新やウィンドウアプリケーションの削除といった状態管理を行うという固有の機構を持つ。 The “screen sharing control unit” of the computer that has received the copied off-screen buffer data works with a program called a window manager or X server to generate a window application for displaying the received partial image. Thus, it has a unique mechanism for performing state management such as image update and window application deletion in response to a request from the transmission source.

本発明では、仮想ディスプレイドライバの上位にあたるウィンドウマネージャにより、ウィンドウアプリケーションの画像データが、メモリ上のオフスクリーンバッファに描画されたタイミングで、バッファ上のデータをコピーしてネットワークを経由して送信することにより、複数のコンピュータにそれぞれ接続された物理的に並べて配置された複数個の表示装置に跨って一つのウィンドウアプリケーションを表示することを特徴としている。   In the present invention, the image data of the window application is copied and transmitted via the network at the timing when the image data of the window application is drawn in the off-screen buffer on the memory by the window manager that is higher in the virtual display driver. Thus, one window application is displayed across a plurality of display devices that are physically arranged and arranged respectively connected to a plurality of computers.

あるウィンドウアプリケーションが、異なるコンピュータに接続される表示装置の画像の描画領域に重なる場合に、ウィンドウマネージャはメモリ上のオフスクリーンバッファに描画した画像データをコピーして、異なるコンピュータに転送する。その画像データを受信したプログラムは、そのコンピュータのウィンドウマネージャに画像表示用のウィンドウの生成を命令して、そのウィンドウ上に画像を表示する。物理的に並べて配置された異なるコンピュータに接続される複数個の表示装置上に、画像データが跨って表示される。また、転送された画像データは一つのウィンドウとしてリモートデスクトップで扱われるため、一つの深度レベル(Z-Order)にて管理が可能となる。また、個々のウィンドウについて転送された画像データに対するマスク画像が存在しうるため、アルファブレンディング表示も可能となる。   When a window application overlaps an image drawing area of a display device connected to a different computer, the window manager copies the image data drawn in an off-screen buffer in the memory and transfers the image data to a different computer. The program that has received the image data instructs the window manager of the computer to generate a window for image display, and displays the image on the window. Image data is displayed across a plurality of display devices connected to different computers that are physically arranged. In addition, since the transferred image data is handled as one window by the remote desktop, it can be managed at one depth level (Z-Order). Further, since there can be a mask image for the image data transferred for each window, alpha blending display is also possible.

第1の効果は、異なるコンピュータで動作する複数のウィンドウアプリケーションの操作について、画面を切り替えることなく物理的に並べて配置した複数の表示装置を一つの表示装置として画面を跨って利用できることである。   The first effect is that a plurality of display devices arranged in a physical arrangement without switching the screen can be used across the screen as a single display device for the operation of a plurality of window applications operating on different computers.

その理由は、本発明が異なるコンピュータのウィンドウアプリケーションの物理的な並べて配置した表示装置を連続した描画空間として扱い、描画情報を相互に転送して他の表示装置と描画領域が重なる部分のウィンドウを表示できるためである。   The reason for this is that the present invention treats display devices arranged in a physical array of different computer window applications as a continuous drawing space, and transfers drawing information to each other so that the window where the drawing area overlaps with other display devices is displayed. This is because it can be displayed.

第2の効果は、異なるオペレーティングシステム間であってもウィンドウアプリケーションが動作するオペレーティングシステムが提供するウィンドウの見た目で操作できることである。   The second effect is that the operation of the window provided by the operating system on which the window application operates can be operated even between different operating systems.

その理由は、転送される描画情報は、ウィンドウの枠や枠に配置されているボタンも含めて描画情報として転送し、転送された側のリモートトップウィンドウはその描画情報を忠実に表示するだけのウィンドウであるため、表示装置を跨る境界線でウィンドウの枠のデザインが変わることはない。アルファブレンディングを用いるウィンドウについても、転送先がアルファブレンディングをサポートしていれば、同様の外観を再現することができる。   The reason is that the transferred drawing information is transferred as drawing information including the frame of the window and the buttons arranged in the frame, and the remote top window on the transferred side only displays the drawing information faithfully. Since it is a window, the design of the frame of the window does not change at the boundary line straddling the display device. For windows that use alpha blending, the same appearance can be reproduced if the destination supports alpha blending.

第3の効果は、ネットワークの大域を消費しないため効率的であることである。   The third effect is that it is efficient because it does not consume a large area of the network.

その理由は、リモートデスクトップのように画面全体の描画情報を転送するのではなく、他の表示装置と描画領域が重なる部分の描画情報についてのみ転送するため、重なる部分がない場合、トラフィックが発生しない。また、重なる部分が小さい場合についても転送する情報量が少ないためネットワークの大域を消費しないため効率的である。   The reason is that the drawing information of the entire screen is not transferred like the remote desktop, but only the drawing information of the portion where the drawing area overlaps with other display devices is transferred, so traffic does not occur if there is no overlapping portion. . Even when the overlapping portion is small, the amount of information to be transferred is small, so it is efficient because the global area of the network is not consumed.

本発明の第1の実施形態の構成を示す図である。It is a figure which shows the structure of the 1st Embodiment of this invention. 画面共有システムへの参加手順を示すフローチャートである。It is a flowchart which shows the participation procedure to a screen sharing system. 管理テーブル119を示す図である。It is a figure which shows the management table 119. コンピュータA,Bの物理的に配置された表示装置の描画を示す図である。It is a figure which shows drawing of the display apparatus physically arrange | positioned of computers A and B. FIG. コンピュータA,Bの管理テーブルの例を示す図である。It is a figure which shows the example of the management table of computers A and B. FIG. コンピュータA,B,C,Dの物理的に配置された表示装置の描画を示す図である。It is a figure which shows drawing of the display apparatus physically arrange | positioned of computer A, B, C, D. FIG. コンピュータA,B,C,Dの管理テーブルの例を示す図である。It is a figure which shows the example of the management table of computer A, B, C, D. 描画領域の重なりの有無の判定方法と、その場合の転送対象領域を示す図である。It is a figure which shows the determination method of the presence or absence of the overlap of a drawing area, and the transfer object area | region in that case. 転送対象領域の取得フローを示す図である。It is a figure which shows the acquisition flow of a transfer object area | region. 画面共有制御部の描画に関する送信処理フローである。It is the transmission processing flow regarding drawing of a screen sharing control part. 画面共有制御部の描画に関する受信処理フローである。It is a reception processing flow regarding drawing of a screen sharing control unit.

次に、本発明の第1の実施形態の構成について図面を参照して詳細に説明する。図1を参照すると、本発明の第1の実施形態は、プログラム制御により動作するコンピュータA(中央処理装置;プロセッサ;データ処理装置)100と、コンピュータB(中央処理装置;プロセッサ;データ処理装置)200と、コンピュータA100に接続されている表示装置101および入力装置116と、コンピュータB200に接続されている表示装置201および入力装置216とを備えている。   Next, the configuration of the first exemplary embodiment of the present invention will be described in detail with reference to the drawings. Referring to FIG. 1, in the first embodiment of the present invention, a computer A (central processing unit; processor; data processing device) 100 and a computer B (central processing unit; processor; data processing device) operating by program control are illustrated. 200, a display device 101 and an input device 116 connected to the computer A100, and a display device 201 and an input device 216 connected to the computer B200.

コンピュータA100は、ディスプレイドライバ102と、ルートウィンドウバッファ104と、ウィンドウマネージャ105と、オフスクリーンバッファ107と、コンピュータBにとってのリモートトップウィンドウ110のためのオフスクリーンバッファ111と、オフスクリーンバッファブローカ112と、入力装置ブローカ113と、ネットワークインタフェース114と、入力装置ドライバ115と、仮想入力装置ドライバ117と、画面共有制御部118と、管理テーブル119とを備えている。ウィンドウマネージャ105は、ルートウィンドウ103と、トップウィンドウ106と、コンピュータBにとってのリモートトップウィンドウ110とを管理する。オフスクリーンバッファ107には、描画情報a108および描画情報b109が格納されている。オフスクリーンバッファ111には、描画情報c208が格納されている。   Computer A 100 includes display driver 102, root window buffer 104, window manager 105, off-screen buffer 107, off-screen buffer 111 for remote top window 110 for computer B, off-screen buffer broker 112, An input device broker 113, a network interface 114, an input device driver 115, a virtual input device driver 117, a screen sharing control unit 118, and a management table 119 are provided. The window manager 105 manages the root window 103, the top window 106, and the remote top window 110 for the computer B. The off-screen buffer 107 stores drawing information a108 and drawing information b109. The off-screen buffer 111 stores drawing information c208.

コンピュータB200は、ディスプレイドライバ202と、ルートウィンドウバッファ204と、ウィンドウマネージャ205と、オフスクリーンバッファ207と、コンピュータAにとってのリモートトップウィンドウ210のためのオフスクリーンバッファ211と、オフスクリーンバッファブローカ212と、入力装置ブローカ213と、ネットワークインタフェース214と、入力装置ドライバ215と、仮想入力装置ドライバ217と、画面共有制御部218と、管理テーブル219とを備えている。ウィンドウマネージャ205は、ルートウィンドウ203と、トップウィンドウ206と、コンピュータAにとってのリモートトップウィンドウ210とを管理する。オフスクリーンバッファ207には、描画情報c208および描画情報d209が格納されている。オフスクリーンバッファ211には、描画情報b109が格納されている。   Computer B 200 includes display driver 202, root window buffer 204, window manager 205, off-screen buffer 207, off-screen buffer 211 for remote top window 210 for computer A, off-screen buffer broker 212, An input device broker 213, a network interface 214, an input device driver 215, a virtual input device driver 217, a screen sharing control unit 218, and a management table 219 are provided. The window manager 205 manages the root window 203, the top window 206, and the remote top window 210 for the computer A. The off-screen buffer 207 stores drawing information c208 and drawing information d209. The off-screen buffer 211 stores drawing information b109.

コンピュータA100のネットワークインタフェース114と、コンピュータB200のネットワークインタフェース214とは、ネットワークで接続されている。   The network interface 114 of the computer A100 and the network interface 214 of the computer B200 are connected by a network.

これらの手段はそれぞれ概略つぎのように動作する。まず、コンピュータA100の画像出力手段としては、コンピュータA100上で動作するトップウィンドウ106がウィンドウマネージャ105の機能の呼び出しにより新規に生成、もしくは再描画され、その描画情報がオフスクリーンバッファ107に記録される。オフスクリーンバッファブローカ112は記録された描画情報をコンピュータA100の表示装置101に表示する描画情報a108と、コンピュータB200の表示装置201に表示する描画情報b109に分ける。オフスクリーンバッファブローカ112は描画情報b109をコンピュータB200のオフスクリーンバッファブローカ212にネットワークインタフェース114と、ネットワークインタフェース214とを経由して転送する。また、オフスクリーンバッファブローカ112はコンピュータB200から転送された描画情報c208の管理をウィンドウマネージャ105に命令する。ウィンドウマネージャ105は、リモートトップウィンドウ110を、新規に生成もしくは再描画するために、オフスクリーンバッファ111に描画情報c208を保持する。コンピュータA100の表示装置101に表示する際に、描画情報a108および描画情報c208を、ルートウィンドウ103を管理するルートウィンドウバッファ104に書き込み、描画情報を合成して、ディスプレイドライバ102への描画命令にて表示装置101に描画する。   Each of these means generally operates as follows. First, as an image output unit of the computer A100, the top window 106 operating on the computer A100 is newly generated or redrawn by calling a function of the window manager 105, and the drawing information is recorded in the off-screen buffer 107. . The off-screen buffer broker 112 divides the recorded drawing information into drawing information a108 displayed on the display device 101 of the computer A100 and drawing information b109 displayed on the display device 201 of the computer B200. The off-screen buffer broker 112 transfers the drawing information b109 to the off-screen buffer broker 212 of the computer B200 via the network interface 114 and the network interface 214. The off-screen buffer broker 112 instructs the window manager 105 to manage the drawing information c208 transferred from the computer B200. The window manager 105 holds the drawing information c208 in the off-screen buffer 111 in order to newly generate or redraw the remote top window 110. When displaying on the display device 101 of the computer A 100, the drawing information a 108 and the drawing information c 208 are written in the root window buffer 104 that manages the root window 103, and the drawing information is synthesized, and a drawing command to the display driver 102 is used. Drawing on the display device 101.

コンピュータA100の入力手段としては、マウスなどのポインティングデバイスからの操作イベントやキーボードからの操作イベントを入力装置116が保持し、入力装置ドライバ115に伝達する。入力装置116はコンピュータA100とコンピュータB101で共有されるため、ポインティングデバイスの座標にしたがって入力装置ブローカ113が動作する。   As an input unit of the computer A100, the input device 116 holds an operation event from a pointing device such as a mouse or an operation event from a keyboard and transmits the operation event to the input device driver 115. Since the input device 116 is shared by the computer A100 and the computer B101, the input device broker 113 operates according to the coordinates of the pointing device.

コンピュータA100のネットワーク通信手段としては、描画情報b109をコンピュータB200のリモートトップウィンドウ210のオフスクリーンバッファ211に転送したり、入力装置ドライバ115の操作イベントをコンピュータB200の仮想入力装置ドライバ215に転送したりする。ネットワーク通信はLocal Area NetworkでのTCP/IP通信など既存技術を用いて行う。   As network communication means of the computer A100, the drawing information b109 is transferred to the off-screen buffer 211 of the remote top window 210 of the computer B200, or the operation event of the input device driver 115 is transferred to the virtual input device driver 215 of the computer B200. To do. Network communication is performed using existing technology such as TCP / IP communication in the Local Area Network.

次に、第1の実施形態の動作を詳細に説明する。まず、本発明の実施結果のイメージを図4に示す。コンピュータAに表示装置101が接続され、コンピュータBに表示装置201が接続されている環境にて、コンピュータAの1つのアプリケーションの画像がトップウィンドウ106とリモートトップウィンドウ210に分割され、2つの表示装置を跨るように表示されている。また、コンピュータBの1つのアプリケーションの画像がトップウィンドウ206とリモートトップウィンドウ110に分かれ、2つの表示装置を跨るように表示されている。   Next, the operation of the first embodiment will be described in detail. First, FIG. 4 shows an image of an implementation result of the present invention. In an environment where the display device 101 is connected to the computer A and the display device 201 is connected to the computer B, an image of one application of the computer A is divided into the top window 106 and the remote top window 210, and the two display devices It is displayed to straddle. Further, an image of one application of the computer B is divided into a top window 206 and a remote top window 110 and displayed so as to straddle two display devices.

次に、図3を参照して本発明の画面共有システムに参加しているコンピュータの情報を管理するためのルートウィンドウ管理テーブル500について説明する。ルートウィンドウ管理テーブル500は、画面共有システムに所属しているルートウィンドウIDの一覧と、どのルートウィンドウがローカルのコンピュータのものであるかを示す情報と、ルートウィンドウのグローバル座標とから構成されている。ルートウィンドウのグローバル座標は、画面共有システムを構成する際の最初のコンピュータのルートウィンドウの左上の座標を原点(0,0)として、追加されたコンピュータの表示装置の物理的な配置に一致するように、表示装置の画面解像度分以上の距離をおいて、追加されたコンピュータのルートウィンドウのグローバル座標が設定される。物理的な配置の定義は、画面共有システムを利用するユーザが行う。   Next, a root window management table 500 for managing information of computers participating in the screen sharing system of the present invention will be described with reference to FIG. The root window management table 500 includes a list of root window IDs belonging to the screen sharing system, information indicating which root window belongs to the local computer, and global coordinates of the root window. . The global coordinates of the root window match the physical arrangement of the added computer display device with the upper left coordinate of the root window of the first computer when configuring the screen sharing system as the origin (0, 0). The global coordinates of the root window of the added computer are set at a distance equal to or greater than the screen resolution of the display device. The physical layout is defined by a user who uses the screen sharing system.

図5のmのルートウィンドウ管理テーブルの例R500、R501が示すように、左にm、右にmといった表示装置の配置をユーザが定義した場合に、すべての表示装置の解像度が1280×1024だとすると、それぞれR500やR501の第3列に記載されたルートウィンドウのグローバル座標となる。 Examples of root window management table of m 0 in FIG. 5 R500, as R501 is shown, when m 0 to the left, the user placement of the display device such as m 1 to the right defined, the resolution of all of the display device 1280 If it is × 1024, it becomes the global coordinates of the root window described in the third column of R500 and R501, respectively.

次に、コンピュータA100とコンピュータB200が画面共有システムを構成する場合の画面共有システムへの参加手順を図2のフローチャートを用いて説明する。ここでは、ユーザがコンピュータA100を操作して手続きを行う場合を例に説明する。まず、コンピュータA100の画面共有制御部118は、ネットワークインタフェース114、214を経由してルートウィンドウ管理テーブル500の有無をコンピュータB200の画面共有制御部218に問い合わせ、結果を取得し、その結果をコンピュータAの画面共有制御部118が持つルートウィンドウ管理テーブル500の有無の情報と照合する(ステップS400)。そして、その結果として、4つの処理フローに分岐する。   Next, a procedure for participating in the screen sharing system when the computer A100 and the computer B200 constitute the screen sharing system will be described with reference to the flowchart of FIG. Here, a case where the user performs a procedure by operating the computer A100 will be described as an example. First, the screen sharing control unit 118 of the computer A100 inquires of the screen sharing control unit 218 of the computer B200 about the presence or absence of the root window management table 500 via the network interfaces 114 and 214, obtains the result, and obtains the result. The screen sharing control unit 118 checks whether or not the root window management table 500 is present (step S400). As a result, the process branches to four processing flows.

1つ目の処理フローとして、コンピュータA100にルートウィンドウ管理テーブル500が既にある場合、コンピュータA100のルートウィンドウ管理テーブル500にコンピュータB200のレコードを追加する(ステップS401)。次に、コンピュータAのルートウィンドウ管理テーブル500をネットワークインタフェース114と214を経由してコンピュータBに複製する(ステップS402)。コンピュータAのルートウィンドウ管理テーブル500にその他のコンピュータのレコードがもしある場合、ネットワークインタフェース114を用いてコンピュータB200のレコードの追加を通知する(ステップS403)。   As a first processing flow, when the root window management table 500 already exists in the computer A100, the record of the computer B200 is added to the root window management table 500 of the computer A100 (step S401). Next, the root window management table 500 of the computer A is copied to the computer B via the network interfaces 114 and 214 (step S402). If there is a record of another computer in the root window management table 500 of the computer A, the addition of the record of the computer B 200 is notified using the network interface 114 (step S403).

2つ目の処理フローとして、コンピュータB200にルートウィンドウ管理テーブル500が既にある場合、コンピュータB200のルートウィンドウ管理テーブル500にコンピュータA100のレコードを追加する(ステップS404)。次に、コンピュータBのルートウィンドウ管理テーブル500をネットワークインタフェース214と114を経由してコンピュータAに複製する(ステップS405)。コンピュータBのルートウィンドウ管理テーブル500にその他のコンピュータのレコードがもしある場合、ネットワークインタフェース214を用いてコンピュータAのレコードの追加を通知する(ステップS406)。   As a second processing flow, when the root window management table 500 already exists in the computer B200, a record of the computer A100 is added to the root window management table 500 of the computer B200 (step S404). Next, the root window management table 500 of the computer B is copied to the computer A via the network interfaces 214 and 114 (step S405). If there is a record of another computer in the root window management table 500 of the computer B, the addition of the record of the computer A is notified using the network interface 214 (step S406).

3つ目の処理フローとして、コンピュータA100とコンピュータB200にルートウィンドウ管理テーブル500がある場合、画面共有制御部118と218間の通信により2つのルートウィンドウ管理テーブル500のレコード情報をマージする(ステップS407)。次に、コンピュータA100はマージした結果をコンピュータA100とコンピュータB200のルートウィンドウ管理テーブル500に登録されているその他のコンピュータにネットワークインタフェースを介して通知を行う(ステップS408)。   As a third processing flow, when the computer A 100 and the computer B 200 have the root window management table 500, the record information of the two root window management tables 500 is merged by communication between the screen sharing control units 118 and 218 (step S407). ). Next, the computer A100 notifies the merged result to the other computers registered in the root window management table 500 of the computer A100 and the computer B200 via the network interface (step S408).

4つ目の処理フローとして、コンピュータA100にもコンピュータB200にもルートウィンドウ管理テーブル500がない場合、画面共有制御部118と218は、それぞれルートウィンドウ管理テーブル500を新規に作成し、コンピュータA100とコンピュータB200のレコードを追加する(ステップS409)。   As a fourth processing flow, when neither the computer A 100 nor the computer B 200 has the root window management table 500, the screen sharing control units 118 and 218 newly create the root window management table 500, respectively, and the computer A 100 and the computer A A record of B200 is added (step S409).

4つの分岐した処理フローのうち該当するものが完了すると、画面共有制御部118はユーザに対して、マウスなどのポインティングデバイスやキーボードといった入力装置116の制御先のコンピュータの指定を要求する(ステップS410)。ルートウィンドウ管理テーブル500にレコードとして登録されている任意の台数のコンピュータが指定対象になるが、ここでは、コンピュータA100とコンピュータB200と他のコンピュータCのそれぞれが指定された3つに分岐した処理フローについて説明する。   When the corresponding one of the four branched processing flows is completed, the screen sharing control unit 118 requests the user to specify a computer to be controlled by the input device 116 such as a pointing device such as a mouse or a keyboard (step S410). ). An arbitrary number of computers registered as records in the root window management table 500 can be designated, but here, the processing flow branches into three designated computers A100, B200, and other computers C, respectively. Will be described.

まず、コンピュータA100を制御先と指定した場合、入力装置116から入力された信号は入力装置ドライバ115によって、そのままコンピュータA100を操作することができる。コンピュータA以外の入力装置、例えばコンピュータB200の入力装置216から入力があった場合、入力された信号は、入力装置ドライバ215が受け取るが、入力装置ブローカ213によって、ネットワークインタフェース214、114を介して入力装置ブローカ113に転送され、コンピュータA100の仮想入力装置ドライバ117からコンピュータA100への入力として処理される(ステップS411)。   First, when the computer A100 is designated as a control destination, a signal input from the input device 116 can be operated as it is by the input device driver 115. When there is an input from an input device other than the computer A, for example, the input device 216 of the computer B200, the input device driver 215 receives the input signal, but the input device broker 213 inputs it through the network interfaces 214 and 114. It is transferred to the device broker 113 and processed as an input from the virtual input device driver 117 of the computer A100 to the computer A100 (step S411).

2つ目の処理フローとして、コンピュータBを制御先として指定した場合、入力装置216から入力された信号は、入力装置ドライバ215によって、そのままコンピュータB200を操作することができる。コンピュータB以外の入力装置、例えばコンピュータA100の入力装置116から入力があった場合、入力された信号は、入力装置ドライバ115が受け取るが、入力装置ブローカ113によって、ネットワークインタフェース114、214を介して入力装置ブローカ213に転送され、コンピュータB200の仮想入力装置ドライバ217からコンピュータB200への入力として処理される(ステップS412)。   When the computer B is designated as the control destination as the second processing flow, the signal input from the input device 216 can directly operate the computer B200 by the input device driver 215. When there is an input from an input device other than the computer B, for example, the input device 116 of the computer A100, the input device driver 115 receives the input signal, but the input device broker 113 inputs it through the network interfaces 114 and 214. It is transferred to the device broker 213 and processed as an input from the virtual input device driver 217 of the computer B200 to the computer B200 (step S412).

3つ目の処理フローとして、ルートウィンドウ管理テーブル500に登録されている他コンピュータCを制御先と指定した場合も、同様にコンピュータCの入力装置でコンピュータCの操作ができ、入力装置116や216から入力があった場合は、最終的にコンピュータCの仮想入力装置ドライバに転送されてコンピュータCを操作できる(ステップS413)。以上で、画面共有システムへの参加が完了する。   As a third processing flow, even when another computer C registered in the root window management table 500 is designated as a control destination, the computer C can be similarly operated by the input device of the computer C, and the input devices 116 and 216 can be operated. Is finally transferred to the virtual input device driver of the computer C, and the computer C can be operated (step S413). This completes participation in the screen sharing system.

次に、図3に示したコンピュータm上で動作するウィンドウアプリケーションである個々のトップウィンドウを管理するテーブル、mのトップウィンドウ管理テーブル501について説明する。トップウィンドウ管理テーブル501は、トップウィンドウIDと、トップウィンドウのグローバル座標と、描画情報の転送先のルートウィンドウIDから構成されている。トップウィンドウIDは、ルートウィンドウIDとウィンドウIDの連結された情報にて一意に識別することができる情報を使用する。描画情報の転送先のルートウィンドウIDは、そのm上で動作するトップウィンドウがm以外のコンピュータに接続された表示装置の描画領域に重なる場合に、そのコンピュータのルートウィンドウIDを記録する列である。 Next, a table for managing the individual top window is a window application running on a computing m i shown in FIG. 3, the top window management table 501 of m i will be described. The top window management table 501 is composed of a top window ID, global coordinates of the top window, and a root window ID to which drawing information is transferred. As the top window ID, information that can be uniquely identified by information obtained by concatenating the root window ID and the window ID is used. Root window ID of the transfer destination of the drawing information, when overlapping the drawing area of the display device in which the top window is connected to a computer other than the m i which operates on the m i, column for recording the root window ID of the computer It is.

例えば、図5のmのトップウィンドウ管理テーブルの例R502のようにトップウィンドウm−ID1が2つの表示装置上に、第2列に記載されたグローバル座標のように配置された場合、第3列のような描画情報転送先のルートウィンドウIDが図10のステップS713、S714、S715、S716、S717で特定され、トップウィンドウ管理テーブルの第3列に記録される(図10のS718)。具体的には、S713にて、ルートウィンドウIDがmの場合、自マシン(自分自身のコンピュータ)ではないため、処理がS714に移り、b(x)≧A(x)は、1399≧0で真となり、S715では、a(x)≦B(x)は、600≦1279で真となり、S716では、b(y)≧A(y)は、499≧0で真となり、S717では、a(y)≦B(y)は、600≦1023で真となり、処理がS718に移り、ルートウィンドウIDmが描画情報転送先のルートウィンドウIDとしてレコードに記述される。 For example, when the top window m 0 -ID1 is arranged on the two display devices like the global coordinates described in the second column as in the example R502 of the top window management table of m 0 in FIG. The root window ID of the drawing information transfer destination as in the third column is specified in steps S713, S714, S715, S716, and S717 in FIG. 10, and is recorded in the third column of the top window management table (S718 in FIG. 10). Specifically, at S713, if the root window ID is m 1, not a local machine (own computer), the process proceeds to S714, b (x) ≧ A (x) it is, 1399 ≧ 0 In S715, a (x) ≦ B (x) is true if 600 ≦ 1279. In S716, b (y) ≧ A (y) is true if 499 ≧ 0. In S717, a (y) ≦ B (y) becomes true at 600 ≦ 1023, the process proceeds to S718, the root window IDm 1 is described in the record as a root window ID of the drawing information transfer destination.

次に、図3に示したmのトップウィンドウ管理テーブル501のレコードの描画情報転送先のルートウィンドウIDが存在する場合に、そのトップウィンドウの描画情報の転送対象領域を管理するmの描画情報転送対象領域の管理テーブル502について説明する。描画情報転送対象領域の管理テーブル502は、第1列のトップウィンドウIDと、第2列の描画情報転送先のルートウィンドウIDの組み合わせをキーとして一意に識別されるレコードから成る。そのキーによって管理される情報として、描画情報転送対象領域のグローバル座標であるp(x,y)とq(x,y)のデータが管理される。 Then, if m i top window drawing information destination root window ID of the record of the management table 501 of the shown in FIG. 3 is present, the drawing of m i which manages the transfer target region of the drawing information of the top window The information transfer target area management table 502 will be described. The drawing information transfer target area management table 502 is composed of records that are uniquely identified using a combination of the top window ID in the first column and the root window ID of the drawing information transfer destination in the second column as a key. As information managed by the key, data of p (x, y) and q (x, y), which are global coordinates of the drawing information transfer target area, is managed.

例えば、図5のmの描画情報転送対象領域の管理テーブルの例R504のように、トップウィンドウm−ID1の情報からR502に記録されたa01(x,y)とb01(x,y)のデータを取得し、描画情報転送先のルートウィンドウIDmの情報からR500に記録されたA(x,y),B(x,y)のデータを取得し、図9のS600からS611のフロー処理より、p(x,y)とq(x,y)のデータを取得し、管理テーブルR504にレコードとして記録する。具体的には、図9のS600では、a01(x)<A(x)は、600<1280で真となり、S601にて、p(x)=1280となる。S603では、a01(y)<A(y)は、100>0で偽となり、S605にてp(y)=100となる。S606では、b01(x)<B(x)は、1399<2599で真となり、S607にて、q(x)=1399となる。S609では、b01(y)<B(y)は、499<1023で真となり、S610にてq(y)=499となる。なお、図9の処理は、図8に示したルートウィンドウのグローバル座標とトップウィンドウのグローバル座標の大小関係による重なり方の分類に従って転送対象領域を抽出し、それをp(x,y)とq(x,y)に代入する処理をフロー化したものである。 For example, a 01 (x, y) and b 01 (x, x, y) recorded in R502 from the information of the top window m 0 -ID1 as in the example R504 of the drawing information transfer target area management table of m 0 in FIG. The data of y) is acquired, the data of A 1 (x, y), B 1 (x, y) recorded in R500 is acquired from the information of the root window ID m 1 of the drawing information transfer destination, and S600 in FIG. To S611, p (x, y) and q (x, y) data are acquired and recorded as records in the management table R504. Specifically, in S600 of FIG. 9, a 01 (x) <A 1 (x) is true when 600 <1280, and p (x) = 1280 in S601. In S603, a 01 (y) <A 1 (y) becomes false when 100> 0, and p (y) = 100 in S605. In S606, b 01 (x) <B 1 (x) is true when 1399 <2599, and in S607, q (x) = 1399. In S609, b 01 (y) <B 1 (y) becomes true when 499 <1023, and q (y) = 499 in S610. Note that the processing of FIG. 9 extracts the transfer target area in accordance with the classification of the overlapping method according to the size relationship between the global coordinates of the root window and the global coordinates of the top window shown in FIG. This is a flow of the process of substituting for (x, y).

次に、図10に示した画面共有制御部の描画に関する処理フロー(送信処理)について説明する。共有画面システムに参加したコンピュータの画面共有制御部(図1の118や218)は、コンピュータm上で動作するウィンドウアプリケーションである個々のトップウィンドウからのウィンドウマネージャ(図1の105や205)に送られる4つのイベント(トップウィンドウの再描画S700、トップウィンドウの生成と描画S708、トップウィンドウのリサイズと描画S710、トップウィンドウの消滅S722)を関数のラッパー処理、呼び出し関数のオーバーライドなどによりウィンドウアプリケーションとウィンドウマネージャの処理の間に入り、そのイベントの発生を契機に処理を開始する。 Next, a process flow (transmission process) related to drawing by the screen sharing control unit illustrated in FIG. 10 will be described. Screen sharing control unit of the shared screen computer participating in the system (118 or 218 in FIG. 1) is the window manager from the individual top window is a window application running on a computing m i (105 and 205 in FIG. 1) Four events to be sent (top window redrawing S700, top window creation and drawing S708, top window resizing and drawing S710, top window disappearance S722) are defined as a window application by function wrapper processing, call function override, etc. It enters the window manager process and starts when the event occurs.

まず、トップウィンドウの生成と描画S708のイベントが発生した場合、トップウィンドウのIDを生成し、オフスクリーンバッファを生成して、ウィンドウアプリケーションの描画情報を格納する(S709)。S712にてルートウィンドウのカウンタiを0にセットし、S713にて、図3にて示したmのルートウィンドウ管理テーブル500を参照して、ルートウィンドウIDがmであるレコードのローカルコンピュータの列のデータを確認して自マシンである場合(データが○である場合)は、S713の結果を偽として、iをカウントアップし、S713を再度判定する。(フロー図からは省略したが、iがiの最大値を超えてルートウィンドウ管理テーブルに該当するレコードがなくなった場合、描画対象領域なしとしてフロー処理は終了する。)ローカルコンピュータの列のデータを確認して自マシンでない場合(データが−である場合)は、S713の結果を真として、S714からS717の比較を実施し、全て真であれば、S718を実施し、一つでも偽があれば、ルートウィンドウmに対する描画転送対象領域はないと判定して、S726の判定にてリサイズのイベントではないため、S721の判定に処理が移動し、iをカウントアップし、m>mmaxの場合(mが存在しない場合)にフローは終了し、mが存在する場合は、S713からカウントアップされたiのルートウィンドウmについて処理を行う。S718では、既に説明したようにmのトップウィンドウ管理テーブル(図3の501)の描画情報転送先のルートウィンドウIDにmを記録し、S719にて図9の転送対象領域のグローバル座標p、qを取得し、mの描画情報転送対象領域の管理テーブル(図3の502)に記録する。次に、S720にて、管理テーブルより描画対象領域のp、qの座標値を取得し、トップウィンドウのaijのグローバル座標値より、p、qのグローバル座標値をS709やS711で生成したオフスクリーンバッファ上のローカル座標に変換して示される領域の描画情報(RGB情報、必要に応じてアルファブレンディングのマスク情報を含む)を取得してトップウィンドウIDとともにmの画面共有制御部に送信する。S721にてiをカウントアップし、m>mmaxの場合(mが存在しない場合)にフローは終了し、mが存在する場合は、S713か
らカウントアップされたiのルートウィンドウmについて処理を行う。
First, when the event of top window generation and drawing S708 occurs, the top window ID is generated, the off-screen buffer is generated, and the drawing information of the window application is stored (S709). And sets a counter i of the root window to 0 in S712, in S713, with reference to the root window management table 500 of the m i shown in FIG. 3, the root window ID is a local computer record is m i If the data of the column is confirmed and the machine is the own machine (when the data is ◯), the result of S713 is set as false, i is counted up, and S713 is determined again. (Although omitted from the flow chart, if i exceeds the maximum value of i and there is no corresponding record in the root window management table, the flow process ends with no drawing target area.) If it is confirmed that the machine is not its own machine (when the data is-), the result of S713 is set as true, the comparison from S714 to S717 is performed, and if all are true, S718 is performed, and even one of them is false. if, it is determined that there is no drawing transfer object region to the root window m i, not a resize event in the determination of S726, the process moves to decision of S721, increments the i, m i> m max flow when (if m i does not exist) of the ends, if m i is present, route window of i which is counted up from S713 It performs a process for m i. In S718, the m i recorded already root window ID of drawing information transfer destination top window management table of m i as described (501 in FIG. 3), the global coordinates p in the transfer object region of FIG. 9 at S719 acquires q, is recorded in the management table of rendering information transferred area of m i (502 in FIG. 3). Next, in S720, the coordinate values of p and q of the drawing target area are obtained from the management table, and the global coordinate values of p and q are generated in S709 and S711 from the global coordinate values of a ij in the top window. drawing information (RGB information includes mask information of alpha blending, if necessary) in the region indicated by converting the local coordinates on the screen buffer and transmits to the screen sharing control unit of m i with top window ID to get . The i is counted up by S721, m i> m flow when (if m i is not present) of max ends, if m i is present, the root window m i for i which is counted up from S713 Process.

トップウィンドウのリサイズと描画S710のイベントが発生した場合、S711にて、トップウィンドウのIDを取得し、オフスクリーンバッファを生成して、ウィンドウアプリケーションの描画情報を格納する。トップウィンドウの生成と描画S708のイベントが発生した場合と同様に、S713からS717の判定により、描画転送対象領域があるか、ないかを判定する。描画転送対象領域がある場合は、既に説明したように描画情報転送先のルートウィンドウIDにmを管理テーブル501に記録する。ただし、リサイズ処理のため既に描画情報転送先のルートウィンドウIDmが該当レコード行に存在する場合は何もしない。S719にて転送対象領域を取得し、mの描画情報転送対象領域の管理テーブル502に記載する。ただし、リサイズ処理のため既に描画情報転送対象領域のグローバル座標のレコード行が存在する場合、p(x)、p(y)、q(x)、q(y)の座標データを更新する。S720、S721については、トップウィンドウの生成と描画S708と全く同様に処理する。S714からS717の処理にて、偽の判定があった場合は、描画転送対象領域がないので、S726にてトップウィンドウのリサイズと描画の処理中の場合は、S727にて、リモートのコンピュータmへの描画対象領域の情報がリストにあるかをトップウィンドウ管理テーブル501の処理中のトップウィンドウIDについて確認する。ある場合は、S728にて領域のリモートトップウィンドウの削除依頼をウィンドウIDとともに、mに送信する。そして、S729にてトップウィンドウIDと描画情報転送先のルートウィンドウIDに関連するレコード行を502から削除し、トップウィンドウ管理テーブル501から、トップウィンドウIDに関連する第3列の描画情報転送先のルートウィンドウIDの該当するルートウィンドウIDのデータを削除する。その後のS721については、トップウィンドウの生成と描画S708が発生した場合と同じである。 When the event of the top window resizing and drawing S710 occurs, the ID of the top window is acquired in S711, an off-screen buffer is generated, and the drawing information of the window application is stored. As in the case of the generation of the top window and the event of drawing S708, it is determined whether there is a drawing transfer target area by the determination of S713 to S717. If there is a drawing transfer object region records the m i in the management table 501 in the root window ID of drawing information transfer destination as already described. However, it does not do anything if the root window IDm i already drawing information transfer destination for the resizing process is present in the record row. Get the transfer object region at S719, described in the management table 502 of the drawing information transfer object region of the m i. However, if there is already a global coordinate record line in the drawing information transfer target area for resizing processing, the coordinate data of p (x), p (y), q (x), and q (y) is updated. S720 and S721 are processed in exactly the same manner as the top window generation and drawing S708. In the process of S717 from S714, when there is judged false, since there is no drawing transfer object region, if during the processing of drawing and resizing of top window at S726, at S727, the remote computer m i The top window ID being processed in the top window management table 501 is checked to see if the information on the drawing target area is in the list. If so, together with the window ID of the deletion request of the remote top window area at S728, and transmits the m i. In step S729, the record line related to the top window ID and the root window ID of the drawing information transfer destination is deleted from 502, and the drawing information transfer destination of the third column related to the top window ID is deleted from the top window management table 501. The data of the root window ID corresponding to the root window ID is deleted. The subsequent S721 is the same as the case where the top window generation and the drawing S708 occur.

トップウィンドウの消滅S722のイベントが発生した場合、S723にて消滅するトップウィンドウのIDを取得する。S724にてルートウィンドウのカウンタiを0にセットし、S725にて、図3にて示したmのルートウィンドウ管理テーブル500を参照して、ルートウィンドウIDがmであるレコードのローカルコンピュータの列のデータを確認して自マシンである場合(データが○である場合)は、S725の結果を偽として、iをカウントアップし、S725を再度判定する。(フロー図からは省略したが、iがiの最大値を超えてルートウィンドウ管理テーブルに該当するレコードがなくなった場合、描画対象領域なしとしてフロー処理は終了する。)ローカルコンピュータの列のデータを確認して自マシンでない場合(データが−である場合)は、S725の結果を真とする。既に説明したS727、S728、S729の処理を行い、S721にて、iをカウントアップし、m>mmaxの場合(mが存在しない場合)にフローは終了し、mが存在する場合は、S725からカウントアップされたiのルートウィンドウmについて処理を行う。 When the event of the disappearance of the top window S722 occurs, the ID of the top window that disappears is acquired in S723. And sets a counter i of the root window to 0 in S724, in S725, with reference to the root window management table 500 of the m i shown in FIG. 3, the root window ID is a local computer record is m i If the data of the column is confirmed and the machine is the own machine (when the data is ◯), the result of S725 is set as false, i is counted up, and S725 is determined again. (Although omitted from the flow chart, if i exceeds the maximum value of i and there is no corresponding record in the root window management table, the flow process ends with no drawing target area.) If it is confirmed that the machine is not its own machine (if the data is-), the result of S725 is true. Already it performs processing the S727, S728, S729 described at S721, and counts up i, flow in the case of m i> m max (if m i is not present) is terminated, if m i is present performs processing for root window m i of i which is incremented from S725.

トップウィンドウの再描画S700のイベントが発生した場合、S701にて再描画するトップウィンドウのIDを取得し、オフスクリーンバッファを生成して、ウィンドウアプリケーションの描画情報を格納する。S702にてルートウィンドウのカウンタiを0にセットし、S703にて、図3にて示したmのルートウィンドウ管理テーブル500を参照して、ルートウィンドウIDがmであるレコードのローカルコンピュータの列のデータを確認して自マシンである場合(データが○である場合)は、S703の結果を偽として、iをカウントアップし、S703を再度判定する。(フロー図からは省略したが、iがiの最大値を超えてルートウィンドウ管理テーブルに該当するレコードがなくなった場合、描画対象領域なしとしてフロー処理は終了する。)ローカルコンピュータの列のデータを確認して自マシンでない場合(データが−である場合)は、S703の結果を真とする。S704にて、リモートのコンピュータmへの描画対象領域の情報がリストにあるかをトップウィンドウ管理テーブル501の処理中のトップウィンドウIDについて確認する。ある場合は、S705にて、管理テーブルより描画対象領域のp、qの座標値を取得し、トップウィンドウのaijのグローバル座標値より、p、qのグローバル座標値をS701で生成したオフスクリーンバッファ上のローカル座標に変換して示される領域の描画情報(RGB情報、必要に応じてアルファブレンディングのマスク情報を含む)を取得する。S706にて、描画対象領域の描画情報を、ウィンドウIDとともに、mに送信する。S707にてiをカウントアップし、m>mmaxの場合(mが存在しない場合)にフローは終了し、mが存在する場合は、S703からカウントアップされたiのルートウィンドウmについて処理を行う。 When the top window redrawing S700 event occurs, the ID of the top window to be redrawn is acquired in S701, an off-screen buffer is generated, and the drawing information of the window application is stored. And sets a counter i of the root window to 0 in S702, in S703, with reference to the root window management table 500 of the m i shown in FIG. 3, the root window ID is a local computer record is m i If the data of the column is confirmed and the machine is the own machine (when the data is ◯), the result of S703 is set to be false, i is counted up, and S703 is determined again. (Although omitted from the flow chart, if i exceeds the maximum value of i and there is no corresponding record in the root window management table, the flow process ends with no drawing target area.) If it is confirmed that the machine is not its own machine (if the data is-), the result of S703 is true. At S704, information of the object area to a remote computer m i is checked for top window ID in the processing of top window management table 501 whether the list. If there is, in step S705, the coordinate values of p and q of the drawing target area are obtained from the management table, and the global coordinate values of p and q are generated in step S701 from the global coordinate values of a ij in the top window. Drawing information (RGB information, including alpha blending mask information as necessary) of the area indicated by being converted into local coordinates on the buffer is acquired. At S706, the drawing information of the drawing target region, together with the window ID, and transmits the m i. The i is counted up by S707, m i> m flow when (if m i does not exist) of max ends, if m i is present, the root window m i of i which is counted up from S703 Process.

次に、図11に示した画面共有制御部の描画に関する処理フロー(受信処理)について説明する。共有画面システムに参加したコンピュータの画面共有制御部(図1の118や218)は、mをルートウィンドウに持つコンピュータから図10で示した処理によりリモートトップウィンドウの生成や削除、リサイズや再描画の依頼を送信する。その依頼を受信したmをルートウィンドウに持つコンピュータは、図3のリモートトップウィンドウの描画対象領域の管理テーブル503にて、リモートトップウィンドウの管理を行う。 Next, a processing flow (reception processing) related to drawing by the screen sharing control unit illustrated in FIG. 11 will be described. The screen sharing control unit (118 or 218 in FIG. 1) of the computer participating in the shared screen system generates, deletes, resizes, and redraws the remote top window by the process shown in FIG. 10 from the computer having mi as the root window. Send the request. The computer that has received the request and has mk as the root window manages the remote top window in the management table 503 of the drawing target area of the remote top window in FIG.

トップウィンドウID(m−ID)と描画情報を受信した場合(S900)、S901にて、トップウィンドウの描画対象領域の管理テーブル503の第1列にてm−IDに一致するレコードが存在するかを確認する。存在する場合、S902にて受信データにp、qの座標値があるかを確認する。p、qの座標値がある場合、リモートトップウィンドウのリサイズと再描画の依頼であることがわかるので、S903にてリモートトップウィンドウの描画対象領域の管理テーブル503のレコードのp、qの座標値を更新する。そして、S904にて、m−IDに一致するレコードに記録されているmのトップウィンドウID(ID)を指定して、受信した描画情報(RGB情報、必要に応じてアルファブレンディングマスク情報)でリモートトップウィンドウのリサイズと再描画をウィンドウマネージャに命令して処理フローを完了する。S902にてp、qの座標値がない場合、リモートトップウィンドウの再描画の依頼であることがわかるので、S905にて、m−IDに一致するレコードに記録されているmのトップウィンドウID(ID)を指定して、受信した描画情報(RGB情報、必要に応じてアルファブレンディングマスク情報)でリモートトップウィンドウの再描画をウィンドウマネージャに命令して処理フローを完了する。S901の判定にて、m−IDに一致するレコードが存在しなかった場合、リモートトップウィンドウの生成の依頼であることがわかるので、S906にてリモートトップウィンドウの描画対象領域の管理テーブル503にレコードを追加し、S907にて、受信したp、qの座標値と描画情報でリモートトップウィンドウの生成をウィンドウマネージャに命令する。そして、S908にて生成されたmのトップウィンドウID(ID)をウィンドウマネージャから取得して、レコードに記録して処理フローを完了する。 When the top window ID (m i -ID j ) and the drawing information are received (S900), in S901, a record that matches m i -ID j in the first column of the top window drawing target area management table 503 Check if exists. If it exists, it is checked in step S902 whether the received data has p and q coordinate values. If there are coordinate values of p and q, it can be understood that the request is for resizing and redrawing of the remote top window. Therefore, in S903, the coordinate values of p and q of the record in the management table 503 of the drawing target area of the remote top window are determined. Update. In step S904, the top window ID (ID n ) of m k recorded in the record that matches m i -ID j is designated, and the received drawing information (RGB information, alpha blending mask as necessary) Information) instructs the window manager to resize and redraw the remote top window to complete the processing flow. P at S902, if there is no coordinate value of q, since it can be seen that a request for re-drawing of the remote top window, at S905, the top of the m k which is recorded in the record that matches the m i -ID j A window ID (ID n ) is designated, and the window manager is instructed to redraw the remote top window with the received drawing information (RGB information, alpha blending mask information as necessary) to complete the processing flow. If it is determined in S901 that there is no record that matches m i -ID j , it can be determined that the request is for generating a remote top window. In S906, the management table 503 for the drawing target area of the remote top window is determined. In step S907, the window manager is instructed to generate a remote top window using the received p and q coordinate values and drawing information. Then, the top window ID (ID n ) of m k generated in S908 is acquired from the window manager, recorded in the record, and the processing flow is completed.

一方、リモートトップウィンドウの削除依頼をトップウィンドウID(m−ID)とともに受信した場合(S909)、S910にてトップウィンドウID(ID)を指定して、リモートトップウィンドウの削除をウィンドウマネージャに命令する。そしてS911にてリモートトップウィンドウの描画対象領域の管理テーブル503からトップウィンドウID(m−ID)に一致するレコード行を削除して処理フローを完了する。 On the other hand, when the remote top window deletion request is received together with the top window ID (m i -ID j ) (S909), the top window ID (ID n ) is designated in S910 to delete the remote top window from the window manager. To order. In step S911, the record line matching the top window ID (m i -ID j ) is deleted from the drawing target area management table 503 of the remote top window, and the processing flow is completed.

次に、本発明の第1の実施形態の効果について説明する。本発明の第1の実施形態では、画面共有制御部が画面共有システムに参加するコンピュータに導入されており、グローバル座標を共有できるので、異なるコンピュータに接続される表示装置の画像の描画領域に重なる場合に、オフスクリーンバッファに描画された画像データをコピーして、異なるコンピュータに転送することができる。   Next, effects of the first exemplary embodiment of the present invention will be described. In the first embodiment of the present invention, the screen sharing control unit is installed in a computer that participates in the screen sharing system and can share global coordinates, so that it overlaps the image drawing area of a display device connected to a different computer. In some cases, the image data drawn in the off-screen buffer can be copied and transferred to a different computer.

また、本発明の第1の実施形態では、さらに、送信するRGBの描画情報の他に、アルファブレンディングのマスク画像を送信することで、アルファブレンディングを用いたトップウィンドウとリモートトップウィンドウの画像の合成が可能である。   Further, in the first embodiment of the present invention, in addition to the RGB drawing information to be transmitted, an alpha blending mask image is transmitted, so that the top window image and the remote top window image using alpha blending are combined. Is possible.

また、本発明の第1の実施形態では、さらに、転送された画像データは一つのウィンドウとしてリモートデスクトップで扱われるため、マウスによるウィンドウの選択で再描画されたフラグを送信データに含めることで、一つの深度レベル(Z-Order)にて管理が可能となる。   Further, in the first embodiment of the present invention, since the transferred image data is handled as one window in the remote desktop, the redrawn flag is included in the transmission data by selecting the window with the mouse. Management is possible at one depth level (Z-Order).

本発明の他の実施形態を図6および図7に示す。図6および図7は、4つの表示装置を物理的に並べて配置した場合の表示装置上のトップウィンドウの表示イメージと、ルートウィンドウmを持つコンピュータの管理テーブルの例を示したものである。 Another embodiment of the present invention is shown in FIGS. 6 and 7 illustrates the display image of the top window on the display device when placed side by side four display apparatus physically, the example of the management table of the computer that has the root window m 0.

本発明によれば、複数のコンピュータサーバ上でそれぞれ動作するウィンドウアプリケーションの統合管理や統合監視する装置といった用途に適用できる。また、リモートデスクトップ機能の代替機能といった用途や、複数のコンピュータを所有するユーザのデュアルディスプレイ機能の代替機能といった用途にも適用可能である。   INDUSTRIAL APPLICABILITY According to the present invention, the present invention can be applied to applications such as integrated management of window applications that operate on a plurality of computer servers and an integrated monitoring apparatus. Further, the present invention can be applied to an application such as an alternative function of a remote desktop function or an alternative function of a dual display function of a user who owns a plurality of computers.

100 コンピュータA
200 コンピュータB
102、202 ディスプレイドライバ
104、204 ルートウィンドウバッファ
105、205 ウィンドウマネージャ
107、207、111、211 オフスクリーンバッファ
112、212 オフスクリーンバッファブローカ
113、213 入力装置ブローカ
114、214 ネットワークインタフェース
115、215 入力装置ドライバ
117、217 仮想入力装置ドライバ
118、218 画面共有制御部
119、219 管理テーブル
103、203 ルートウィンドウ
106、206 トップウィンドウ
110、210 リモートトップウィンドウ
108 描画情報a
109 描画情報b
208 描画情報c
209 描画情報d
100 Computer A
200 Computer B
102, 202 Display driver 104, 204 Root window buffer 105, 205 Window manager 107, 207, 111, 211 Off-screen buffer 112, 212 Off-screen buffer broker 113, 213 Input device broker 114, 214 Network interface 115, 215 Input device driver 117, 217 Virtual input device driver 118, 218 Screen sharing control unit 119, 219 Management table 103, 203 Root window 106, 206 Top window 110, 210 Remote top window 108 Drawing information a
109 Drawing information b
208 Drawing information c
209 Drawing information d

Claims (3)

表示装置とコンピュータの組が、複数、ネットワークで接続されている画面共有システムにおいて、
各コンピュータは、
各コンピュータと組になっている表示装置に表示されるルートウィンドウの座標情報を管理するルートウィンドウ管理テーブルと、
複数の表示装置に表示される複数のルートウィンドウ上に跨って表示されるトップウィンドウの座標情報を管理するトップウィンドウ管理テーブルと、
画面共有制御部とを備えていて、
1つのコンピュータの画面共有制御部は、このコンピュータが表示しようとするトップウィンドウのうち、このコンピュータと組になっている表示装置に表示されているルートウィンドウ上に表示される領域以外の部分の描画情報および座標情報を、他のコンピュータの画面共有制御部に送信し、
当該他のコンピュータの画面共有制御部は、前記領域以外の部分の描画情報および座標情報を受信したら、この部分を、当該他のコンピュータと組になっている表示装置に表示されているルートウィンドウ上に表示する
ことを特徴とする画面共有システム。
In a screen sharing system in which multiple pairs of display devices and computers are connected via a network,
Each computer
A root window management table for managing coordinate information of a root window displayed on a display device paired with each computer;
A top window management table for managing coordinate information of a top window displayed over a plurality of root windows displayed on a plurality of display devices;
A screen sharing control unit,
The screen sharing control unit of one computer draws a portion of the top window to be displayed by this computer other than the area displayed on the root window displayed on the display device paired with this computer. Send information and coordinate information to the screen sharing control unit of other computers,
When the screen sharing control unit of the other computer receives the drawing information and coordinate information of the part other than the area, this part is displayed on the root window displayed on the display device paired with the other computer. A screen sharing system characterized by being displayed on the screen.
表示装置とコンピュータの組が、複数、ネットワークで接続された状態で複数のコンピュータが画面を共有するための方法において、
各コンピュータは、
各コンピュータと組になっている表示装置に表示されるルートウィンドウの座標情報を管理し、
複数の表示装置に表示される複数のルートウィンドウ上に跨って表示されるトップウィンドウの座標情報を管理し、
1つのコンピュータは、このコンピュータが表示しようとするトップウィンドウのうち、このコンピュータと組になっている表示装置に表示されているルートウィンドウ上に表示される領域以外の部分の描画情報および座標情報を、他のコンピュータに送信し、
当該他のコンピュータは、前記領域以外の部分の描画情報および座標情報を受信したら、この部分を、当該他のコンピュータと組になっている表示装置に表示されているルートウィンドウ上に表示する
ことを特徴とする画面共有方法。
In a method for a plurality of computers sharing a screen in a state where a plurality of sets of display devices and computers are connected via a network,
Each computer
Manage the coordinate information of the root window displayed on the display device paired with each computer,
Manage the coordinate information of the top window displayed across multiple root windows displayed on multiple display devices,
One computer displays drawing information and coordinate information of a portion other than an area displayed on a root window displayed on a display device paired with the computer among top windows to be displayed by the computer. Send to other computers,
When the other computer receives the drawing information and the coordinate information of the part other than the area, the other computer displays the part on the root window displayed on the display device paired with the other computer. A featured screen sharing method.
表示装置とコンピュータの組が、複数、ネットワークで接続された状態で複数のコンピュータが画面を共有するためのプログラムにおいて、
各コンピュータが、各コンピュータと組になっている表示装置に表示されるルートウィンドウの座標情報を管理するステップと、
各コンピュータが、複数の表示装置に表示される複数のルートウィンドウ上に跨って表示されるトップウィンドウの座標情報を管理するステップと、
1つのコンピュータが、このコンピュータが表示しようとするトップウィンドウのうち、このコンピュータと組になっている表示装置に表示されているルートウィンドウ上に表示される領域以外の部分の描画情報および座標情報を、他のコンピュータに送信するステップと、
当該他のコンピュータが、前記領域以外の部分の描画情報および座標情報を受信したら、この部分を、当該他のコンピュータと組になっている表示装置に表示されているルートウィンドウ上に表示するステップと
を各コンピュータに実行させることを特徴とする画面共有プログラム。
In a program for a plurality of computers sharing a screen in a state where a plurality of sets of display devices and computers are connected via a network,
Each computer managing coordinate information of a root window displayed on a display device paired with each computer;
Each computer managing coordinate information of a top window displayed across a plurality of root windows displayed on a plurality of display devices; and
One computer displays drawing information and coordinate information of a portion other than an area displayed on a root window displayed on a display device paired with the computer among top windows to be displayed by the computer. Sending to other computers,
When the other computer receives drawing information and coordinate information of a part other than the area, displaying the part on a root window displayed on a display device paired with the other computer; A screen sharing program that causes each computer to execute.
JP2009089161A 2009-04-01 2009-04-01 System, method and program for sharing of screen Pending JP2010244124A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009089161A JP2010244124A (en) 2009-04-01 2009-04-01 System, method and program for sharing of screen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009089161A JP2010244124A (en) 2009-04-01 2009-04-01 System, method and program for sharing of screen

Publications (1)

Publication Number Publication Date
JP2010244124A true JP2010244124A (en) 2010-10-28

Family

ID=43097104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009089161A Pending JP2010244124A (en) 2009-04-01 2009-04-01 System, method and program for sharing of screen

Country Status (1)

Country Link
JP (1) JP2010244124A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04116689A (en) * 1990-09-07 1992-04-17 Nippon Telegr & Teleph Corp <Ntt> Picture sharing control system
JP2000293285A (en) * 1999-04-12 2000-10-20 Hitachi Ltd Screen display control system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04116689A (en) * 1990-09-07 1992-04-17 Nippon Telegr & Teleph Corp <Ntt> Picture sharing control system
JP2000293285A (en) * 1999-04-12 2000-10-20 Hitachi Ltd Screen display control system

Similar Documents

Publication Publication Date Title
JP5889559B2 (en) Information processing method and information processing system
US7812843B2 (en) Distributed resource architecture and system
US7859483B2 (en) Electronic conference control device, electronic conference assistance method, storage medium, and computer data signal
JP4695474B2 (en) Composite video control apparatus, composite video control method, and program
US8924502B2 (en) System, method and computer program product for updating a user session in a mach-derived system environment
US20100162127A1 (en) Information processing system and display control method
JP2012194673A (en) Information processor and control method therefor, and program
US20180113663A1 (en) Browser based display system for displaying image data
JP2007305121A (en) Method and system for adapting single-client, single-user application to multi-user, multi-client environment
JP2009169885A (en) Multiple screen display system
JP2004317583A (en) Plotting device
JP2005148450A (en) Display controller and program
WO2013186979A1 (en) Information processing device, information processing system, information processing method, and program
WO2017178519A1 (en) Display system for displaying image data
JP2015121574A (en) Multi-display management device and multi-display management program
JP2010244124A (en) System, method and program for sharing of screen
JP2006227555A (en) Multiwindow display device and multiwindow image management method
JP5213033B2 (en) Software input key display method, program, and information processing terminal
JP6587078B2 (en) Information processing method and information processing apparatus
CN114168057B (en) Multi-picture corresponding multi-host real-time touch interaction method
JP6554041B2 (en) Information processing method and information processing apparatus
JP6025588B2 (en) Supervisory control system
JP5591092B2 (en) Display control apparatus, display control method, and program
JP2019046394A (en) GUI screen remote display device, GUI screen remote display system, GUI screen remote display method, and GUI screen remote display program
JP2019215926A (en) Display method, information processing apparatus, and information processing system

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100723

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130507