Extensive configuration interface for beamforming visualization and optimization

The system simplifies beamforming configuration by using interactive displays to create and adjust beamforming patterns on a map, addressing complexity and resource issues in wireless networking.

JP2026507765APending Publication Date: 2026-03-06INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-15
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Beamforming technology increases the complexity of wireless networking and requires significant computing resources, making configuration of routers and access points complex due to the need to account for three-dimensional receiver locations and signal propagation.

Method used

A system and method for configuring beamforming using an interactive display device, such as virtual or augmented reality, to create and manipulate beamforming patterns on a map, allowing users to visualize and adjust beamforming in three dimensions, prioritize devices, and learn from historical patterns to optimize future configurations.

Benefits of technology

Simplifies the configuration process by enabling intuitive and visual beamforming pattern creation, reducing complexity and resource requirements while improving signal quality and coverage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026507765000001_ABST
    Figure 2026507765000001_ABST
Patent Text Reader

Abstract

A method for configuring beamforming for network devices is disclosed. In one embodiment, such a method includes creating a map of an area in which network devices supporting beamforming are located. The method illustrates, on an interactive display device, the network devices on the map. The method illustrates, on the interactive display device, one or more beams emanating from the network devices on the map. The method allows a user to manipulate the beams on the interactive display device to create a desired beamforming pattern that takes into account the map and receiving devices located in the area. The claimed method is advantageous in that it may allow a user to establish or modify a beamforming pattern in a more intuitive and visual manner. Corresponding systems and computer program products are also disclosed.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to wireless networking, and more particularly to a system and method for configuring wireless network signals. [Background technology]

[0002] Beamforming is a technique that focuses or concentrates radio signals on one or more receiving devices, rather than propagating them evenly in all directions, as is commonly done with broadcast antennas. This technique improves the quality of the signal reaching the receiving devices and also increases the coverage capacity of the transmitting device. This can result in faster data transfer and fewer errors. Because the radio signals are focused where they are needed, signal interference between receiving devices can also be reduced or avoided.

[0003] However, despite all its potential benefits, beamforming can significantly increase the complexity of wireless networking and require significantly more computing resources. The processing requirements for implementing and maintaining beamforming technology have cost, hardware, and energy implications. Furthermore, configuring a router, access point, or other network hardware capable of beamforming can be very complex. Beamforming hardware may need to function in a three-dimensional environment where receivers are located at different locations in the three dimensions and the signals themselves propagate with different magnitudes and directions in the three dimensions. This can, in some cases, make configuring beamforming network hardware very complex. Summary of the Invention

[0004] The present invention has been developed in response to the current state of the art, and particularly in response to problems and needs in the art that are not yet fully addressed by currently available systems and methods. Accordingly, a system and method have been developed for configuring beamforming for network devices such as wireless routers or access points. The features and advantages of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.

[0005] Consistent with the above, a method for configuring beamforming for network devices is disclosed. In one embodiment, such a method includes creating a map of an area in which network devices supporting beamforming are located. The method illustrates, on an interactive display device, the network devices on the map. The method illustrates, on the interactive display device, one or more beams emanating from the network devices on the map. The method allows a user to manipulate the beams on the interactive display device to create a desired beamforming pattern that takes into account the map and receiving devices located in the area. The claimed method is advantageous in that it may allow a user to establish or modify a beamforming pattern in a more intuitive and visual manner.

[0006] In certain embodiments, the map includes a floor plan associated with the area. Similarly, in certain embodiments, the network device is a wireless router or a wireless access point. The interactive display device may include a virtual reality device, an augmented reality device, a holographic interface, or the like. In certain embodiments, the map is a three-dimensional map, and the beams are represented in three dimensions on the three-dimensional map. This may advantageously help a user visualize the beamforming pattern in three dimensions. The method may also, in certain embodiments, establish weights for each of the receiving devices and adjust the beamforming pattern in a manner that takes the weights into account. This may advantageously help a user prioritize particular receiving devices over others, such that the beamforming pattern reflects the device priorities. In certain embodiments, the method learns beamforming patterns that occur over time to recommend desired beamforming patterns. This may advantageously allow for optimizing current or future beamforming patterns based on previously observed beamforming patterns.

[0007] Corresponding systems and computer program products are also disclosed and claimed herein. [Brief explanation of the drawings]

[0008] So that the advantages of the present invention may be readily understood, the invention, briefly described above, will now be more particularly described by reference to specific embodiments illustrated in the accompanying drawings, with the understanding that these drawings depict only typical embodiments of the invention and therefore should not be considered limiting of its scope, and the embodiments of the invention will be explained and described with additional specificity and detail through the use of the accompanying drawings.

[0009] [Figure 1] FIG. 1 is a high-level block diagram illustrating an example of a computing system for use in implementing embodiments of the present invention.

[0010] [Figure 2] FIG. 1 is a high-level block diagram illustrating one embodiment of a map describing an area in which network devices supporting beamforming are located.

[0011] [Figure 3] FIG. 1 is a high-level block diagram illustrating an example of a technique that may be used to adjust the beamforming patterns of receiving devices on a map.

[0012] [Figure 4] FIG. 1 is a high-level block diagram illustrating how beamforming patterns can change over time as the location of a receiving device changes.

[0013] [Figure 5] FIG. 1 is a process flow diagram illustrating one embodiment of a method for visualizing and managing beamforming patterns.

