The present disclosure relates generally to systems and methods for dynamic configuration of wireless clients and infrastructure in wireless networks to facilitate optimized network performance and improvements in the ability of client radios to continue to operate optimally within the given network environment. The disclosure also relates to alerting devices, software, and/or users on or a part of a wireless network to issues related to wireless connectivity.
This section provides background information related to the present disclosure which is not necessarily prior art.
Wireless communication networks are becoming ubiquitous. As wireless networking has become commonplace, configurations of network hardware and software have become increasingly sophisticated, along with a widening range of device types being incorporated into wireless networks.
The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations, and are not intended to limit the scope of the present disclosure.
Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings.
Example embodiments will be described more fully with reference to the accompanying drawings.
The inventors have observed that wireless network optimization strategies typically fall into three categories. The first strategy type is to optimize the network during wireless infrastructure layout. This usually involves obtaining site layouts, area maps, user density and other similar information. This may be followed by modelling simulations to determine the approximate placement of wireless access points, base stations, radio heads, and antennas. A network designer may additionally determine locations based on past experience. A decision on devices to be utilized in the infrastructure may depend on a chosen technology, e.g., 802.11a/b/g/n/ac, LTE, or other WLAN and WWAN technologies. For indoor 802.11 wireless technology and other small cells, access points typically are installed and a technician may carry out a final survey employing a measurement device to confirm that sufficient coverage has been achieved. For outdoor WWAN applications like LTE, cell sites typically are installed and a vehicle may be driven around that can confirm that sufficient coverage has been achieved.
The second strategy type may be performed after an initial installation has occurred. During normal operation and maintenance periods, a wireless infrastructure may adjust the network configuration and base station and/or access point parameters to optimize usage. In order to decide to make an adjustment, wireless infrastructure gathers data about the environment. This could be determining the number and usage of clients on a given base station or access point, doing scans and passive monitoring to determine channel usages, asking a client to do scans to determine channel usage, and making other data gathering attempts. In order to optimize the wireless network, the infrastructure may take action. For 802.11 wireless, this could include de-authenticating a client on an access point in order to attempt to move it to a different access point, adjusting access point power, moving access points to less used channels, and other actions. For licensed spectrum technologies like UMTS or LTE, this may include the base network instructing the client to alter its power, bit encoding scheme or move to another base station controller to improve the network performance.
The third strategy type is to install a fixed overlay network of sensors that monitor wireless network infrastructure. The sensors may passively monitor or actively test the wireless network to see how well it is performing. Passive monitoring may be used to determine channel usage, base station or access point transmit power, client interaction with base stations or access points, base station or access point interaction with clients, and gather other data. Active testing may include connecting to each base station or access point, trying different authentication, trying different modulation and rate schemes, throughput tests, differing protocol based tests, and other active testing. Metrics and data gathered from the tests may be analyzed. After analysis, the system may give recommendations to allow network engineers to manually adjust the wireless network for better performance.
Most wireless network installations have gone through the first strategy type and employ the second strategy type. The third strategy type is less common but is a developing area of wireless network management. It should be noted that all three strategy types focus on optimizing the wireless infrastructure and not the wireless clients. The inventors have observed that wireless clients can play a key role in providing optimal connectivity on a wireless network and that wireless client optimization is an underdeveloped area.
A commonly used strategy to optimize client parameters such as transmit power, roam threshold, and scan periods may be performed before commissioning a network module to the field. Typically, a wireless chipset or module manufacturer sets optimal default parameters for all applications to use. Occasionally, a specific manufacturer integrating a wireless chipset or module may optimize its client parameters for its specific use case. Less commonly, a network administrator may modify default parameters to provide optimal client performance under the conditions of a specific network as a whole. In most if not all cases, these client optimizations are static once made and apply to the client's operation throughout the network.
A lesser-used strategy focuses on RF interference and regulatory optimization. A network infrastructure may suggest a transmit power value different than a pre-programmed value of a module operating in the field. One reason may be because an access point or base station is especially crowded and a client is potentially interfering with other clients. Another reason may be due to local regulatory requirements requiring power levels different from those at which the module was originally intended to operate.
In various embodiments of the present disclosure, performance of wireless communication in a network by a plurality of software clients provided on and/or integrated with various devices can be tuned through a wireless client/server-based management system. Notably, in various embodiments, tuning can be performed based on information acquired by the network clients, e.g., from the wireless infrastructure.
Although various embodiments are described with reference to medical devices, monitoring devices and hospital operations, the disclosure is not so limited. Aspects of the disclosure may be practiced in connection with various types of devices distributed in various types of environments. Unless indicated otherwise herein, the term “device” is used to refer to a mechanical and/or electrical contrivance for a particular purpose. In various embodiments, a “device” provides functionality that may or may not be supported by a general-purpose computer. Further, unless indicated otherwise herein, “device” refers to a contrivance that might include and/or make use of a general-purpose computer but is not itself a general-purpose computer.
Referring to the figures,
The example processor 28 may include, without limitation, one or more processing units including, e.g., a central processing unit (CPU), a microcontroller (MCU), a reduced instruction set computer (RISC) processor, an application-specific integrated circuit (ASIC), a programmable logic circuit (PLC), a gate array, and/or any other circuit and/or processor capable of performing operations and functions as described herein. The above examples are not intended to limit in any way the definition and/or meaning of “processor.” The processor 28 and memory 32 are devices that enable information, such as executable instructions and/or other data, to be stored and retrieved.
The example memory 32 may include one or more computer-readable media, such as, without limitation, dynamic random access memory (DRAM), static random access memory (SRAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), solid state device(s), flash drive(s), CD-ROM, thumb drive(s), tape(s), flash drive(s), hard disk(s), and/or any other type of volatile or nonvolatile physical or tangible computer-readable medium. Furthermore, in various embodiments, processor-executable instructions may be stored in the memory 32 for execution by the processor 28 to cause the processor 28 to perform one or more functions as described herein, such that the memory 32 is a physical, tangible, and non-transitory computer-readable medium. It should be appreciated that the memory 32 may include a variety of different memories, each implemented in one or more of the functions or processes described herein. In various embodiments, the memory 32 may be configured to provide a software client executable by the processor 28 for communicating in a wireless network that may include, e.g., a plurality of clients integrated with various devices 20.
An example embodiment of a communications network or system is indicated generally in
The wireless management server 210 is in communication with a fixed overlay monitoring network 230 that includes monitoring devices 238. One or more mobile diagnostic devices 242, one of which is included in the embodiment shown in
In various wireless network embodiments, including without limitation the example embodiment of
When a wireless management server has collected sufficient data and events from a given wireless client, it can perform analysis to determine if the wireless client is experiencing connectivity problems. If the client is experiencing connectivity problems, the wireless management server may attempt to identify the cause of the connectivity problem. If the wireless management server needs further data from the wireless client, it may instruct the client's agent to send more verbose data and events.
If there are nearby wireless clients, the wireless management server may compare the nearby clients' data and events to see if any are experiencing similar connectivity issues. If this is still not sufficient, the wireless management server may instruct a nearby wireless client's agent to put the client into sniffer or monitor mode. In this mode, the nearby client may collect wireless traces of the wireless client having connectivity issues.
In various embodiments, if there is nearby fixed wireless network diagnostic infrastructure, its data and/or events may be leveraged to identify connectivity issues. This may be, for example, an overlay network with fixed monitoring nodes. A fixed overlay network may gather data and send events, e.g., by active testing and passively sniffing the network. This data may be sent to and managed by the wireless management server.
If there are nearby mobile wireless network diagnostic devices, their data and events may be leveraged to identify connectivity issues. This may include mobile wireless devices such as smartphones, laptops, purpose build wireless sniffers, and other devices. Such devices may be moved around, e.g., by a facility staff, field engineers, drones, and/or robot-like devices programmed to move around the facility. Such mobile wireless network diagnostic devices may gather data and send events by active testing and passively sniffing the network. This data could be sent to and managed by the wireless management server.
Nearby wireless clients, fixed wireless network diagnostic infrastructure, and/or mobile wireless network diagnostic devices in sniffer or monitor mode (a sniffer) may coordinate with a given wireless client's agent. Such coordination may include a wireless management server or a specific wireless client's agent coordinating with the sniffer to allow it to move to appropriate channels, what packet types to look for, when to start sniffing, etc. Such coordination may ensure that needed data is captured. Such coordination may be done, e.g., over the wireless client's connection to wireless infrastructure, over a separate wireless connection between the sniffer and the wireless client such as Bluetooth or 802.11 connection, and/or over a physical network connection to the sniffer such as Ethernet or serial.
Data and events, if any, from wireless network infrastructure may be leveraged to identify connectivity issues. This could take the form of direct data and events from wireless network equipment such as a controller or access point. It could also take the form of data and events determined by monitoring and or sniffing communication between a controller and access points on the wired network. Access points and controllers are not the only infrastructure equipment that could be used in such fashion. Any wireless network infrastructure typically may have data and events gathered from it. In various embodiments, such data may be sent to and managed by a wireless management server.
If there is historical data, a wireless management server may compare that data and events to determine whether previous similar connectivity issues were found. This could be from previous clients, mobile diagnostic devices, and/or fixed diagnostic infrastructure in the network area. This could include historical information from a nearby fixed network. In various embodiments, such data may be sent to and managed by a wireless management server.
Additionally or alternatively, user-driven input may be used to identify wireless connectivity issues. For example, a user may press a button to log that a wireless network connectivity problem has occurred. As another example, results of user-activated active testing and/or passive wireless sniffing may be used as input to identify wireless connectivity issues. In various embodiments, such data may be sent to and managed by a wireless management server.
Location-based input may be used to assist in identifying where a wireless connectivity issue is occurring. This may come from 802.11 based location information such as signal strength, time of flight, what networks are seen, etc. Such location information may also come from radio frequency identification (RFID), Bluetooth Low Energy (BLE) beacons, GPS, other technologies, etc. In various embodiments, such data may be sent to and managed by a wireless management server.
In some embodiments, when connectivity issues have been identified, a wireless management server may determine whether any wireless client configuration parameters on a given client or clients could be adjusted to optimize connectivity. If the wireless management server determines that the configuration parameters on a given client or clients can be optimized, it may send those new parameters to the clients' agents for them to take effect at an appropriate time.
If connectivity issues are related to wireless infrastructure, a wireless management server may send an alert and/or may recommend, to a wireless network administrator, corrective action to apply to the wireless infrastructure. This may include changing infrastructure parameters and/or recommendations as to the physical layout of the infrastructure. In some embodiments in which a wireless management server is allowed to directly interface and control the wireless infrastructure, the wireless management server may take corrective action automatically.
If a user of a given wireless device or a program on a given wireless device needs to know about a connectivity issue, the agent integrated with that device may be configured to trigger an alert to the program or user. This may allow a user to take potentially corrective action such as moving the device to an area of better connectivity. Additionally or alternatively, a program on a wireless device may make determinations as to how much data and when to send it based on such alerts.
Diagnosing and/or optimizing for connectivity issues could take many forms. For example, a connectivity issue may be determined based on field diagnostic practices and their corresponding optimizations. Such practices may be preprogrammed as algorithms, e.g., in a wireless management server and/or client agents. Various embodiments that may be preprogrammed as algorithms are described in Tables 1-18.
Another way of diagnosing and/or optimizing for connectivity issues is to look for previously unknown trends, patterns, and correlations between data and events and the corresponding location, time, configuration, etc. This may allow a wireless management server to find new configuration optimizations that were previously unknown that allow for better connectivity.
For various forms of diagnosing and optimizing connectivity issues, artificial intelligence (AI) may be used to aid in the optimization of wireless clients and wireless infrastructure. For example, there may be several known potential permutations of configuration to optimize for a given connectivity scenario. A genetic algorithm may start with known permutations of potential configurations and test them to determine their fitness. The algorithm may then crossbreed the configurations to test for optimal fitness while making sure they are sufficiently diverse. When an optimal configuration is found, it may be used by a client or clients until connectivity is found not to be optimal. A flow diagram of one example embodiment of a genetic algorithm is shown in
AI may be used, e.g., in diagnosing and optimizing poor connectivity situations where no known diagnostic technique works and no previously unknown correlations, patterns, or trends between data and events and configuration have been found. In such cases, a genetic algorithm may be used to select and test different, potentially random, configurations and determine their fitness. The algorithm may then crossbreed the configurations to test for optimal fitness while making sure they are sufficiently diverse. When an optimal configuration is found, it may be used by a client or clients, e.g., until connectivity is found not to be optimal.
Other or additional optimizations to wireless clients exist and can address more than basic connectivity issues. A wireless management server may optimize connectivity for a variety of use cases. The previously described techniques may be used to find and optimize for such cases, which may be related to power consumption, time, device type, device user, etc. Tables 1-18 describe various connectivity optimizations that could be use cases.
What use cases a given wireless client should be optimized for can be explicitly set, determined during client operation, or both. In an explicitly set case, a device manufacturer integrating a wireless client may provide explicit use cases to the wireless client on how a given client should operate. Additionally or alternatively, a wireless network administrator may program explicit use cases into a wireless management server on how a given client or class of clients should operate. In cases where no explicit use cases have been provided, a wireless management server and/or wireless client may determine which use case(s) to optimize for based on analyzing collected historical data and events. Even where an explicit use case has been programmed, a wireless management server may still determine to optimize for other use cases beyond the ones explicitly programmed.
In the embodiment shown in
Another example embodiment of a communications network or system is indicated generally in
In one example embodiment, the system 300 detects and optimizes for edge of coverage, e.g., as described in Table 1. The wireless management server 312 determines that the wireless clients integrated with the portable patient monitor 330c and the stationary patient monitor PM1 transmit weak signal strength to their currently connected access points, AP5 and AP1 respectively, and there are no better roam candidates. The wireless management server 312 then determines new optimal wireless client configuration parameters to maintain connectivity for the portable patient monitor 330c and the stationary patient monitor PM1. The parameters are then sent to the portable patient monitor 330c and the stationary patient monitor PM1 to be applied. The parameters may allow a wireless client to maintain connection for as long as possible until signal strength improves or reaches an out-of-coverage scenario. The management agents may trigger an alert on portable patient monitor 330c and the stationary patient monitor PM1 to inform any local user of the poor connectivity. Additionally or alternatively, the wireless management server 312 may trigger an alert, e.g., to go to a nurses' station connected with the hospital network 308 to tell a nurse to move the stationary patient monitor PM1 to a better coverage area. In the case of the portable patient monitor 330c, the alert sent by the management agent for the portable patient monitor 330c may inform the patient wearing the portable patient monitor 330c to move to a better coverage area. Additionally or alternatively, the wireless management server 312 may tell the nursing station that the patient wearing the portable patient monitor 330c has moved to a poor coverage area.
In another example embodiment, the system 300 profiles and optimizes based on time of day, e.g., as described in Table 7. The portable patient monitors 330a, 330b and 330c worn by three patients ideally use minimal power in order to conserve battery life, but since the monitors are attached to patients, they are highly mobile and need to roam in the wireless network 308 as the patient moves. In the present example embodiment, the wireless management server 312 determines that at night, while people normally sleep, the wireless clients on the portable patient monitors 330a, 330b and 330c are not mobile and do not move. Also, the wireless management server 312 determines that the wireless clients of the portable patient monitors 330a, 330b and 330c roam between several access points during the daytime hours. The wireless management server 312 determines to optimize the wireless clients of the portable patient monitors 330a, 330b and 330c by sending configuration parameters to their management agents to be optimized during the day to allow for better roaming and mobility. Then at night, the wireless management server 312 may send configuration parameters to optimize the wireless clients of the portable patient monitors 330a, 330b and 330c to save power. Thus optimal power savings can be allowed when appropriate, and reliable and fast roaming can be provided when needed.
In another example embodiment, the system 300 detects and optimizes for capacity under-coverage, e.g., as described in Table 4. The wireless management server 312 determines that the wireless client of the portable patient monitor 330a, which at that time is using the access point AP6, is experiencing difficulty in staying connected and in passing traffic, despite adequate signal strength. The wireless management server 312 issues scans from most, if not all, available clients in the area, including clients of other portable patient monitors 330, to determine whether the access point AP6 and the channel used by the portable patient monitor 330a are highly utilized. The wireless management server 312 may send wireless client configuration parameters to the management agent of the portable patient monitor 330a to connect to the access point AP5, even though the access point AP5 has a lower signal strength. This would allow the portable patient monitor 330a to maintain an optimal connection by not contesting for limited channel and AP capacity on the access point AP6. Since a wireless infrastructure adjustment may be warranted, the wireless management server 312 may send an alert, e.g., to a wireless network administrator detailing the capacity under-coverage and potential resolutions.
In another example embodiment, the system 300 improves connectivity via channel list optimization, e.g., as described in Table 13. The wireless management server 312 may gather scan results from all the clients in the hospital. The wireless management server 312 may then determine all the channels on which access points AP1-AP5 are operating. The wireless management server 312 may then send a configuration parameter list containing the channels used by the wireless network to all wireless clients' management agents. The management agents may set the wireless clients to only operate on those channels. The wireless clients thus can be allowed to finish scans faster due to a shorter channel list, thereby allowing wireless clients to achieve faster roaming, higher throughput, and consume less energy.
In another example embodiment, the system 300 improves connectivity based on device type, e.g., as described in Table 8. The wireless management server 312 gathers events and data from devices of a specific type, e.g., the portable infusion pump IP1 sending large amounts of data regarding the drugs administered to a patient on to the nurses station IS1. The infusion pump IP1 is not highly mobile and stays connected to the access point AP4. This behavior is similar to that of previous infusion pump IP1-type devices on the system 300. The wireless management server 312 determines to optimize devices of the type of infusion pump IP1 based on the usage trend of needing high throughputs and not high mobility for that device type.
Embodiments of the foregoing network systems and methods can enable the performance of an individual device client to be tuned based on that client's activities and/or based on activities of clients of other devices in the network. This is in contrast to networks that tune overall network performance without regard to behavior of individual clients. Various embodiments make it possible to tune performance of clients not only in response to the wireless environment, but also in ways that address behaviors of the devices for which the individual clients are provided.
Example embodiments are provided so that this disclosure will be thorough, and will fully convey the scope to those who are skilled in the art. Numerous specific details are set forth such as examples of specific components, devices, and methods, to provide a thorough understanding of embodiments of the present disclosure. It will be apparent to those skilled in the art that specific details need not be employed, that example embodiments may be embodied in many different forms, and that neither should be construed to limit the scope of the disclosure. In some example embodiments, well-known processes, well-known device structures, and well-known technologies are not described in detail. In addition, advantages and improvements that may be achieved with one or more exemplary embodiments of the present disclosure are provided for purpose of illustration only and do not limit the scope of the present disclosure, as exemplary embodiments disclosed herein may provide all or none of the above mentioned advantages and improvements and still fall within the scope of the present disclosure.
The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. As used herein, the singular forms “a”, “an” and “the” may be intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms “comprises,” “comprising,” “including,” and “having,” are inclusive and therefore specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. The method steps, processes, and operations described herein are not to be construed as necessarily requiring their performance in the particular order discussed or illustrated, unless specifically identified as an order of performance. It is also to be understood that additional or alternative steps may be employed.
When an element or layer is referred to as being “on”, “engaged to”, “connected to” or “coupled to” another element or layer, it may be directly on, engaged, connected or coupled to the other element or layer, or intervening elements or layers may be present. In contrast, when an element is referred to as being “directly on,” “directly engaged to”, “directly connected to” or “directly coupled to” another element or layer, there may be no intervening elements or layers present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between” versus “directly between,” “adjacent” versus “directly adjacent,” etc.). As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
The term “about” when applied to values indicates that the calculation or the measurement allows some slight imprecision in the value (with some approach to exactness in the value; approximately or reasonably close to the value; nearly). If, for some reason, the imprecision provided by “about” is not otherwise understood in the art with this ordinary meaning, then “about” as used herein indicates at least variations that may arise from ordinary methods of measuring or using such parameters. For example, the terms “generally”, “about”, and “substantially” may be used herein to mean within manufacturing tolerances.
Although the terms first, second, third, etc. may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms may be only used to distinguish one element, component, region, layer or section from another region, layer or section. Terms such as “first,” “second,” and other numerical terms when used herein do not imply a sequence or order unless clearly indicated by the context. Thus, a first element, component, region, layer or section could be termed a second element, component, region, layer or section without departing from the teachings of the example embodiments.
Spatially relative terms, such as “inner,” “outer,” “beneath”, “below”, “lower”, “above”, “upper” and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. Spatially relative terms may be intended to encompass different orientations of a device in use or operation in addition to the orientation depicted in the figures. For example, if a device in the figures is turned over, elements described as “below” or “beneath” other elements or features would then be oriented “above” the other elements or features. Thus, the example term “below” can encompass both an orientation of above and below. The device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly.
The foregoing description of the embodiments has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure. Individual elements, intended or stated uses, or features of a particular embodiment are generally not limited to that particular embodiment, but, where applicable, are interchangeable and can be used in a selected embodiment, even if not specifically shown or described. The same may also be varied in many ways. Such variations are not to be regarded as a departure from the disclosure, and all such modifications are intended to be included within the scope of the disclosure.
Number | Date | Country | |
---|---|---|---|
62217304 | Sep 2015 | US |