This invention relates to a method and apparatus of controlling the viewable area of content displayed on a computer system, and, more particularly, to controlling a local computer system view of the content displayed on a remote computer system.
User workstations or managed machines (computing devices) operate in a data communication network by communicating with other managed machines and/or administrative machines. Regardless of the status of the machine, administrative machines operate to support the ongoing communication and applications operating on the managed machines.
Accessing and executing commands on a managed machine through an administrative interface is a common method of updating, controlling, debugging and ensuring the continued seamless operation of the managed machine. The administrator may operate a local computing system to connect and control the operations of a remote computing system. In some instances, the content viewable on the remotely managed computer system may be simultaneously viewed by an administrator operating a local computing system. However, certain challenges are presented with the advent of varying operating systems, control interfaces and display devices of the managed machines operating on a data communication network.
Generally, the display area associated with any display device is limited in size and only provides limited real estate with respect to the amount of content that may be displayed on-screen at any given time. It is common for display devices to display multiple different windows of varying size. The windows and corresponding display attributes on one computer system may be displayed at a particular resolution (e.g., 1680×1050 pixels). The display attributes of the computer system may also be limited by a predefined viewable area of the display device (e.g., 15 inches, 17, inches, etc.).
When viewing content displayed on a remote computer system across a network via a local computer system, the remote computer system's display attributes may not readily conform to the display attributes of the local computer system. For example, the remote computer system may have a first resolution used to display a plurality of windows and other on-screen content. The local computer system may have a different resolution and display size that does not readily conform to those of the remote computer system. As a result, the plurality of windows currently displayed on the remote computer system may appear differently when being simultaneously viewed on the local computer system.
One embodiment of the present invention may include a method of establishing a remote control session over a network to the remote computer system, accessing the viewable content currently displayed on the remote computer system, reformatting the viewable content to change a size of the viewable content and displaying the reformatted viewable content on the local computer system while the remote computer system and the local computer system are communicatively connected.
One embodiment of the present invention may include an apparatus configured to control the viewable content of a remote computer system on a local computer system. The apparatus may include a transmitter configured to establish a remote control session over a network to the remote computer system, and access the viewable content currently displayed on the remote computer system. The apparatus may include a processor configured to reformat the viewable content to change a size of the viewable content and a display configured to display the reformatted viewable content on the local computer system while the remote computer system and the local computer system are communicatively connected.
It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of a method, apparatus, and system, as represented in the attached figures, is not intended to limit the scope of the invention as claimed, but is merely representative of selected embodiments of the invention.
The features, structures, or characteristics of the invention described throughout this specification may be combined in any suitable manner in one or more embodiments. For example, the usage of the phrases “example embodiments”, “some embodiments”, or other similar language, throughout this specification refers to the fact that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present invention. Thus, appearances of the phrases “example embodiments”, “in some embodiments”, “in other embodiments”, or other similar language, throughout this specification do not necessarily all refer to the same group of embodiments, and the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
In addition, while the term “message” has been used in the description of embodiments of the present invention, the invention may be applied to many types of network data, such as packet, frame, datagram, etc. For purposes of this invention, the term “message” also includes packet, frame, datagram, and any equivalents thereof. Furthermore, while certain types of messages and signaling are depicted in exemplary embodiments of the invention, the invention is not limited to a certain type of message, and the invention is not limited to a certain type of signaling.
According to an example embodiment of the present invention, a user may selectively and independently enlarge a window on a remote system over the secure connection 110. The window may also be returned to its original size and position. Enlarging the window may be limited to the maximum local viewable area, or 100% of the native resolution of the remote system.
A computer system for either the remote computer system and/or local computer system may include a computational device, such as a central processing unit (CPU), random access memory (RAM), a hard disk or drive, and a display device coupled to the CPU. The computer system may be a personal computer, server, laptop computer, tablet computing device, smart phone, etc.
A sizing application operating on the local computer system of the administrator machine 102 may be used to calculate a size to display the content currently being displayed on the remote computer system of the managed machine 103. Once a size is calculated, the re-sized content may then be displayed on the local computer system of the administrator machine 102. The calculation may be performed by comparing a native resolution of the remote computer system 103 to a local resolution of the local computer system 102 and display area of the local computer system.
In this example, two windows 204 and 206 are illustrated as being part of the remote computer system's display area 200. As the content of the display area is resized for the local computer system's display area 202, the corresponding windows 204 and 206 are automatically recalculated in size to adjust to the scaling factor of the local computer system's display area. The adjusted windows from the remote computer system's display area 200 are transformed into two smaller windows 208 and 210, which are displayed in the content area of the local computer system 202. As indicated above, the native resolution of the remote computer system 103 is larger than the resolution and resulting local computer system viewable area 202. The sizing application scaled the content of the remote computer system to fit into the viewable area of the local computer system.
The size at which the remote desktop will display its viewable content may be determined by comparing the resolution of the remote system's display area 200 to the area in which the remote system is displayed on the local display area 202. For instance if the remote system display area 200 has a present resolution of 1680×1050 pixels and the area in which that remote system is currently being displayed is 1024×768, then the current remote session will be scaled to 61% of the original size. This is done by comparing the scaling of the width of the display are 1680 down to 1024, or 61%, and comparing the scaling of the height of the display 1050 down to 768, or 73% and taking the smaller of the two values to preserve the aspect ratio. Since we know that everything from the remote system is being scaled down 39%, that threshold becomes the limit for the total amount that can be scaled up any individual window in the display area of the local system display area 202. Each window from the remote system display 202 that is being displayed on the local system may display 200 may be individually resized.
According to one example embodiment, a method of controlling the size of the content displayed on a local computing system may include establishing a remote control session and on the local system. The method may also provide displaying a sizing option (“smart zoom” icon) icon. The method may further provide displaying the sizing option when the user hovers a cursor over a particular window that is not being displayed at 100% of the native resolution. The user may select the sizing option by clicking on the icon. The window size may increase responsive to the user's selection. Clicking the icon (“smart zoom”) option will enlarge only that window. When a window is enlarged it will retain its aspect ratio, which may not exceed the bounds of the local viewing area. The window displayed on the local computing system will not be enlarged to more than 100% of the native resolution of the remote system.
A window that has been selectively enlarged will have the option to return the window to its original (pre-enlarged) size and position. Enlarging a window will be done independently of the other elements (i.e., other windows, desktop wallpaper, icons, menu bars, task bars, etc.) on the remote computer system. All windows (enlarged or not) and other elements displayed in the viewing area of the display may remain interactive during the connection session of the local and remote computing systems.
The operations of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a computer program executed by a processor, or in a combination of the two. A computer program may be embodied on a computer readable medium, such as a storage medium or other non-transitory medium. For example, a computer program may reside in random access memory (“RAM”), flash memory, read-only memory (“ROM”), erasable programmable read-only memory (“EPROM”), electrically erasable programmable read-only memory (“EEPROM”), registers, hard disk, a removable disk, a compact disk read-only memory (“CD-ROM”), or any other form of storage medium known in the art.
An exemplary storage medium may be coupled to the processor such that the processor may read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an application specific integrated circuit (“ASIC”). In the alternative, the processor and the storage medium may reside as discrete components. For example
As illustrated in
One example embodiment of the present invention may include a method controlling the viewable content of a remote computer system on a local computer system. The method may include establishing a remote control session over a network to the remote computer system, at operation 802, accessing the viewable content currently displayed on the remote computer system, at operation 804. The method may also include reformatting the viewable content, at operation 806 and displaying the reformatted viewable content on the local computer system while the remote computer system and the local computer system are communicating at operation 808.
While preferred embodiments of the present invention have been described, it is to be understood that the embodiments described are illustrative only and the scope of the invention is to be defined solely by the appended claims when considered with a full range of equivalents and modifications (e.g., protocols, hardware devices, software platforms etc.) thereto.