[0014] [Figure 6] FIG. 1 is a process flow diagram illustrating one embodiment of a method for re-adjusting the priority of receiving devices.

[0015] [Figure 7] FIG. 1 is a high-level block diagram illustrating an extended configuration interface and various sub-modules that may be used to configure beamforming for a network device.

[0016] [Figure 8] FIG. 8 is a flow diagram illustrating data flow and interactions between the modules illustrated in FIG. 7. DETAILED DESCRIPTION OF THE INVENTION

[0017] It will be readily understood that the components of the present invention, as generally described herein and illustrated in the figures, could be arranged and designed in a wide variety of different configurations. Thus, as represented in the figures, the following more detailed description of embodiments of the present invention is not intended to limit the scope of the invention as claimed, but is merely representative of some examples of embodiments presently contemplated by the present invention. The presently described embodiments can be best understood by reference to the drawings, where like parts are designated with like numerals throughout.

[0018] Various aspects of the present disclosure are described through text, flowcharts, block diagrams of computer systems, and / or block diagrams of machine logic included in computer program product (CPP) embodiments. For any flowchart, depending on the technology involved, operations may be performed in an order different from that shown in a given flowchart. For example, depending again on the technology involved, two operations shown in successive flowchart blocks may be performed in the reverse order, as a single integrated step, simultaneously, or in an at least partially overlapping manner.

[0019] A computer program product embodiment ("CPP embodiment" or "CPP") is a term used in this disclosure to describe any set of one or more storage media (also referred to as "media") collectively included in a set of one or more storage devices that collectively contain machine-readable code corresponding to instructions and / or data for performing the computer operations specified in a given CPP claim. A "storage device" is any tangible device that can hold and store instructions for use by a computer processor. The computer-readable storage medium may be, but is not limited to, an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, a mechanical storage medium, or any suitable combination of the foregoing. Some known types of storage devices that include these media include 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), compact disc read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanically encoded devices (such as punch cards or pits / lands formed on a major surface of a disk), or any suitable combination of the foregoing. Computer-readable storage media, as the term is used in this disclosure, is not to be construed as storage in the form of transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide, light pulses passing through fiber optic cables, electrical signals transmitted through wires, and / or other transmission media.As will be appreciated by those skilled in the art, data is typically moved at some infrequent time during the normal operation of a storage device, such as during access, defragmentation, or garbage collection, but this does not make the storage device temporary because the data is not temporary while it is stored.

[0020] Computing environment 100 includes an example environment for executing at least a portion of the computer code necessary to perform the methods of the present invention, such as code 150 for configuring beamforming of a network device (i.e., collectively referred to herein as “extended configuration interface 150”). In addition to block 150, computing environment 100 includes, for example, computer 101, wide area network (WAN) 102, end user device (EUD) 103, remote server 104, public cloud 105, and private cloud 106. In this embodiment, computer 101 includes a set of processors 110 (including processing circuitry 120 and cache 121), communications fabric 111, volatile memory 112, persistent storage 113 (including operating system 122 and block 150, as identified above), a set of peripheral devices 114 (including a set of user interface (UI) devices 123, storage 124, and a set of Internet of Things (IoT) sensors 125), and network module 115. The remote server 104 includes a remote database 130. The public cloud 105 includes a gateway 140, a cloud orchestration module 141, a set of host physical machines 142, a set of virtual machines 143, and a set of containers 144.

[0021] Computer 101 may take the form of a desktop computer, a laptop computer, a tablet computer, a smartphone, a smartwatch or other wearable computer, a mainframe computer, a quantum computer, or any other form of computer or mobile device now known or later developed that is capable of executing programs, accessing a network, or querying a database, such as remote database 130. As is well understood in the field of computer technology, and depending on the technology, execution of a computer-implemented method may be distributed among multiple computers and / or multiple locations. However, in this presentation of computing environment 100, to keep the presentation as concise as possible, the detailed discussion focuses on a single computer, specifically computer 101. Although computer 101 is not depicted in FIG. 1 within a cloud, it may be located within a cloud. However, computer 101 is not required to reside within a cloud except to any extent that may be affirmatively depicted.

[0022] Processor set 110 includes one or more computer processors of any type now known or later developed. Processing circuitry 120 may be distributed across multiple packages, e.g., multiple tailored integrated circuit chips. Processing circuitry 120 may implement multiple processor threads and / or multiple processor cores. Cache 121 is memory located within the processor chip package and is typically used for data or code that should be available for fast access by threads or cores executing on processor set 110. Cache memory is typically organized into multiple levels depending on relative proximity to the processing circuitry. Alternatively, some or all of the cache for a processor set may be located “off-chip.” In some computing environments, processor set 110 may be designed to operate on qubits and perform quantum computing.

[0023] Computer-readable program instructions are typically loaded onto computer 101 to cause processor set 110 of computer 101 to execute a series of operational steps, thereby implementing a computer-implemented method; therefore, the instructions so executed instantiate the method specified in the flowcharts and / or descriptions of the computer-implemented method contained herein (collectively referred to as the "methods of the present invention"). These computer-readable program instructions are stored in various types of computer-readable storage media, such as cache 121 and other storage media discussed below. The program instructions and associated data are accessed by processor set 110 to control and direct the execution of the methods of the present invention. In computing environment 100, at least a portion of the instructions for executing the methods of the present invention may be stored in block 150 within persistent storage 113.

