Disclosed embodiments generally relate to computer systems and computer system display devices and processes, and more particularly, to a process and system for providing dynamic and interactive viewing and control of software applications.
Currently, computer systems and devices that execute software applications only allow a single application to be active while displayed on a display device. When a user wishes to switch between different windows for a single application, or between applications, conventional systems only allow a single application or window to be active, which enables the user to manipulate the application for that active window.
Further, conventional systems that provide displays through existing technologies, such as LED displays, are limited to providing static viewing from various angles. While certain technologies provide user friendly viewing from a certain range of viewing angles, the image display elements providing the images, such as the individual LEDs, are static, thus limiting the ability for users to view content on the displays from different angles.
Therefore it is desirable to provide a system and process that enables one or more users to manipulate and control multiple software programs executed by a computer system such that more than one application or window providing content is active on the system's display device(s). Further, it is desirable to provide an interactive and dynamic display system where the image elements that emit signals that form images may be selectively and dynamically adjusted to provide multiple users the ability to view different areas of a display device from different angles and orientations.
Disclosed embodiments include, for example, a computer system configured to execute software to provide multiple applications in an active state such that one or more users may manipulate and use the applications simultaneously on a single display arrangement. The display arrangement may include a single display device or may include multiple display devices concatenated to operate as a single display device. In one example, the computer system may use multiple processors or processing core technologies to enable the computer system to provide control to an active application by a first user while at the same time providing control to another active application (or a plurality of other active applications) by a second user (or a plurality of other users, or the first user). In one aspect, the plurality of applications may be active and displayed as active applications on a single display arrangement provided by the computer system. In other embodiments, the computer system may use virtual processing technologies that provide multiple processing capabilities through virtual machines, logical processes and logical processors, and the like.
Disclosed embodiments also provide a system and process that enables image elements of a display device to be dynamically adjusted (individually or as a group of elements) such that images emitted from those image elements for different areas of a display arrangement can be adjusted. In one example, a display system is disclosed that includes a display area including a set of image elements that emit signals that make up images displayed in the display area, such as in a light-emitting diode (LED) display device. Each image element (e.g., LED) may be configured with a movable mount included on flexible substrates that can be mechanically, magnetically and/or electronically moved to emit the signals in selected directions. In another embodiment, subsets of the image elements may be controlled such that a group of image elements (e.g., one or more rows or columns of LEDs) may be physically adjusted to adjust the angle of emission of the signals emitted by the image elements in the group. In certain embodiments, one or more image elements may be combined and may be adjusted to provide a more direct viewing angle in one direction and/or orientation while at the same time other image elements in the same display are adjusted to provide a different viewing angle in a different direction and/or orientation. In this manner, a first user can view a portion of the content displayed by the display device in the system while at the same time a second user (or a plurality of other users) can view different content displayed by the display device in the system.
Disclosed embodiments also enable a user to selectively change the number, positioning, and orientation of various application display areas within a display arrangement. Moreover, disclosed embodiments enable a user to connect other devices to the computer system controlling the display arrangement, such that the processing power of the device can be joined with the computer system and/or such that the user can interact with the device via the display arrangement just as if the user were interacting directly with the device.
Consistent with other disclosed embodiments, tangible computer-readable storage media may store program instructions that are executable by a processor to implement any of the processes disclosed herein.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosed embodiments, as claimed.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several embodiments and together with the description, serve to explain the disclosed principles. In the drawings:
Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings and disclosed herein. Wherever convenient, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
In accordance with certain disclosed embodiments, a computer system 100 may be provided that includes one or more processor(s) 101, one or more storage device(s) 102, a display arrangement 103, and interface components 105. Other components known to one of ordinary skill in the art to be included in computer systems are also included in system 100, but are not shown. In one embodiment, computer system 100 may be a general purpose or notebook computer, a mobile device with computing ability, a server, a mainframe computer, or any combination of these computers and/or affiliated components. In certain aspects, computer system 100 may be configured as a particular computer system when executing software to perform one or more operations consistent with disclosed embodiments. Computer system 100 may communicate with a network (such as the Internet, a LAN, etc.) through I/O devices (not shown). For example, computer system 100 may establish a direct communication link with a network, such as through a LAN, a WAN, or other suitable connection that enables computer system 100 to send and receive information, as described herein. Computer system 100 may be a standalone system or may be part of a subsystem, which may, in turn, be part of a larger system, such as a networked desktop emulator. Computer system 100 may also be implemented as a display device system, such as a television, tabletop display system, wall mounted display devices (e.g., billboards, large screen displays, etc.), and the like. In such configurations, system 100 may include components known to be used to provide functionalities for such display device systems.
Processor(s) 101 may be one or more known processing devices, such as a microprocessor from the Pentium™ family manufactured by Intel™ or the Turion™ family manufactured by AMD™. Processor(s) 101 may include a single core or multiple core processor system that provides the ability to perform parallel processes simultaneously. For example, processor 101 may be a single core processor that is configured with virtual processing technologies known to those skilled in the art. In certain embodiments, processor 101 may use logical processors to simultaneously execute and control multiple processes. Processor 101 may implement virtual machine technologies, or other similar known technologies to provide the ability to execute, control, run, manipulate, store, etc. multiple software processes, applications, programs, etc. In another embodiment, processor(s) 101 may include a multiple core processor arrangement (e.g., dual or quad core) that is configured to provide parallel processing functionalities to allow system 100 to execute multiple processes simultaneously. One of ordinary skill in the art would understand that other types of processor arrangements may be implemented to provide for the capabilities disclosed herein.
Storage device(s) 102 may be configured to store information used by processor 101 (or other components) to perform certain functions related to disclosed embodiments. In one example, storage device(s) 102 may include a memory that includes instructions that enable processor(s) 101 to execute one or more applications, such as a word processing application, a spreadsheet application, an Internet browser application, and any other type of application or software known to be available on computer systems, such as a desktop, laptop, server, mobile device, or other types of computer systems. Alternatively, the instructions, application programs, etc., may be stored in an external storage or available from a memory over a network. Storage device(s) 102 may be a volatile or non-volatile, magnetic, semiconductor, tape, optical, removable, nonremovable, or other type of storage device or tangible computer-readable medium.
In one embodiment, storage device(s) 102 may include a memory storing software that, when executed by processor(s) 101, enables processor(s) 101 to perform one or more processes consistent with the functionalities disclosed herein. Methods, systems, and articles of manufacture consistent with disclosed embodiments are not limited to separate programs or computers configured to perform dedicated tasks. For example, storage device(s) 102 may include a memory that may include one or more programs that enable processor(s) 101 to perform one or more functions of the multiple user display control features of the disclosed embodiments. Alternatively, the memory may include multiple programs that enable processor(s) 101 to perform one or more functions of the dynamic image element adjustment features of the disclosed embodiments. Moreover, processor(s) 101 may execute one or more programs located remotely from system 100. For example, system 100 may access one or more remote programs, that, when executed, enable processor(s) 101 to perform functions related to disclosed embodiments.
Storage device(s) 102 may also store one or more operating systems that perform known operating system functions when executed by system 100. By way of example, the operating systems may include Microsoft Windows™, Unix™, Linux™, Apple™ Computers type operating systems, Personal Digital Assistant (PDA) type operating systems, such as Microsoft CE™, or other types of operating systems. Accordingly, embodiments of the disclosed invention will operate and function with computer systems running any type of operating system.
Computer system 100 may also include one or more interface components 105 that may comprise one or more interfaces for receiving signals or input from input devices and providing signals or output to one or more output devices that allow data to be received and/or transmitted by system 100. For example, system 100 may include interface components 105 that may provide interfaces to one or more input devices, such as one or more keyboards, mouse devices, and the like, that enable system 100 to receive data from one or more users, such as selection of an active application, selection of a functionality, selection of one of a plurality of open processes, etc. Further, interface components 105 may provide interfaces to one or more output devices, such as a display screen, CRT monitor, LCD monitor, LED monitor, plasma display, printer, speaker devices, and the like, to enable system 100 to present data to a user. Interface components 105 may also include one or more digital and/or analog communication input/output devices that allow system 100 to communicate with other machines and devices. The configuration and number of interface components 105 incorporated in system 100 may vary as appropriate for certain embodiments. In one embodiment, interface components 105 may be configured within display arrangement 103 (described below) that provide for touch screen capabilities or other forms of user input/output functionalities.
For example, interface components 105 may include a docking station that enables a user to connect a device such as a tablet, laptop, smart device, smartphone, gaming console, etc., to system 100. When a device is connected to system 100, one or more processors within the connected device processor may interact with and/or join the processor(s) within system 100 such that greater processing power may become available. Additionally, a portion of the display arrangement of system 100 may automatically display the content being displayed on the device and allow the user to use this device's full functionality as if the device were an integrated part of the computer (discussed in greater detail below with regard to
Computer system 100 may also be communicatively connected to one or more databases (not shown) locally or through a network. The databases store information and are accessed and/or managed through system 100. By way of example, the databases may be document management systems, Microsoft SQL databases, SharePoint databases, Oracle™ databases, Sybase™ databases, or other relational databases. The databases may include, for example, data and information related to the application programming interface (API) of child applications, such as functions performed by the child applications, parent applications compatible with the functions, parameters required by the functions, etc. Systems and methods of disclosed embodiments, however, are not limited to separate databases or even to the use of a database.
Display arrangement 103 may be one or more display devices that render information for viewing by one or more users. In one embodiment, display arrangement 103 may be a LED display device that uses a set of LED image elements that emit signals that collectively provide the content viewable by a user. In certain embodiments, display arrangement 103 may be an organic LED (OLED) display device. Other forms of image elements such as touch-screen-enabled flat panels of any kind such as LED, liquid crystal display (LCD), etc., may used in the disclosed embodiments. Display arrangement 103 may be, for example, a single display device (e.g., LED, LCD, etc.) that displays applications that are executed by processor(s) 101, such as windows that display word processing applications, document management applications, and any other type of applications.
In one embodiment, the applications may be simultaneously displayed in an active state. An active application, for example, may represent an application that is capable of being used, manipulated, etc. by a user or a computer process. In one example, an active application may refer to an application that a user may manipulate, and where the operating system's cursor is displayed on the window, and/or where a blinking cursor (for word processing applications) is displayed and controllable by a user. As described below, aspects of the disclosed embodiments enable two or more applications to be executed in active states such that a cursor is shown and controllable for each active application. Certain embodiments enable multiple users to open, use, manipulate, and work on respective applications at the same time as the applications are displayed on the same display device, such as in horizontal display devices (e.g., tabletop display devices, desktop display devices, etc.) and vertical display devices (e.g., monitors, wall mounted display devices, etc.).
In other aspects of the disclosed embodiments, display arrangement may be configured to provide adjustable image elements that may be dynamically adjusted to provide different views in different directions and orientations at the same time.
Computer system 100 may be configured to provide processes that, when executed by processor(s) 101, provide multiple active applications on a single display device (or on multiple display devices configured collectively for computer system 100, such as a dual monitor set up). These processes and features provide a single display arrangement where two or more active applications are executed and displayed, such as shown in
For example, as shown in
In the example shown in
Moreover, while the example shown in
Likewise, the user may be able to enter commands via the display arrangement to merge certain areas. For example, the user may draw an “M” on a designated command portion of the display arrangement and then may select two different areas (e.g., area 1 and area 2 in
In some embodiments, the display arrangement may be configured to automatically change the perspective view of one or more areas within the display arrangement based on the locations of the users interacting with those areas. For example, if user 310 is interacting with an application in area 1 from the location shown in
In the example above, however, the content displayed in area 1 in
Moreover, as discussed above with regard to
Aspects of the disclosed embodiments provide processes that implement security features where one user may have master control over what active application other user(s) may manipulate. In other embodiments, computer system 100 may be configured to execute software that performs automatic processes to automatically open, close, lock, etc. one or more applications based on a profile of a user in a physical vicinity of system 100. For example, disclosed embodiments provide processes, when executed by processor(s) 101, to automatically detect (e.g., via RFID tags, motion sensors, etc.) when a user is located within a determined distance of the display arrangement. In one example, the processor(s) 101 may execute software that receives signals from a component configured to detect wireless device(s) (e.g., RFID tags) or from a motion sensor, etc. and processes the signals in accordance with certain aspects of the disclosed embodiments. For instance, in response to such determination, computer system 100 may determine the identity of the user (e.g., via RFID signals, Bluetooth functionalities, etc.) and check the identity against a profile assigned to the detected user. Based on the user's profile, computer system 100 may open and make active an application for manipulation by the user. Alternatively, computer system 100 may close or lock an application based on the user's profile. For example, if a first user is working on sensitive data displayed by computer system 100, aspects of the disclosed embodiments enable that information to be closed when a second user without authority to view information from the active application enters a room including the display environment. In other aspects (described below), the display may be dynamically adjusted such that the viewing angle of the image elements is changed automatically to prevent the second user from viewing the sensitive information, while still allowing the first user to view the sensitive information.
Aspects of the disclosed embodiments also provide processes that display content based on user preferences for displaying that content. In certain embodiments, computer system 100 may be configured to automatically display preset applications in a preset arrangement responsive to detecting the presence of a particular user. For example, in
Computer system 100 may open the first application and provide the first application in an active state (step 420). As discussed, an active application, for example, may represent an application that is capable of being used, manipulated, etc. by a user or a computer process. In one example, an active application may refer to an application that a user may manipulate, and where the operating system's cursor is displayed on the window, and/or where a blinking cursor (for word processing applications) is displayed and controllable by a user.
In certain embodiments where display arrangement 103 is capable of displaying multiple active display areas, such as areas 1-6 shown in
Computer system 100 may also receive a second request to open a second application (step 430). This request may be received, for example, from the same user that opened the first application, from a different user, or from one or more computer processes. In some instances, the first application may generate and send the request to open the second application.
Computer system 100 may open the second application and provide the second application in an active state (step 440). Similar to step 420, computer system 100 may also open the second application in an area designated by a command received at computer system 100. Using
Computer system 100 may manipulate the first application in response to input received for the first application and also manipulate the second application in response to input received for the second application (step 450). In certain embodiments, the inputs may be received simultaneously or nearly simultaneously, and computer system 100 may manipulate the first application and the second application in response to these inputs simultaneously or nearly simultaneously. Thus, computer system 100 may enable one or more users to interact with the first application and the second application at the same time.
Computer system 100 may repeat steps 430-450 for each request to open subsequent applications (e.g., third, fourth, fifth, etc., applications), such that computer system 100 may enable one or more users to interact with two or more active applications at the same time.
Dynamic Image Elements
In certain embodiments, computer system 100 may be configured to provide dynamic image element adjustments to control different portions of a display device arrangement. For example,
Thus, for example, as shown in
In another embodiment, if, as explained above, computer system 100 is configured to detect the presence of user(s) within a determined range of the display device arrangement 110, computer system 100 may execute processes that automatically and dynamically adjust the angle of certain image element mounts associated with the display of certain active applications, thus controlling the view of the active application to the user(s). Returning to the example of
In certain embodiments, the dynamic adjustment of image element mounts (115, 220) may be provided using magnetic technologies, e.g., magnets may be electrically controlled to repel or attract the substrate of the image element mount based on control signals provided by processor system 150. Alternatively, electro-mechanical mechanisms (such as one or more microelectromechanical systems (MEMS)) can be used to actuate the movement of each image element mount. Other mechanisms known to one of ordinary skill in the art may be implemented to provide the capability for each image element mount to be selectively and dynamically controlled for physically adjusting the position image element mounts (115, 220).
The foregoing descriptions have been presented for purposes of illustration and description. They are not exhaustive and do not limit the disclosed embodiments to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practicing the disclosed embodiments. For example, the described implementation includes software, but the disclosed embodiments may be implemented as a combination of hardware and software or in hardware alone. Additionally, although disclosed aspects are described as being stored in a memory on a computer, one skilled in the art will appreciate that these aspects can also be stored on other types of computer-readable media, such as secondary storage devices, like hard disks, floppy disks, a CD-ROM, or other forms of RAM or ROM. In addition, an implementation of software for disclosed aspects may use any variety of programming languages, such as Java, C, C++, JavaScript, or any other now known or later created programming language.
Other embodiments will be apparent to those skilled in the art from consideration of the specification and practice of the embodiments disclosed herein. It is intended that the specification and examples be considered as exemplary only, with the true scope and spirit being indicated by the following claims.
This application claims priority to U.S. Provisional Application No. 61/639,290, filed on Apr. 27, 2012, the disclosure of which is herein incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61639290 | Apr 2012 | US |