1. Field of the Invention
The invention is related generally to sharing information in an interconnected network environment, more specifically, is related to sharing display information of a specific computer program efficiently.
2. Description of the Related Art
Sharing information such as computer desktop in an interconnected network environment is more and more common in modern days. Various applications like remote teaching and teleconference systems are required for students and participants to see a shared display screen of the lecturer or speaker.
A common technique used in implementing the sharing of display screen is to capture the host computer screen's bit map, which may represent colors and/or transparency information of each pixel. Once the bit map of screen is captured, it is then replicated to all the remote systems for display through the interconnection network.
Please refer to
In modern multitasking operation systems, users usually have more than one program 110 running. In many circumstances, the corresponding window 130 of the shared program 110 would be covered or blocked by other windows 130 during the sharing session. Once it happened, the bit map of the blocked region is not available from the screen capture 142. Therefore all other remote systems 144 cannot display correct information of the blocked region, which have to be grayed out or blacked out to indicate that the region is not available for viewing.
In conclusion, there exists a need to have system and method for correctly sharing display information of a window which is blocked or covered by other windows.
In order to meet the need, a system and a method in accordance with embodiments of the present invention are provided.
The disclosed system for sharing display information comprises a network apparatus for connecting to a receiver of display information, and a memory for storing at least one program, a first graphics driver, a second graphics driver, and a network sharing program. Furthermore, a processor is configured to execute the program, the first graphics driver, and the second graphics driver stored in the memory. The program is executed for generating display information to the first graphics driver. The first graphics driver is executed for forwarding display information to the second graphics driver and the network sharing program. The network sharing program is executed for processing display information and for sending the processed display information to the receiver through the network apparatus. The second graphics driver is executed for translating display information. The system also includes a graphics apparatus for generating display information of a whole desktop according to display information sent from the second graphics driver.
In another aspect, the disclosed method for sharing display information is implemented in a system. The system comprises a network apparatus for connecting to a receiver of display information, and a memory for storing at least one program, a first graphics driver, a second graphics driver, and a network sharing program. A processor of the system is configured to execute the program, the first graphics driver, and the second graphics driver stored in the memory. An apparatus generates display information of a whole desktop. The method comprises executing the program for generating display information to the first graphics driver, executing the first graphics driver forwarding display information to the second graphics driver and the network sharing program, executing the network sharing program for processing display information and for sending the processed display information to the receiver through the network apparatus, and executing the second graphics driver for translating display information to the graphics apparatus.
The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
The foregoing and a better understanding of the present invention will become apparent from the following detailed description of example embodiments and claims when read in connection with the accompanying drawings, all forming a part of the disclosure of this invention. While the foregoing and following written and illustrated disclosure focuses on disclosing example embodiments of the invention, it should be clearly understood that the same is by way of illustration and example only and that the invention is not limited thereto.
The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.
Before beginning a detailed description of the preferred embodiments of the invention, the following statements are in order. The preferred embodiments of the invention are described with reference to an exemplary system for sharing display information. However, the invention is not limited to the preferred embodiments in its implementation. The invention, or any aspect of the invention, may be practiced in any suitable teleconference system, including a multi-media phone system, multi-media server, multi-media player, or multi-source and broadcast center. Portions of the preferred embodiments are shown in block diagram form and described in this application without excessive detail in order to avoid obscuring the invention, and also in view of the fact that specifics with respect to implementation of such a system are known to those of ordinary skill in the art and may be dependent upon the circumstances. In other words, such specifics are variable but should be well within the purview of one skilled in the art. Conversely, where specific details are set forth in order to describe example embodiments of the invention, it should be apparent to one skilled in the art that the invention can be practiced without, or with variation of, these specific details. In particular, where particular display screens are mere examples and may be modified or replaced with different displays without departing from the invention.
Please refer to
Meanwhile, the virtual graphics driver 226 sends all intercepted display information 242 to another rendering process 244 to create a duplicate copy of the display of the shared program 210. The captured display information 242 is continuously updated even the corresponding window 230 is blocked or minimized, consequently, the rendering process 244 renders a bitmap from the intercepted display information 242 regardless of the order and position of the shared program 210 with respect to other windows 230. Through a network sharing program 246, the bitmap rendered from the rendering process 244 can be replayed on all other remote systems (not shown) through internet 248, or sent to a media server (not shown) for further processing, replication, and distribution. The network sharing program 246 is operative to encode, encrypt or compress the bitmap output from the rendering process 244 before sending them to a remote system (not shown) via the internet 248.
Please refer to
In one embodiment, the graphics apparatus 340 may comprise a graphics processing unit and dedicated memory for the local display 350. In addition to render the desktop of the local display 350, the graphics apparatus 340 may also have acceleration capability in 2-dimension and/or 3-dimension image process. According to an embodiment, the second graphics driver is designed to translate display information to adapt to the underlying operations of this corresponding graphics apparatus 340.
In a normal practice, the program may be executed by the processor 330 to generate display information, which may include bit map of a corresponding window, to the second graphics driver for the corresponding graphics apparatus 340. Based on the present invention, the display information to be shared generated from the program is sent to the first graphics driver. So it can be forwarded to the second graphics driver and to the network sharing program. In other words, the display information received from the program and sent to the second graphics driver by the first graphics driver is identical. Once the second graphics driver received the display information, it would be processed as usual before sending to the graphics apparatus 340. Hence, user of this system 300 can view the corresponding window on the local display 350 as usual. The window area is equaled or smaller than the whole desktop shown in the local display 350.
In one embodiment, the display information received by the network sharing program would be processed prior to send to the network apparatus. The process performed by the network sharing program may include various operations such as encoding, encryption, and compression of the bitmap output from the rendering process 244 to optimize the data sharing over networks. Please refer to
In conclusion, in implementations of the present invention, the window of a shared application can be correctly displayed on other remote systems even when the window is blocked by other windows in the local host system. While the invention has been described by way of example and in terms of preferred embodiment, it is to be understood that the invention is not limited thereto. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.
This application claims the benefit of U.S. Provisional Application No. 61/031,746, filed Feb. 27, 2008.
Number | Date | Country | |
---|---|---|---|
61031746 | Feb 2008 | US |