[0024] Communications fabric 111 is the signal-conducting pathway that allows various components of computer 101 to communicate with one another. Typically, this fabric is made up of switches and conductive pathways, such as those that make up buses, bridges, physical input / output ports, and the like. Other types of signal communication pathways may be used, such as fiber optic and / or wireless communication pathways.

[0025] Volatile memory 112 may be any type of volatile memory now known or later developed. Examples include dynamic type random access memory (RAM) or static type RAM. Typically, volatile memory 112 is characterized by random access, although this is not required unless expressly indicated. In computer 101, volatile memory 112 is located in a single package and is internal to computer 101; however, alternatively or additionally, volatile memory may be distributed across multiple packages and / or located external to computer 101.

[0026] Persistent storage 113 is any form of non-volatile storage for a computer, now known or later developed. The term non-volatile storage means that stored data is maintained regardless of whether power is supplied to computer 101 and / or to persistent storage 113 directly. Persistent storage 113 can be read-only memory (ROM), but typically at least a portion of persistent storage allows data to be written, data to be erased, and data to be rewritten. Some well-known forms of persistent storage include magnetic disks and solid-state storage devices. Operating system 122 may take several forms, such as various known proprietary operating systems employing a kernel or open-source Portable Operating System Interface-type operating systems. The code contained in block 150 typically includes at least a portion of the computer code involved in performing the methods of the present invention.

[0027] The peripheral device set 114 includes the set of peripheral devices of the computer 101. Data communication connections between the peripheral devices and other components of the computer 101 may be implemented in various ways, such as Bluetooth® connections, near field communication (NFC) connections, connections made by cables (such as universal serial bus (USB)-type cables), insertion-type connections (e.g., Secure Digital (SD) cards), connections made through local area communication networks, and even connections made through wide area networks such as the Internet. In various embodiments, the UI device set 123 may include components such as a display screen, speakers, microphones, wearable devices (such as goggles and smartwatches), keyboards, mice, printers, touchpads, game controllers, and haptic devices. The storage device 124 may be an external storage device such as an external hard drive or an insertable storage device such as an SD card. The storage device 124 may be persistent and / or volatile. In some embodiments, the storage device 124 may take the form of a quantum computing storage device for storing data in the form of qubits. In embodiments where computer 101 is required to have a large amount of storage (e.g., computer 101 stores and manages a large database locally), then this storage may be provided by a peripheral storage device designed to store very large amounts of data, such as a storage area network (SAN) shared by multiple, geographically distributed computers. IoT sensor set 125 consists of sensors that may be used in Internet of Things applications. For example, one sensor may be a thermometer and another sensor may be a motion detector.

[0028] Network module 115 is a collection of computer software, hardware, and firmware that enables computer 101 to communicate with other computers over WAN 102. Network module 115 may include hardware such as a modem or Wi-Fi® signal transceiver, software for packetizing and / or depacketizing data for communication network transmission, and / or web browser software for communicating data over the Internet. In some embodiments, the network control and network forwarding functions of network module 115 are performed on the same physical hardware device. In other embodiments (e.g., embodiments utilizing Software-Defined Networking (SDN)), the control and forwarding functions of network module 115 are performed on physically separate devices, such that the control function manages multiple different network hardware devices. Computer-readable program instructions for implementing the methods of the present invention may be downloaded to computer 101, typically from an external computer or external storage device, through a network adapter card or network interface included in network module 115.

[0029] WAN 102 is any now known or later developed wide area network (e.g., the Internet) capable of communicating computer data between remote locations by any technology for communicating computer data. In some embodiments, WAN 102 may be replaced and / or supplemented by a local area network (LAN) designed to convey data between devices located in a local area, such as a Wi-Fi network. WANs and / or LANs typically include copper transmission cables, optical fiber transmissions, wireless transmissions, and computer hardware such as routers, firewalls, switches, gateway computers, and edge servers.

[0030] End-user device (EUD) 103 is any computer system used and controlled by an end user (e.g., a customer of the enterprise operating computer 101) and may take any of the forms discussed above in connection with computer 101. EUD 103 typically receives useful and useful data from the operation of computer 101. For example, in a hypothetical case where computer 101 is designed to provide recommendations to the end user, the recommendations would typically be communicated from computer 101's network module 115 over WAN 102 to EUD 103. In this manner, EUD 103 can display or otherwise present the recommendations to the end user. In some embodiments, EUD 103 may be a client device, such as a thin client, a heavy client, a mainframe computer, a desktop computer, and the like.

[0031] Remote server 104 is any computer system that provides at least some data and / or functionality to computer 101. Remote server 104 may be controlled and used by the same entity that operates computer 101. Remote server 104 represents a machine that collects and stores useful and useful data for use by other computers, such as computer 101. For example, in the hypothetical case where computer 101 is designed and programmed to provide recommendations based on past data, then this past data may be provided to computer 101 from remote database 130 of remote server 104.

