Determining the position of a peripheral device relative to a primary display
By using signal receivers and Bluetooth Low Energy beacons to determine the position of peripheral devices relative to a primary display, the system automatically adjusts user interface configurations, addressing the challenge of dynamic display positioning and enhancing user interface extension efficiency.
Patent Information
- Application Number
- JP2023524361
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-11-03
- Filing Date
- 2021-10-19
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2041-10-19
AI Technical Summary
Existing systems struggle to accurately determine and dynamically adjust the position of peripheral devices relative to a primary display, especially when the arrangement changes due to user movement or environmental shifts, leading to inefficiencies in configuring extended user interfaces.
Implementing a system with multiple signal receivers on the primary device to detect signal transmitters in peripheral devices using Bluetooth Low Energy beacons, enabling trilateration or triangulation to determine the direction and distance of the peripherals, and automatically configure the user interface extensions accordingly.
This approach allows for dynamic and automated adjustments to display configurations, reducing setup time and improving usability by ensuring accurate and efficient extension of the user interface across multiple displays.
Smart Images

Figure 0007721238000001 
Figure 0007721238000002 
Figure 0007721238000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to determining the position of a peripheral device relative to a primary display. [Background technology]
[0002] A single display of a computing device may be insufficient for a user to view multiple applications with which they are interacting. It is known to extend the display of a computing device by adding one or more peripheral displays. The arrangement of the peripheral displays relative to the primary display may be configured such that the user interface of the computing device is extended. When the user interface is extended, a cursor or pointer may be moved from the primary display to the peripheral displays by extension in a configured direction.
[0003] The operating system of the computing device can group peripheral displays connected to the computing device, and the user can then configure the arrangement of the peripheral displays relative to the primary display.
[0004] Some operating systems utilize hardware profiles such as "docked" and "undocked" to set up extended displays based on user profiles. A user of a computing device may configure a regularly attached display to the left of the primary display. As a result of the hardware profile, the user may be able to slide the pointer from one screen to the other by moving the pointing device beyond the borders of the primary display and further into the left display.
[0005] If a user moves to a different location to use a projector for a customer demonstration, or uses some other unfamiliar display, the hardware profile may become inaccurate and require a reset. Similarly, a regularly installed display may be moved for some reason, thereby invalidating the hardware profile. Summary of the Invention
[0006] According to one aspect of the present invention, a computer device for determining the location of one or more peripheral devices is provided. The primary display of the computer device may have two or more signal receivers located at different locations relative to the primary display and configured to receive signals from signal transmitters in the peripheral devices. The processor and memory may be configured to provide computer program instructions to the processor for executing the method. The method may include determining a distance of the signal transmitter from each of the two or more signal receivers based on the strength of the received signal. The method may also include determining a direction and / or distance from the primary display to the location of the signal transmitter using a positioning determination. The method may further include configuring the peripheral device based on the determined direction and / or distance.
[0007] According to another aspect of the present invention, a computer-implemented method for determining the location of one or more peripheral devices is provided. The method may include receiving signals from a signal transmitter in the peripheral device at two or more signal receivers located at different locations relative to the primary display. The method may also include determining a distance of the signal transmitter from each of the two or more signal receivers based on the strength of the received signals. The method may further include using the location determination to determine a direction or a distance, or both, from the primary display to the location of the signal transmitter. The method may also include configuring the peripheral device based on the determined direction or distance, or both.
[0008] According to a further aspect of the present invention, a system for determining the location of one or more peripheral devices is provided. The processor and memory may be configured to provide the processor with computer program instructions for executing the functions of the components. The signal processing component may receive signals from a signal transmitter in the peripheral device at two or more signal receivers located at different locations relative to the primary display. The distance determination component may determine the distance of the signal transmitter from each of the two or more signal receivers based on the strength of the received signals. The position determination component may use the position determination to determine a direction or distance, or both, from the primary display to the location of the signal transmitter. The configuration component may configure the peripheral device based on the determined direction or distance, or both.
[0009] According to a further aspect of the present invention, a computer program product for determining the location of one or more peripheral devices is provided. Program instructions may be embodied in a computer-readable storage medium. The program instructions may be executable by a processor to cause the processor to perform a method. The method may include receiving signals from a signal transmitter of the peripheral device at two or more signal receivers located at different locations relative to the primary display. The method may also include determining a location of the signal transmitter from each of the two or more signal receivers based on the strength of the received signal. The method may further include using the location determination to determine a direction or distance, or both, from the primary display to the location of the signal transmitter. The method may also include configuring the peripheral device based on the determined direction or distance, or both.
[0010] The computer readable storage medium may be a non-transitory computer readable storage medium, and the computer readable program code may be executable by a processing circuit.
[0011] The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of this specification. The invention, both as to organization and method of operation, together with its objects, features, and advantages, may best be understood by reference to the following detailed description when read in conjunction with the accompanying drawings.
[0012] Preferred embodiments of the present invention will now be described, by way of example only, with reference to the following drawings: [Brief explanation of the drawings]
[0013] [Figure 1] 1 is a schematic diagram illustrating an exemplary embodiment of an apparatus according to the present invention; [Figure 2] 1 is a flow chart of an exemplary embodiment of a method according to the present invention; [Figure 3A] 1 is a diagram of an exemplary embodiment of an implementation of the device according to the invention; [Figure 3B] 1 is a diagram of an exemplary embodiment of an implementation of the device according to the invention; [Figure 4] 1 is a block diagram of an exemplary embodiment of a system according to the present invention. [Figure 5] FIG. 1 is a block diagram of one embodiment of a computer system in which the present invention may be implemented. [Figure 6] 1 illustrates a cloud computing environment according to the present invention. [Figure 7] FIG. 2 illustrates abstraction model layers according to the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0014] It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous features.
[0015] Disclosed is an automated determination of the location of one or more peripheral devices that provide output devices associated with a primary device. The primary device may be a computing device having a user interface with which a user may interact. The user interface may be provided by a primary display of the primary device, and a cursor may indicate a current location of user interaction on the user interface on the primary display.
[0016] The primary display of the primary device may be provided, for example, as the screen of a laptop computer or the attached display of a desktop computer. A user may use one or more peripheral devices as output devices to extend the user interface. Such peripheral devices may be attached to the primary device via a physical cable or via wireless communication. Such peripheral devices may be additional monitors or screens, projectors, or other output devices on which a cursor may be displayed.
[0017] Automatic determination of the location of the physical device may be achieved by embedding or attaching two or more signal receivers at different locations relative to the primary display. The signal receivers may be configured to receive signals from signal transmitters in the peripheral devices. The signal transmitters in the peripheral devices may be attached to or incorporated into the peripheral devices. In one embodiment, the signal transmitters may be provided at the peripheral end of a cable connecting the primary device to the peripheral device.
[0018] The signal transmitter may transmit a signal that can be interpreted by the receiver to indicate the location of the signal transmitter relative to the primary display, and therefore the location of the peripheral device. The location may be the direction or distance or both of the peripheral device relative to the primary display, and may be provided in a two-dimensional or three-dimensional field, as described below. This may be performed by determining the distance from the signal transmitter to each signal receiver by determining the strength of the received signal. The transmitted signal may also include an identifier of the signal transmitter or peripheral device to which the transmitted signal is attached, to distinguish the transmitted signal from other received signals from other peripheral devices.
[0019] The signal transmitter may use WiFi, LiFi, or Bluetooth, including Bluetooth Low Energy transmitters. In one embodiment, the signal transmitter may be a Bluetooth Low Energy (BLE) beacon that transmits a broadcast of its identifier to nearby receiver devices. BLE beacons may be based on Bluetooth Low Energy proximity sensing, transmitting a universally unique identifier that is obtained by a compatible application or operating system. The identifier and some bytes sent with the identifier can be used to determine the physical location of the beacon. Ranging may provide an estimated distance from the receiver device to the beacon.
[0020] Two or more signal receivers in the primary device may determine the location of the beacon using a positioning determination in the form of trilateration of the determined distances from each of the signal receivers to the beacon. Other methods may use triangulation techniques or other methods known in the fields of global positioning systems and indoor positioning systems using beacons or WiFi transmitters. Two signal receivers in the primary display may provide a rough estimate of the location of a peripheral device, while having three or more signal receivers in the primary display may provide a finer estimate of the location.
[0021] Once the location of the beacon relative to the primary device is determined, the type of peripheral device at the beacon can be identified from the beacon identifier. A user interface extension to the primary display may be configured for the peripheral device at the beacon to extend the user interface area. This configuration may allow a user to extend the range of their cursor within the display of the peripheral device in the correct orientation relative to the primary display.
[0022] The location of the peripheral device may be based on its direction from the primary display so that the user interface extensions can be provided in the correct orientation. Alternatively or additionally, the location of the peripheral device may be based on its distance from the primary display, which may indicate that the peripheral device is being used. For example, a greater distance may indicate that the peripheral device is a projector, in which case the interface extension may provide a mirror or presentation for the peripheral device as opposed to extending the interface area for a closer peripheral device.
[0023] If the peripheral device is moved, the beacon signal may change, the new location of the peripheral device may be determined, and the user interface extension configuration may be adapted accordingly, thereby providing dynamic adjustment of the user interface extensions based on the relative physical location of the peripheral device providing the output device.
[0024] 1A, a schematic diagram illustrates an exemplary embodiment of the described apparatus 100. A primary device 101 having a primary display 102 has three signal receivers 111-113 located at different positions relative to the primary display 102. Although three signal receivers 111-113 are shown in this example, a minimum of two signal receivers is required, and four or more signal receivers may be provided to achieve more accurate results.
[0025] The peripheral device 120 that transmits the wireless signal is provided with a signal transmitter 121. The signal transmitter 121 may be integrated with the peripheral device 120 or may be connected to the peripheral device 120, for example, at a port or as a separate accessory.
[0026] A signal 130 from the signal transmitter 121 may reach three receivers 111-113 at the main device 101. The strength of the signal 130 reaching each of the signal receivers 111-113 is different, and the distance 131-133 of each signal receiver 111-113 from the signal transmitter 121 can be determined from the signal strength.
[0027] The signal 130 may include identification data such as data identifying the peripheral device 120 and the dimensions of the display area 122 of the peripheral device 120 .
[0028] 1B, the trilateration of the signal distances 131-133 is illustrated by an interception 150 of a circle 141-143 centered at the signal receiver 111-113 and having a radius of the signal distance 131-133. The interception 150 provides the location of the signal transmitter 121 on the peripheral device 120 such that an operating system or application on the primary device 101 can determine the direction of extension of the user interface to the peripheral display of the peripheral device 120.
[0029] A basic form of positioning may be performed by simply sensing the signal 130 at signal receivers 111-113 at different locations. For example, if the signal receivers 111-113 on the left-hand side and top edge of the primary display 102 have the same value, this suggests that the peripheral device 120 transmitting the signal 130 is diagonally above and to the left of the primary display 102. As another example, if only a single signal receiver on the left-hand side of the primary display 102, such as one of the signal receivers 111-113, can capture the signal 130, then the peripheral display is located only to the left of the primary device 101.
[0030] The direction may be a three-dimensional direction or a two-dimensional direction as an extension of the plane of the primary display 102. If the primary display 102 includes only two signal receivers, such as two of signal receivers 111-113, then an approximate location of the peripheral device 120 relative to the primary display 102 (e.g., left of laptop, right of laptop) may be determined. A richer experience may be possible if there are a minimum of three beacons. From the perspective of the primary display 102, this may provide a direction of only the peripheral display (e.g., left, top right, up). This may be a two-dimensional representation.
[0031] Being able to know how far the peripheral device 120 is from the primary display 102 can provide additional information, which can be a three-dimensional position (e.g., top right, 3 meters away). This additional distance can be used to intelligently determine how to treat the primary display 102 and the peripheral displays. For example, if the peripheral device 120 is next to the primary display 102, the system can automatically determine that the user's desktop should be extended across both monitors. On the other hand, if the peripheral device 120 is further away, for example, than 2 meters, the user may be presented with the option of mirroring the user's display on the primary display 102 or displaying the user's desktop in a presentation mode, with the user's presentation on the monitor and the user's desktop on the user's laptop screen.
[0032] The data received in the transmitted signal 130 may provide an operating system or application in the primary device 101 with information regarding the dimensions and orientation of the peripheral display so that extensions to the user interface can be configured to correspond to the dimensions and orientation of the peripheral display.
[0033] Information provided by peripheral device 120 may include its screen size (e.g., 42 inches (106.68 cm)) and orientation (e.g., portrait vs. landscape), which may be used by the system to determine how to share information between primary display 102 and the peripheral display. This information may also be used to determine the size of fonts to display on the peripheral display, and, if the peripheral display is a shared desktop, to determine the side of primary display 102 and the peripheral device that is best to share cursor movement as the cursor moves from primary display 102 to a display on peripheral device 120. If in presentation mode, this information may also be used to determine which device to display the presentation on, most likely the larger device.
[0034] The signal receivers 111-113 may receive signals 130 from multiple signal transmitters 121 in different peripheral devices 120, which may enable the user interface of the primary device 101 to be extended to multiple peripheral displays. Data in the transmitted signals 130 may identify each of the multiple signal transmitters 121.
[0035] 2, a flow chart 200 illustrates an exemplary embodiment of a method for determining the location of a peripheral device 120 relative to a primary device for configuring an extension to the primary device's user interface. The method may be implemented by a peripheral device location component as part of the primary device's 101 operating system or application.
[0036] Signals received at two or more signal receivers of a primary device are monitored for new signals 201. A new signal is received from an identified signal transmitter 202. The signal transmitter may be identified from identification data within the signal.
[0037] The received signal strength at each signal receiver is determined 203, and a location determination is performed 204 to determine the location of the identified signal transmitter. The location may be the direction or distance, or both, of the transmitter from the signal receiver and, therefore, from the primary display of the primary device.
[0038] If possible, the type of peripheral display at the determined location is determined from the received signal (205). This may be due to the transmitted signal identifying the peripheral device or specifying the dimensions of the display within the transmitted signal.
[0039] The user interface of the primary device is augmented or mirrored (206) by configuration to the format of the identified peripheral display in the direction of the determined location.
[0040] If the determined location includes a distance from the primary display to the transmitter, the method includes automatically configuring or suggesting configuration of additional aspects of the display (207). For example, a distance above a defined threshold indicates that a presentation mode is being used, and the display configuration is automatically defined.
[0041] The incoming signal is monitored (208) to determine if a different signal has been received from the identified signal transmitter. This may be due to movement of the peripheral device on which the signal transmitter is located. If a change is determined to have occurred, the method may loop to determine a new signal strength (203) and a new location 104 to adjust the user interface extension accordingly. If no change is determined (208), the incoming signal may continue to be monitored (201) to determine if a new signal has been received.
[0042] The peripheral display may be moved relative to the primary device, which may allow dynamic and automated adjustments to the configuration of the peripheral device according to user preferences. The movement of the peripheral display may provide automated tracking between the video source and the video output, with dynamic adjustments made to their relative physical positions.
[0043] This automated configuration can eliminate the time required to set up display configurations (e.g., at the start of a meeting or when moving between locations) and can improve the general ease of use of multiple displays.
[0044] Automated configuration may also be used when transitioning from multiple displays to a single projector and back again, reducing the manual overhead of having to reconfigure or select configured hardware profiles.
[0045] For example, if the user moves, if the external device moves, or even if the cable is swung from the left hand side to the right hand side of the laptop, the display may automatically adjust its output accordingly.
[0046] 3A and 3B, two exemplary implementation scenarios in which the described apparatus may be used are shown.
[0047] 3A illustrates a scenario 300 in which a primary device 301 includes three signal receivers 311-313 capable of receiving signals from multiple peripheral devices 320, 330, 340, 350 to determine the dynamic locations of the peripheral devices 320, 330, 340, 350 and configuring an extension of the primary device's user interface. Each peripheral device 320, 330, 340, 350 may include a signal transmitter 321, 331, 341, 351 that indicates the location of each peripheral device 320, 330, 340, 350 to the signal receivers 311-313 of the primary device 301. In this example, the peripheral devices 320, 330, 340 may be additional screens or monitors (shown in three different positions) or projectors 350.
[0048] 3B illustrates a scenario 360 in which a main device 301 has a connecting cable 305 that includes three signal receivers 311-313 and has a signal transmitter 306 at its distal end. The connecting cable 305 may be attached to a peripheral device 325 such that the signal transmitter 306 is located at the peripheral device 325. If the peripheral device 325 is moved relative to the main device 301 (as shown in FIG. 3B), the signal from the signal transmitter 306 at the end of the connecting cable 305 may change to indicate a different position of the peripheral device 325.
[0049] Referring to Figure 4, a block diagram illustrates a computing system 400 of a main device. The computing system 400 includes at least one processor 401, circuitry for performing the functions of the described components, which may be hardware modules or software units running on at least one processor. Multiple processors may be provided that execute parallel processing threads, allowing for parallel processing of some or all of the component's functionality. Memory 402 may be configured to provide computer instructions 403 to the at least one processor 401 to perform the component's functionality.
[0050] The computing system 400 may include a peripheral device location component 410, which may be part of an operating system or application executed by the computing device 400 and which operates to configure a user interface 420 of the computing device 400. The computing device 400 may include a primary display 430 on which the user interface 420 primarily executes.
[0051] The peripheral device location component 410 may include a signal processing component 411 for receiving signals from two or more signal receivers 441-443 located at different locations relative to the primary display 430 of the computer system 400. The signals may be from a signal transmitter in the peripheral device.
[0052] The peripheral device location component 410 may include a distance determination component 412 for determining the distance of the signal transmitter from each of the signal receivers 441-443 based on the strength of the received signal, and a position determination component 413 for determining the direction and / or distance from the primary display 430 to the location of the signal transmitter using the position determination.
[0053] The peripheral device location component 410 may include a configuration component 414 for configuring the peripheral device based on the determined direction and / or distance. The configuration component 414 may also configure the peripheral device based on information about the peripheral device contained in the signal.
[0054] The peripheral device location component 410 may include a signal data component 417 for receiving data in a received signal, the data identifying the peripheral device and including information about the display of the peripheral device that the configuration component 414 may use.
[0055] The peripheral device location component 410 may include a monitoring component 416 to monitor changes in the received signal from the signal transmitter and dynamically determine an updated direction of the signal transmitter from the primary display 430.
[0056] The computer system 400 may include a user interface extension component 415 for extending the user interface or primary device to the display of the peripheral device in the determined orientation, and a profile component 418 for recording the determined orientation of the peripheral device's location for a hardware profile for future use.
[0057] Figure 5 illustrates a block diagram of components of computing device 400 of Figure 4 in accordance with one embodiment of the present invention. It should be understood that Figure 5 is intended only as an example of one implementation and is not intended to imply any limitation with respect to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.
[0058] Computing device 400 may include one or more processors 502, one or more computer-readable RAMs 504, one or more computer-readable ROMs 506, one or more computer-readable storage media 508, device drivers 512, read / write drives or interfaces 514, and network adapters or interfaces 516, all interconnected through a communications fabric 518. Communications fabric 518 may be implemented to have any architecture designed to pass data and / or control information between processors (such as microprocessors, communications and network processors), system memory, peripheral devices, and any other hardware components in the system.
[0059] One or more operating systems 510, as well as application programs 511, such as peripheral device location components 410, are stored in one or more computer-readable storage media 508 for execution by one or more of the processors 502 through one or more of the respective RAMs 504 (which typically include cache memory). In the illustrated embodiment, each of the computer-readable storage media 508 may be an internal hard drive magnetic disk storage device, a CD-ROM, a DVD, a memory stick, magnetic tape, a magnetic disk, an optical disk, a semiconductor storage device such as RAM, ROM, EPROM, flash memory, or any other computer-readable storage medium capable of storing computer programs and digital information according to embodiments of the present invention.
[0060] Computing device 400 may also include a R / W drive or interface 514 for reading from and writing to one or more portable computer-readable storage media 526. Application programs 511 on computing device 400 may be stored on one or more portable computer-readable storage media 526 and read via the respective R / W drive or interface 514 and loaded into the respective computer-readable storage media 508.
[0061] The computing device 400 may also include a network adapter or interface 516, such as a TCP / IP adapter card or a wireless communications adapter. Application programs 511 on the computing device 400 may be downloaded to the computing device from an external computer or external storage device via a network (e.g., the Internet, a local area network, or other wide area or wireless network) and the network adapter or interface 516. From the network adapter or interface 516, the program may be loaded into the computer-readable storage medium 508. The network may include copper wire, fiber optic, wireless transmissions, routers, firewalls, switches, gateway computers, and edge servers.
[0062] The computing device 400 may also include a display screen 520, a keyboard or keypad 522, and a computer mouse or touchpad 524. The device driver 512 interfaces to the display screen 520 for imaging and to the keyboard or keypad 522, the computer mouse or touchpad 524, or the display screen 520, or a combination thereof, for alphanumeric entry and pressure sensing of user selections. The device driver 512, the R / W drive or interface 514, and the network adapter or interface 516 may comprise hardware and software stored in the computer-readable storage medium 508 or in the ROM 506, or both.
[0063] Although this disclosure includes detailed descriptions of cloud computing, it should be understood in advance that implementation of the teachings described herein is not limited to cloud computing environments. Rather, embodiments of the present invention may be implemented in conjunction with any other type of computing environment now known or later developed.
[0064] Cloud computing is a service delivery model that enables convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with the service provider. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
[0065] The features are as follows: On-Demand Self-Service: Cloud consumers can unilaterally provision computing capabilities, such as server time and network storage, automatically as needed, without the need for human interaction with the service provider. Broad network access: Functionality is available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs). Resource Pooling: Provider computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically allocated and reallocated as required. Consumers generally have no control or knowledge of the exact location of the provided resources, although there is location independence in that it may be possible to identify the location at a higher level of abstraction (e.g., country, state, or data center). Rapid Flexibility: Capabilities can be quickly and flexibly provisioned, sometimes automatically, to rapidly scale out and quickly release to rapidly scale in. To the consumer, the capabilities available for provisioning often appear unlimited and can be purchased at any time and in any quantity. Service Metering: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services they utilize.
[0066] The service model is as follows: Software as a Service (SaaS): The ability to offer consumers the use of a provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). With the possible exception of limited user-specific application configuration settings, the consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or individual application functions. Platform as a Service (PaaS): The capability offered to consumers to deploy applications they create or acquire, written using programming languages and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, such as the network, servers, operating systems, or storage, but does control the deployed applications and, in some cases, the application hosting environment configuration. Infrastructure as a Service (IaaS): The capability offered to consumers to provision processing, storage, network, and other basic computing resources on which they can deploy and run any software, which may include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but they do control the operating systems, storage, deployed applications, and sometimes have limited control over selected network components (e.g., host firewalls).
[0067] The deployment model is as follows: Private Cloud: Cloud infrastructure is operated exclusively for an organization. This cloud infrastructure may be managed by the organization or a third party and may reside on-premises or off-premises. Community Cloud: Cloud infrastructure is shared by multiple organizations to support a specific community of shared interests (e.g., mission, security requirements, policies, and compliance considerations). This cloud infrastructure may be managed by the organization or a third party and may reside on-premises or off-premises. Public Cloud: Cloud infrastructure is available to the general public or large industry groups and is owned by organizations that sell cloud services. Hybrid Cloud: A cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are tied together by standardized or proprietary technologies that allow for data and application portability (e.g., cloud bursting for load balancing between clouds).
[0068] Cloud computing environments are service-oriented with an emphasis on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0069] Referring now to FIG. 6, an exemplary cloud computing environment 60 is shown. As shown, the cloud computing environment 60 includes one or more cloud computing nodes 100 with which local computing devices used by cloud consumers, such as, for example, a personal digital assistant (PDA) or mobile phone 64A, a desktop computer 64B, a laptop computer 64C, or an automobile computer system 64N, or combinations thereof, can communicate. The nodes 100 may communicate with each other. They may be physically or virtually grouped in one or more networks, such as a private cloud, a community cloud, a public cloud, or a hybrid cloud, or combinations thereof, as described herein above (not shown). This enables the cloud computing environment 60 to provide infrastructure, platform, or software, or combinations thereof, as a service without requiring the cloud consumer to maintain resources on their local computing device. It should be understood that the types of computing devices 64A-64N shown in FIG. 6 are intended to be exemplary only, and that computing node 100 and cloud computing environment 60 can communicate with any type of computerized device over any type of network and / or network-addressable connection (e.g., using a web browser).
[0070] Referring now to Figure 7, there is shown a set of functional abstraction layers 700 provided by the cloud computing environment 60. It should be understood in advance that the components, layers, and functions shown in Figure 7 are intended to be exemplary only, and that embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:
[0071] Hardware and software layer 6000 may include hardware and software components. Example hardware components may include a mainframe 6100, a RISC (reduced instruction set computer) architecture-based server 6200, a server 6300, a blade server 6400, storage devices 6500, and network and networking components 6600. In some embodiments, software components may include network application server software 6700 and database software 6800.
[0072] The virtualization layer 7000 may provide an abstraction layer from which the following examples of virtual entities may be provided: virtual servers 7100, virtual storage 7200, virtual networks including virtual private networks 7300, virtual applications and operating systems 7400, and virtual clients 7500.
[0073] In one example, the management layer 8000 may provide the following functions: Resource provisioning 8100 may provide dynamic procurement of computing and other resources that may be utilized to execute tasks within the cloud computing environment. Metering and pricing 8200 may provide cost tracking as resources are utilized within the cloud computing environment and charging or billing for the consumption of these resources. In one example, these resources may include application software licenses. Security may provide identity verification for cloud consumers and tasks, as well as protection for data and other resources. User portal 8300 may provide consumers and system administrators with access to the cloud computing environment. Service level management 8400 may provide allocation and management of cloud computing resources such that requested service levels can be met. Service level agreement (SLA) planning and fulfillment 8500 may provide pre-allocation and procurement of cloud computing resources that may be anticipated for future requests according to SLAs.
[0074] The workload layer 9000 may provide examples of functionality for which a cloud computing environment may be utilized. Examples of workloads and functionality that may be provided from this layer may include mapping and navigation 9100, software development and lifecycle management 9200, virtual classroom instruction delivery 9300, data analytics processing 9400, transaction processing 9500, and determining the position of a peripheral device relative to a primary display 9600. Determining the position of a peripheral device relative to a primary display 9600 may involve receiving signals from a transmitter and interpreting those signals to identify the distance and / or direction from the peripheral device to the primary display.
[0075] The present invention may be a system, method, or computer program product, or combination thereof, at any possible level of integration of technical details. The computer program product may include a computer-readable storage medium (or multiple computer-readable storage media) having computer-readable program instructions for causing a processor to implement aspects of the present invention.
[0076] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions for use by an instruction-execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, punch cards, or mechanically encoded devices such as raised structures in grooves with instructions recorded thereon, and any suitable combination of the above. As used herein, computer-readable storage media should not be construed as being ephemeral signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses through fiber optic cable), or electrical signals transmitted over electrical wires.
[0077] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or storage device via a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing / processing device.
[0078] The computer-readable program instructions for carrying out the operations of the present invention may be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk®, C++, and procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer as a standalone software package, partially on the user's computer, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, to carry out aspects of the present invention, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry.
[0079] Aspects of the present disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0080] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, such that the instructions, when executed by the processor of the computer or other programmable data processing apparatus, produce means for performing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored on a computer-readable medium, such that the computer-readable storage medium on which the instructions are stored comprises an article of manufacture containing instructions implementing aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams, and can direct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner.
[0081] The computer-readable program instructions may also be loaded into a computer, other programmable data processing apparatus, or other device to produce a computer-implemented process that causes the computer, other programmable apparatus, or other device to perform a series of operational steps, such that the instructions, which execute on the computer, other programmable apparatus, or other device, perform the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0082] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may actually be accomplished as a single step, or may be executed concurrently, substantially concurrently, partially, or fully in a time-overlapping manner, or the blocks may even be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified functions or actions or a combination of dedicated hardware and computer instructions.
[0083] The computer program product of the present invention comprises one or more computer-readable hardware storage devices having computer-readable program code stored thereon, said program code being executable by one or more processors to perform the methods of the present invention.
[0084] The computer system of the present invention comprises one or more processors, one or more memories, and one or more computer-readable hardware storage devices, the one or more hardware storage devices containing program code executable by the one or more processors via the one or more memories to implement the methods of the present invention.
[0085] While the description of various embodiments of the present invention has been presented for illustrative purposes, this description is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or technical improvements beyond those found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.
[0086] Improvements and modifications can be made to the foregoing without departing from the scope of the present invention.
Claims
1. 1. A computing apparatus for determining the location of one or more peripheral devices, comprising: a primary display of the computing device having two or more signal receivers located at different locations relative to the primary display, the primary display configured to receive signals from signal transmitters in peripheral devices; 1. A processor, comprising: determining a distance of the signal transmitter from each of the two or more signal receivers based on the strength of the received signal; using a positioning determination to determine a direction and / or distance from said primary display to a location of said signal transmitter; configuring the peripheral device based on the determined direction or distance, or both, wherein configuring the peripheral device includes, in response to whether the determined distance exceeds a threshold distance, adjusting a display of the peripheral device by changing a mode displayed by the peripheral device when the threshold distance is exceeded; the processor configured to perform a method; A computer device comprising:
2. The computing device of claim 1 , wherein the received signal includes an identifier of the peripheral device for use in configuring the peripheral device.
3. 3. The computer apparatus of claim 1, wherein the peripheral device includes a display, and the received signal includes dimensions of the display of the peripheral device.
4. the computer device includes a user interface, and the method comprises: extending the user interface to a display of the peripheral device at the determined orientation; The computer device of any one of claims 1 to 3, further comprising:
5. The method comprises: monitoring changes in the received signal from the signal transmitter and dynamically determining an updated direction of the signal transmitter from the primary display; The computer device of any one of claims 1 to 4, further comprising:
6. The method comprises: recording the determined direction and / or distance of the location of the peripheral device for a hardware profile. The computer device of any one of claims 1 to 5, further comprising:
7. The computing device of any one of claims 1 to 6, wherein the signal receiver is configured to receive one or more of the group consisting of: a WiFi signal, a LiFi signal, a Bluetooth signal, and a Bluetooth beacon signal.
8. 8. The computer device of claim 1, wherein there are at least three of the signal receivers arranged above and on both vertical sides of the main display.
9. The method comprises: The computer apparatus of claim 4 , further comprising configuring the extension of the user interface to the peripheral device based on the determined distance of the peripheral device from the primary display.
10. 10. The computer apparatus of claim 1, further comprising a connector cable configured to connect the primary display to the peripheral device, the signal transmitter being provided at a distal end of the connector cable remote from the primary display.
11. 1. A method for determining the location of one or more peripheral devices by computer information processing, comprising: receiving signals from a signal transmitter in a peripheral device at two or more signal receivers located at different locations relative to the primary display; determining a distance of the signal transmitter from each of the two or more signal receivers based on the strength of the received signal; using position determination to determine a direction and / or distance from said primary display to a location of said signal transmitter; configuring the peripheral devices based on the determined direction and / or distance; Including, The method, wherein configuring the peripheral device includes adjusting a display of the peripheral device in response to whether the determined distance exceeds a threshold distance by changing a mode that the peripheral device displays when the threshold distance is exceeded.
12. The method of claim 11 , further comprising extending a user interface of a primary device onto a display of the peripheral device at the determined orientation.
13. 13. The method of claim 11 or 12, further comprising monitoring changes in the received signal from the signal transmitter and dynamically determining an updated direction of the signal transmitter from the primary display.
14. 14. The method of claim 11, further comprising receiving data in the received signal that identifies the peripheral device and includes information about a display of the peripheral device, and wherein configuring the peripheral device uses the received information.
15. The method of any one of claims 11 to 14, further comprising recording the determined direction and / or distance of the location of the peripheral device for a hardware profile for future use.
16. A computer-executable program for causing a computer to execute the method according to any one of claims 11 to 15.
17. A computer-readable storage medium storing the computer-executable program of claim 16.
Citation Information
Patent Citations
Multiple-display system and method for automatically identifying and adjusting relative position of multiple displays
CN101149673A
Input point switching method and electronic equipment
CN107422886A
Point-type radio adjusting device using infrared rays
JP1996286816A
Image display system and image display method
JP2005173291A
Cooperative display system, cooperative display method, and portable terminal
JP2012177769A