[0032] A public cloud 105 is any computer system available for use by multiple entities that provides on-demand availability of computer system resources and / or other computer functionality, particularly data storage (cloud storage) and computing power, without direct active management by users. Cloud computing typically leverages resource sharing to achieve consistency and economies of scale. Direct active management of the computing resources of the public cloud 105 is performed by the computer hardware and / or software of a cloud orchestration module 141. The computing resources provided by the public cloud 105 are typically implemented by virtual computing environments running on various computers comprising a host physical machine set 142, which is the universe of physical computers within and / or available in the public cloud 105. A virtual computing environment (VCE) typically takes the form of a virtual machine from a virtual machine set 143 and / or a container from a container set 144. It is understood that these VCEs may be stored as images and may be transferred among and between various physical machine hosts, either as images or after instantiation of the VCE. Cloud orchestration module 141 manages the transfer and storage of images, deploys new instantiations of VCE, and manages active instantiations of VCE deployments. Gateway 140 is a collection of computer software, hardware, and firmware that enables public cloud 105 to communicate over WAN 102.

[0033] We now provide some further explanation of virtual computing environments (VCEs). A VCE can be stored as an "image." A new, active instance of a VCE can be instantiated from an image. Two well-known types of VCEs are virtual machines and containers. A container is a VCE that uses operating system-level virtualization. This refers to an operating system feature where the kernel allows for the existence of multiple isolated user space instances called containers. These isolated user space instances typically behave as actual computers from the perspective of programs running in them. A computer program running on a normal operating system can utilize all of the computer's resources, such as connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, a program running inside a container can only use the contents of the container and of the devices allocated to the container; this feature is known as containerization.

[0034] Private cloud 106 is similar to public cloud 105, except that the computing resources are available only for use by a single enterprise. While private cloud 106 is shown in communication with WAN 102, in other embodiments, the private cloud may be completely disconnected from the Internet and accessible only through a local / private network. A hybrid cloud is a composite of multiple clouds of different types (e.g., private, community, or public cloud types), often each implemented by a different vendor. While each of the multiple clouds remains a separate, discrete entity, the larger hybrid cloud architecture is bound together by standardized or proprietary technologies that enable orchestration, management, and / or data / application portability between the constituent clouds. In this embodiment, both public cloud 105 and private cloud 106 are part of a larger hybrid cloud.

[0035] Referring to Figure 2, as previously mentioned, beamforming is a technique for focusing or concentrating radio signals on one or more receiving devices, rather than dispersing the signals evenly in all directions, as is commonly done with broadcast antennas. This technique improves the quality of the signals reaching the receiving devices and also increases the coverage capacity of the transmitting device. This can result in faster data transfer and fewer errors. Because the radio signals are focused where needed, signal interference between receiving devices can also be reduced or avoided.

[0036] However, despite all its potential benefits, beamforming can significantly increase the complexity of wireless networking and require significantly more computing resources. The processing requirements for implementing and maintaining beamforming technology have cost, hardware, and energy implications. Furthermore, configuring a router, access point, or other network hardware capable of beamforming can be very complex. Beamforming hardware may need to function in a three-dimensional environment where receivers are located at different locations in the three dimensions and the signals themselves propagate with different magnitudes and directions in the three dimensions. This can, in some cases, make configuring beamforming network hardware very complex.

[0037] In particular embodiments, to reduce the complexity of setting up and configuring beamforming for network devices, a system in accordance with the present invention (hereinafter referred to as "augmented configuration interface 150") may enable a user to establish a map 200 within an interactive display device (e.g., a virtual reality device, an augmented reality device, a holographic interface, etc.). This map 200 may describe the area over which beamforming is to be configured. Map 200 may be provided in two or three dimensions depending on the associated application.

[0038] In particular embodiments, if the area is within a building or if one or more buildings or structures are included in the area intended to be covered by the beamforming pattern, the map may include a floor plan. For example, Figure 2 shows one embodiment of a map 200 that may establish the coverage area of ​​a network device (e.g., a wireless router or wireless access point) that supports beamforming. In this particular example, map 200 includes a floor plan 202 of the building or other structure within map 200, although this is not necessary in all embodiments. Map 200 may define indoor, outdoor, or combination areas (i.e., indoor and outdoor areas) where the network device will provide beamforming coverage.

[0039] As shown, in particular embodiments, the enhanced configuration interface 150 may enable placement of the network device 204 within the map 200 that corresponds to where the network device 204 is located or will be located within the real-world environment corresponding to the map 200. Similarly, the enhanced configuration interface 150 may enable placement or display of the receiving device 206 (e.g., a smartphone, computer, tablet, television, etc.) on the map 200 where it is located or intended to be located within the real-world environment. Similarly, the enhanced configuration interface 150 may enable overlaying a beamforming pattern propagating from the network device 204 onto the map 200 to indicate where the network device's beam 208 is located or will be propagating from the network device 204. This may allow a user to visualize the beamforming pattern within a particular environment.

[0040] As shown, beams 208 may vary in size and direction depending on the location of receiving devices 206 to which they are directed. In certain embodiments, beams 208 are static, meaning that once configured, they may retain their size and / or direction until updated or reconfigured. In other embodiments, beams 208 may dynamically change based on conditions within map 200 or the real-world environment. For example, the number, direction, and / or size of beams 208 may change in response to changes in the number of receiving devices 206, the locations of receiving devices 206, signal strength detected from receiving devices 206, map 200 or the real-world environment corresponding to map 200, environmental conditions (weather, obstructions, etc.), or the like.

[0041] In particular embodiments, the advanced configuration interface 150 may allow weights to be assigned to the receiving devices 206. These weights, in particular embodiments, may correspond to the priority of the receiving devices 206. This may allow the beam 208 to be focused on the receiving devices 206 with the highest priority, thereby ensuring that the higher priority receiving devices 206 receive the strongest signal from the network device 204. The advanced configuration interface 150, in particular embodiments, may allow these weights to be changed or updated as the priority of the receiving devices 206 changes.

[0042] The enhanced configuration interface 150 may, in particular embodiments, enable updating beamforming patterns in an interactive and intuitive manner. For example, given a map 200 with devices 204, 206, and beams 208 overlaid on it, reconfiguring the beamforming pattern may be as simple as selecting a beam 208 (e.g., with a mouse pointer, finger, etc.) and dragging the beam 208 to a new location on the map 200. This technique may be used to change the direction and / or size of a particular beam 208. Similar techniques may be used to create new beams 208 or remove existing beams 208 on the map 200. This may be done in either two or three dimensions, depending on the application involved. Similarly, changing the weight of a receiving device 206 may be as simple as selecting the receiving device 206 on the map 200 and setting or updating the information for the receiving device 206. The same or similar techniques may be used to update the configuration of the transmitting network device 204.

[0043] For example, as shown in FIG. 2, assume a user wants to redirect beam 208a to a new receiving device 206a, in this example, an electric lawnmower 206a with a wireless connection. To redirect beam 208a, the user may select beam 208a with mouse pointer 210 or finger 210 and drag beam 208a to a new location, i.e., above lawnmower 206a. This may create a new beamforming pattern, as shown in FIG. 3. In certain embodiments, new beam 208a may be static, i.e., remain where it is dragged. In other embodiments, new beam 208a may be dynamic, such that its magnitude and / or direction may change. For example, if electric lawnmower 206a moves around within an area of ​​map 200, the change in location may be detected and beam 208a may be redirected to reflect the changing location.

[0044] As mentioned above, in certain embodiments, the interactive display device associated with augmented configuration interface 150 may include a virtual reality device, an augmented reality device, a holographic interface, or the like. In the case of a virtual reality device, in certain embodiments, map 200 may be presented to a user as a three-dimensional virtual reality environment. Network devices 204, receiving devices 206, and beamforming patterns may be presented to a user in the virtual reality environment in appropriate relationship to map 200. A user may reconfigure the beamforming patterns by interacting with and manipulating the beamforming patterns in the virtual reality environment. Various types of hardware, such as a virtual reality headset, may be used to implement augmented configuration interface 150 in a virtual reality environment.

[0045] Alternatively, or additionally, augmented configuration interface 150 may be configured to function in an augmented reality environment. For example, in certain embodiments, virtual representations of network devices 204, receiving devices 206, and / or beamforming patterns may be overlaid onto a real-world scene presented through a device such as augmented reality glasses, a smartphone, a tablet, or the like. In other contemplated embodiments, augmented configuration interface 150 may be implemented as a holographic interface.

[0046] 4, as previously described, the receiving device 206 may move within the area defined by the map 200. For example, FIG. 4 shows the receiving device 206a (i.e., the electric lawn mower 206a) and the receiving device 206 (e.g., a smartphone) in different locations at a first time (T1), a second time (T2), and a third time (T3). In response, the beamforming pattern may be configured to dynamically change over time to alter the magnitude and / or direction of the beam 208 to reflect the changing locations of the receiving devices 206, 206a.

[0047] In particular embodiments, the advanced configuration interface 150 may be configured to learn how the beamforming pattern has changed over time and predict how the beamforming pattern may be optimized in the future. The advanced configuration interface 150 may accomplish this using machine learning in particular embodiments. Specifically, the advanced configuration interface 150 may be trained using historical location or movement data of the receiving device 206, 206a to predict how the beamforming pattern should change in the future.

[0048] Referring to FIG. 5, one embodiment of a method 500 for visualizing and managing beamforming patterns is illustrated. Such method 500 may be performed by the enhanced configuration interface 150 in certain embodiments. As shown, the method 500 first collects (502) the status of wireless devices (e.g., receiving devices 206) in a given area. The method 500 then obtains (504) a map 200 (either two-dimensional or three-dimensional) of the area. The relative positions of the transmitting devices 204 (e.g., transmitting network devices 204) and receiving devices 206 on the map 200 may then be obtained (506). The method 500 then calculates (508) the wireless signal strength of each connected receiving device 206 from the data collected in step 502. Using the calculated signal strengths, the method 500 generates (510) and stores (510) a current wireless beamforming pattern for the map 200. The method 500 then visualizes (512) the current wireless beamforming pattern in the advanced configuration interface 150 and allows the user to update / reprioritize (512) the weights of the receiving devices 206, user preferences, contextual needs, and the beamforming pattern.

[0049] Referring to FIG. 6, one embodiment of a method 600 for re-adjusting the priorities of receiving devices 206 is illustrated. Such method 600 may be performed by the extended configuration interface 150 in certain embodiments. As shown, the method 600 enables a user to update / re-prioritize the weights of receiving devices 206 and modify (604) the wireless beamforming pattern plan. The method 600 learns (604) beamforming patterns over time to recommend and predict appropriate beamforming patterns for the user to update via the extended configuration interface 150. The method 600 may further create (606) a knowledge corpus of beamforming patterns based on the priorities of receiving devices 206, the weights of receiving devices 206, contextual use / need, and / or user preferences. The method 600 deploys (608) the updated beamforming pattern plan and refreshes (608) the beamforming patterns at the network device 204.

[0050] 7 is a high-level block diagram illustrating the extended configuration interface 150 and various sub-modules that may be used to configure beamforming for the network device 204. The extended configuration interface 150 and associated sub-modules may be implemented in hardware, software, firmware, or a combination thereof. The extended configuration interface 150 and associated sub-modules are presented by way of example and not limitation. In different embodiments, more or fewer sub-modules may be provided. For example, the functionality of some sub-modules may be combined into one or fewer sub-modules, or the functionality of a single sub-module may be distributed across multiple sub-modules.

[0051] As shown, the extended configuration interface 150 may include one or more of a management module 702, a data collection module 704, a locator module 706, a beamforming pattern generation module 708, and a visualization module 710. The management module 702 may include a service profile module 712 that may reference a data structure 714 and a priority list 716. The data collection module 704 may reference a map 200 and a map repository 718. The locator module 706 may include a signal strength determination module 720. The beamforming pattern generation module 708 may include a realignment module 722 that may reference a knowledge corpus 724, and a beamforming pattern repository 726. The visualization module 710 may include a prioritization module 728 and a beamform deployer module 730.

[0052] The management module 702 and the service profile module 712 may manage the current configuration of beamforming patterns of the transmitting device 204. In particular embodiments, the management module 702 and the service profile module 712 may accomplish this by maintaining a data structure 714 that defines the current beamforming patterns and configuration parameters. For example, the data structure 714 may identify the map 200 being used by the advanced configuration interface 150, the wireless transmitting device 204 (i.e., the wireless network device 204) that is generating the beamforming pattern, a list of receiving devices 206 that are receiving wireless signals from the transmitting device 204 and / or are located on the map 200, the locations of the receiving devices 206, and / or the current beamforming pattern implemented by the transmitting device 204. The management module 702 and the service profile module 712 may help keep the information in the data structure 714 up to date when the information changes or when changes are made to the configuration.

[0053] The priority list 716 may rank the receiving devices 206 according to priority. In particular embodiments, this may be accomplished by recording a weight for each receiving device 206 in the list 716. The management module 702 and service profile module 712 may help keep the priority list 716 up to date when weights or other priority information changes.

[0054] The data collection module 704 may serve to collect data for the extended configuration interface 150. For example, the data collection module 704 may collect the status of connected receiving devices 206. The data collection module 704 may also collect data regarding the map 200 described above. This may include collecting floor plans 202 of any buildings or structures within the map 200. In particular embodiments, the data collection module 704 may allow a user to input the floor plan 202 in two or three dimensions. In particular embodiments, this may include allowing a user to draw the floor plan 202 for input into the data collection module 704. In particular embodiments, the data collection module 704 may also store the collected maps 200 and / or floor plans 202 in a map repository 718 for use in the extended configuration interface 150.

[0055] The locator module 706 may be used to locate (i.e., determine the relative (x, y, z) position or coordinates of) the transmitting device 204 and / or the receiving device 206 on the map 200. In particular embodiments, the locator module 706 may make this determination utilizing a signal strength determination module 720, which may detect the signal strength of the transmitting device 204 and / or the receiving device 206. In particular embodiments, triangulation techniques may be used in combination with the detected signal strength to determine the relative location of the devices. In other embodiments, the locator module 706 may use other techniques or technologies, such as GPS coordinates, to determine the location of the transmitting device 204 or the receiving device 206 on the map 200.

[0056] The beamforming pattern generation module 708 may use the locations and signal strengths of the transmitting device 204 and the receiving device 206, and their relative importance (e.g., weights), to determine the beamforming pattern that the transmitting device 204 will use for the current map 200. In particular embodiments, this beamforming pattern (and past beamforming patterns) may be stored in a beamforming pattern repository 726. The readjustment module 722 may be used to modify the beamforming pattern in response to changes in parameters such as the locations of the transmitting device 204 and / or the receiving device 206, the weights of the receiving device 206, the signal strength of the receiving device 206, contextual use / need, user preferences, or the like.

[0057] In particular embodiments, the retuning module 722 may also be configured to learn how the beamforming pattern has changed over time to suggest or predict future or future beamforming patterns. The retuning module 722 may, in particular embodiments, use machine learning to make these predictions or suggestions. In particular embodiments, the retuning module 722 may reference a knowledge corpus 724 that stores beamforming patterns based on the priority of the receiving device 206, weights associated with the receiving device 206, location of the transmitting device 204 and / or receiving device 206, contextual use / need, user preferences, or the like.

[0058] The visualization module 710 may allow a user to visualize a beamforming pattern within a particular map 200, which may include one or more floor plans 202. This may be done in two or three dimensions. In particular embodiments, this may be accomplished using an interactive display device, such as a virtual reality device, an augmented reality device, a holographic interface, or the like. The visualization module 710 may also allow a user to interactively make modifications to the beamforming pattern or other configuration parameters. For example, the visualization module 710 may allow a user to reconfigure a beamforming pattern by selecting a beam 208 of the beamforming pattern (e.g., with a mouse pointer, finger, etc.) and dragging the beam 208 to a different location on the map 200. A prioritization module 728 within the visualization module 710 may allow a user to change the beamforming pattern (or beamforming pattern plan) by modifying weights associated with the receiving devices 206. Once the beamforming pattern or beamforming pattern plan is determined or modified in the advanced configuration interface 150, the beamform deployer module 730 may deploy the beamforming pattern or beamforming pattern plan (e.g., a plan of how the beamforming pattern will change over time) to the transmitting device 204.

[0059] Referring to Figure 8, a flowchart illustrating the interactions and data flow between the modules illustrated in Figure 7 is illustrated. As shown in Figure 8, a user 800 may manage the current configuration of beamforming patterns and advanced configuration interface 150 via management module 702 and service profile module 712. This configuration may be stored in data structure 714 that records current beamforming patterns and other configuration parameters, as described above. Other data structures, such as priority list 716, may record the priorities (e.g., weights) of receiving devices 206 associated with beamforming patterns.

[0060] 8, the data collection module 704 may collect data (e.g., status data) from the transmitting device 204 and the receiving device 206. This data may be used by the locator module 706 to locate the transmitting device 204 and the receiving device 206 on the map 200. This may be accomplished with the assistance of a signal strength determination module 720, which may measure the signal strength of the receiving device 206. The location data may be passed to the beamforming pattern generation module 708, which may determine a beamforming pattern for efficient communication between the transmitting device 204 and the receiving device 206. This beamforming pattern may be recorded in a beamforming pattern repository 726. The beamforming pattern may be created in association with the map 200, which may be obtained from the map repository 718.

[0061] 8, using data from the knowledge corpus 724 and / or beamforming pattern repository 726, the retuning module 722 can be used to adjust the beamforming pattern as needed, which can be in response to changes in the location of the transmitting device 204 and / or receiving device 206, the weights of the receiving device 206, the signal strength of the receiving device 206, contextual use / need, user preferences, or the like.

[0062] Once the beamforming pattern is established, the visualization module 710 may allow the user 800 to visualize the beamforming pattern in two or three dimensions. In particular embodiments, this may be accomplished using an interactive display device such as a virtual reality device, an augmented reality device, a holographic interface, or the like. In particular embodiments, the visualization module 710 may allow the user to interactively modify the beamforming pattern or other configuration parameters. The prioritization module 728 may allow the user 800 to change the beamforming pattern (or beamforming pattern plan) by modifying weights associated with the receiving device 206. Once the beamforming pattern or beamforming pattern plan is established or modified, the beamform deployer module 730 may implement or deploy the beamforming pattern (or beamforming pattern plan) on the transmitting device 204.

[0063] 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 code, comprising one or more executable instructions for implementing the specified logical function(s). It should also be noted that 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, in fact, be executed substantially simultaneously, or the blocks may be executed in the reverse order, depending on the functionality involved. Other implementations may not require all of the disclosed steps to achieve the desired functionality. It should also be noted that each block in the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or operations, or a combination of dedicated hardware and computer instructions.

[0064] Some examples will now be provided to further clarify various aspects of the present disclosure.

[0065] Example 1: A method for configuring beamforming for network devices includes creating a map of an area in which network devices supporting beamforming are located. The method illustrates, on an interactive display device, the network devices on the map. The method illustrates, on the interactive display device, one or more beams emanating from the network devices on the map. The method allows a user to manipulate the beams on the interactive display device to create a desired beamforming pattern that takes into account the map and receiving devices located in the area.

[0066] Example 2: The limitation described in example 1, wherein the map includes a floor plan associated with the area.

[0067] Example 3: The limitation of any of Examples 1 and 2, wherein the network device is one of a wireless router and a wireless access point.

[0068] Example 4: The limitation of any one of Examples 1 to 3, wherein the interactive display device is one of a virtual reality device, an augmented reality device, and a holographic interface.

[0069] Example 5: The limitation of any one of Examples 1-4, wherein the map is a three-dimensional map and the beam is represented in three dimensions on the three-dimensional map.

[0070] Example 6: The limitation of any of Examples 1-5, further comprising establishing a weight for each of the receiving devices and adjusting the beamforming pattern in a manner that takes the weight into account.

[0071] Example 7: The limitation of any of Examples 1-6, further comprising learning beamforming patterns that occur over time to recommend a desired beamforming pattern.

[0072] Example 8: A system comprising one or more processors and one or more computer-readable storage media collectively storing program instructions configured, when executed by the processors, to cause the processors to perform a method according to any of Examples 1-7.

[0073] Example 9: A computer program product comprising one or more computer-readable storage media and program instructions collectively stored on the one or more computer-readable storage media, the program instructions comprising instructions configured to cause one or more processors to perform a method according to any one of Examples 1-7.

[0074] Example 10: A method for configuring beamforming for network devices includes creating a map of an area in which network devices supporting beamforming are located. The method shows, on an interactive display device, the network devices on the map. The method shows, on the interactive display device, one or more beams emanating from the network devices on the map. The method allows a user to manipulate the beams on the interactive display device to create a desired beamforming pattern that takes into account the map and receiving devices located in the area. The method further establishes weights for each of the receiving devices and adjusts the beamforming pattern in a manner that takes into account the weights.

[0075] Example 11: The limitation of example 10, wherein the map is a floor plan associated with an area.

[0076] Example 12: The limitation of any of Examples 10 and 11, wherein the interactive display device is one of a virtual reality device, an augmented reality device, and a holographic interface.

[0077] Example 13: A system including one or more processors and one or more computer-readable storage media collectively storing program instructions configured, when executed by the processors, to cause the processors to perform a method according to any of Examples 10-12.

Claims

1. 1. A method for configuring beamforming for a network device, the method comprising: creating a map of an area in which network devices supporting beamforming are located; showing, on an interactive display device, the network devices on the map; showing, on the interactive display device, one or more beams emanating from the network devices on the map; and enabling a user to manipulate the beams on the interactive display device to create a desired beamforming pattern that takes into account the map and receiving devices located in the area.

1. A method for configuring beamforming of a network device, comprising:

2. The method of claim 1 , wherein the map includes a floor plan associated with the area.

3. The method of claim 1 , wherein the network device is one of a wireless router and a wireless access point.

4. The method of claim 1 , wherein the interactive display device is one of a virtual reality device, an augmented reality device, and a holographic interface.

5. The method of claim 1 , wherein the map is a three-dimensional map and the beam is represented in three dimensions on the three-dimensional map.

6. The method of claim 1 , further comprising establishing a weight for each of the receiving devices and adjusting the beamforming pattern in a manner that takes into account the weight.

7. The method of claim 1 , further comprising learning beamforming patterns that occur over time to recommend the desired beamforming pattern.

8. 1. A computer program product for configuring beamforming of a network device, the computer program product comprising: a computer-readable storage medium having computer-usable program code embodied therein, the computer-usable program code, when executed by at least one processor, Creating a map of the area where network devices supporting beamforming are located; showing the network devices on the map on an interactive display device; showing, on the interactive display device, one or more beams emanating from the network devices on the map; and allowing a user to manipulate the beams on the interactive display device to create a desired beamforming pattern that takes into account the map and receiving devices located in the area.

1. A computer program product for configuring beamforming of a network device, the computer program product being configured to execute:

9. The computer program product of claim 8 , wherein the map is a floor plan associated with the area.

10. The computer program product of claim 8 , wherein the network device is one of a wireless router and a wireless access point.

11. The computer program product of claim 8 , wherein the interactive display device is one of a virtual reality device, an augmented reality device, and a holographic interface.

12. 9. The computer program product of claim 8, wherein the map is a three-dimensional map, and the beam is represented in three dimensions on the three-dimensional map.

13. 10. The computer program product of claim 8, wherein the computer usable program code is further configured to establish a weight for each of the receiving devices and adjust the beamforming pattern in a manner that takes into account the weight.

14. 10. The computer program product of claim 8, wherein the computer usable program code is further configured to learn beamforming patterns that occur over time to recommend the desired beamforming pattern.

15. 1. A system for configuring beamforming for a network device, the system comprising: at least one processor; at least one memory device operatively coupled to the at least one processor and configured to store instructions for execution on the at least one processor, the instructions being transmitted to the at least one processor; Creating a map of the area where network devices supporting beamforming are located; showing the network devices on the map on an interactive display device; showing, on the interactive display device, one or more beams emanating from the network devices on the map; and allowing a user to manipulate the beams on the interactive display device to create a desired beamforming pattern that takes into account the map and receiving devices located in the area. to carry out 1. A system for configuring beamforming for a network device, comprising:

16. The system of claim 15 , wherein the map is a floor plan associated with the area.

17. The system of claim 15 , wherein the network device is one of a wireless router and a wireless access point.

18. The system of claim 15 , wherein the interactive display device is one of a virtual reality device, an augmented reality device, and a holographic interface.

19. The system of claim 15 , wherein the map is a three-dimensional map and the beam is represented in three dimensions on the three-dimensional map.

20. 16. The system of claim 15, wherein the instructions further cause the at least one processor to establish a weight for each of the receiving devices and adjust the beamforming pattern in a manner that takes into account the weight.

21. 16. The system of claim 15, wherein the instructions further cause the at least one processor to learn beamforming patterns that occur over time to recommend the desired beamforming pattern.

22. 1. A method for configuring beamforming for a network device, the method comprising: creating a map of an area in which network devices supporting beamforming are located; showing, on an interactive display device, the network devices on the map; showing, on the interactive display device, one or more beams emanating from the network devices on the map; enabling a user to manipulate the beams on the interactive display device to create a desired beamforming pattern that takes into account the map and receiving devices located in the area; and establishing a weight for each of the receiving devices and adjusting the beamforming pattern in a manner that takes into account the weight; 1. A method for configuring beamforming of a network device, comprising:

23. The method of claim 22 , wherein the map is a floor plan associated with the area.

24. The method of claim 22 , wherein the interactive display device is one of a virtual reality device, an augmented reality device, and a holographic interface.

25. 1. A system for configuring beamforming for a network device, the system comprising: at least one processor; at least one memory device operatively coupled to the at least one processor and configured to store instructions for execution on the at least one processor, the instructions being transmitted to the at least one processor; Creating a map of the area where network devices supporting beamforming are located; showing the network devices on the map on an interactive display device; showing, on the interactive display device, one or more beams emanating from the network devices on the map; enabling a user to manipulate the beams on the interactive display device to create a desired beamforming pattern that takes into account the map and receiving devices located in the area; and establishing a weight for each of the receiving devices and adjusting the beamforming pattern in a manner that takes into account the weight; to carry out 1. A system for configuring beamforming for a network device, comprising: