Time division multiplexing method for managing wireless connection, wireless gateway, and storage medium

The time division multiplexing method alternately scan and connection operations in the Bluetooth gateway and adjust the link position, solving the unbalanced problem of Bluetooth gateway when managing multiple connections, achieving consistency of connection performance and accurate estimation of throughput.

CN116034627BActive Publication Date: 2025-08-08北京桂花网科技有限公司
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202180054854.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-07-09
Filing Date
2021-07-08
Publication Date
2025-08-08
Estimated Expiration
2041-07-08

AI Technical Summary

Technical Problem

When existing Bluetooth gateways manage multiple connections, connection stability and throughput are unbalanced, it is difficult to accurately estimate the throughput of a single connection, and it is difficult to balance resource allocation.

Method used

Using the time division multiplexing method, the scanning operation and connection operations are performed alternately, and the scanning interval and connection interval are separated in the scanning window and the connection window, the link position is adjusted to ensure that the operation interval of each connection window is basically the same, and the connection is added or removed using link position adjustment.

Benefits of technology

This enables consistent performance for each connection, reduces interference between scanning and connection operations, enables accurate estimates of the throughput of each connection, and optimizes resource allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116034627B_ABST
    Figure CN116034627B_ABST
Patent Text Reader

Abstract

The present application provides a time division multiplexing method, a wireless gateway, and a storage medium for managing wireless connections. The method includes: performing multiple scanning operations and multiple connection operations. Each scanning operation is performed within one of multiple scanning windows, and each connection operation is performed within one of multiple connection windows. The scanning window and the connection window do not overlap with each other. Consecutive scanning windows are separated by a scanning interval, which is a first integer multiple of a minimum interval, and consecutive connection windows are separated by a connection interval, which is a second integer multiple of the minimum interval. When a new wireless connection is added or an existing wireless connection is removed, the link position corresponding to the wireless connection is adjusted to provide balanced distribution of time slot resources for the wireless connection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates generally to wireless communication technology, and more particularly, to methods and systems for managing multiple wireless connections. Background Art

[0002] In many wireless connectivity applications, wireless gateways need to manage multiple wireless connections. More specifically, Bluetooth technology is one of the wireless connectivity technologies that has been widely implemented in electronic devices. It allows for wireless data exchange between electronic devices within a short range. Wireless connections using Bluetooth technology are free to use, consume low power, and are resistant to interference from other wireless connections. As a result, Bluetooth technology has become widely used in many products, such as headsets, keyboards and mice, printers, in-vehicle systems, and surveillance cameras. With the rapid adoption of Bluetooth technology in an increasing number of applications, Bluetooth gateways may need to manage multiple Bluetooth connections simultaneously.

[0003] For a wireless gateway that manages multiple Bluetooth connections, the number of simultaneous connections, the stability of each independent connection, and the throughput of each independent connection are key specifications for evaluating its performance. Existing methods and devices for managing multiple Bluetooth connections have multiple shortcomings. For example, in traditional Bluetooth gateways, the number of connections in actual applications rarely reaches its claimed capacity. For a gateway that can theoretically manage 20 connections simultaneously, when the number of connections is relatively large (for example, 10 connections), the existing connections become unstable and it is difficult, if not impossible, to establish new connections. The throughput of each connection may vary significantly, and removing certain connections may not improve this imbalance. In addition, in traditional gateways, it is difficult to estimate the throughput of a single connection. Therefore, a wireless connection management method that can address the above limitations is desired. Summary of the Invention

[0004] In view of the limitations of the aforementioned prior art, the present disclosure provides methods and systems for managing one or more wireless connections to address these limitations. Various embodiments of the present disclosure may include systems, methods, and non-transitory computer-readable media for managing one or more wireless connections.

[0005] One aspect of the present disclosure relates to a time-division multiplexing method for managing one or more wireless connections, applicable to a wireless gateway, such as a Bluetooth gateway. The method may include: the wireless gateway performing multiple scan operations and multiple connection operations. Each scan operation may be performed within one of multiple scan windows, each having a scan window size, and each connection operation may be performed within one of multiple connection windows, each having a connection window size.

[0006] Scan windows and connection windows may be separated from each other. Consecutive scan windows may be separated by a scan interval, and consecutive connection windows may be separated by a connection interval. The scan interval may be a first integer multiple of a base interval, and the connection interval may be a second integer multiple of the base interval. Each connection window may include multiple connection positions, each corresponding to one of the one or more wireless connections.

[0007] In some embodiments, in the above method, the scanning operation and the connection operation may be performed alternately, and the scanning interval may be equal to the connection interval.

[0008] In some embodiments, in the above method, within each connection window, each of the plurality of connection positions may have the same span size, and consecutive connection positions may be separated by the same connection interval. Performing a connection operation within the connection window may include performing one or more connection operations, each connection operation being performed at one of the plurality of connection positions, thereby occupying the corresponding connection position. Each connection operation may correspond to one of the one or more wireless connections.

[0009] In some embodiments, in the above method, performing a scanning operation within the scanning window may include performing a scanning operation to identify a new wireless connection. Performing a connection operation within the connection window may also include adding a new wireless connection. The new wireless connection may be added by performing a new connection operation corresponding to the new wireless connection at one of a plurality of unoccupied connection positions; and adjusting the connection position for an already performed connection operation.

[0010] In some embodiments, in the above method, adjusting the link position for the performed link operations may include adjusting the link position so that the operation intervals in the connection window are substantially the same. The operation intervals in the connection window may include the intervals between consecutive link operations and the interval from the last link operation to the end of the connection window. After the adjustment, the relative order of the link operations may remain unchanged.

[0011] In some embodiments, in the above method, adjusting the link position for a performed link operation may further include: determining whether an adjustment period is greater than a time threshold and whether an adjustment counter is less than a counter threshold; and adjusting the link position in response to determining that the adjustment period is greater than the time threshold and the adjustment counter is less than the counter threshold. The adjustment period may be a period of time since the last adjustment of the link position, and the adjustment counter may be the number of link positions that have been adjusted.

[0012] In some embodiments, in the above method, performing a connection operation within the connection window may further include: removing one of the one or more wireless connections. The one or more wireless connections may be removed by: removing the connection operation corresponding to the removed wireless connection; and adjusting the connection position of the remaining connection operations.

[0013] In some embodiments, in the above method, adjusting the link positions of the remaining link operations may include adjusting the link positions so that the operation intervals within the connection window are substantially the same. The operation intervals within the connection window include the intervals between consecutive link operations and the interval from the last link operation to the end of the connection window. After the adjustment, the relative order of the link operations may remain unchanged.

[0014] In some embodiments, in the above method, adjusting the link position of the remaining link operations may also include: determining whether the adjustment time period is greater than the time threshold and whether the adjustment counter is less than the counter threshold; and in response to determining that the adjustment time period is greater than the time threshold and the adjustment counter is less than the counter threshold, adjusting the link position of the remaining link operations.

[0015] Another aspect of the present disclosure relates to a wireless gateway. The wireless gateway may include a processor and a memory, the memory configured to store computer instructions executable by the processor to cause the processor to perform the following operations: performing multiple scan operations and multiple connection operations. Each scan operation may be performed within one of multiple scan windows, each having a scan window size, and each connection operation may be performed within one of multiple connection windows, each having a connection window size.

[0016] Scan windows and connection windows may be separated from each other. Consecutive scan windows may be separated by a scan interval, and consecutive connection windows may be separated by a connection interval. The scan interval may be a first integer multiple of a base interval, and the connection interval may be a second integer multiple of the base interval. Each connection window may include multiple connection positions, each corresponding to one of the one or more wireless connections.

[0017] Another aspect of the present disclosure relates to a non-transitory computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor is prompted to perform the time division multiplexing method for managing one or more wireless connections in any one of the above embodiments.

[0018] In the method for managing one or more wireless connections disclosed herein, scanning operations and connection operations are performed in their respective operation windows separated from each other, and substantially the same time slot resources are assigned to each individual connection within the connection window. Therefore, interference between the scanning operation and the connection operation can be minimized, and the accessibility of each connection can be kept substantially consistent. In addition, when a new connection is added or an existing connection is removed, the link position corresponding to the wireless connection is adjusted to provide a substantially balanced distribution of time slot resources for each individual connection. Therefore, the performance of each connection remains consistent, and the throughput of each individual connection can be accurately estimated.

[0019] These and other features of the systems, methods, and non-transitory computer-readable media disclosed herein, as well as the functions of the methods of operation and related structural elements and combinations of parts, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part hereof, wherein like reference numerals in the various figures represent corresponding parts. However, it should be expressly understood that the drawings are for illustration and description purposes only and are not intended to define the limits of the present invention. It should be understood that the foregoing general description and the following detailed description are exemplary and illustrative only and do not limit the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Preferred and non-limiting embodiments of the present invention may be more readily understood by referring to the accompanying drawings.

[0021] Figure 1 A flow chart illustrating a method for managing one or more wireless connections according to one embodiment of the present disclosure is shown.

[0022] Figure 2 A timing diagram illustrating static parameters in a method for managing one or more wireless connections according to one embodiment of the present disclosure is shown.

[0023] Figure 3A and Figure 3B A timing diagram illustrating operating parameters in a method for managing one or more wireless connections according to one embodiment of the present disclosure is shown.

[0024] Figure 4 An exemplary link location diagram in a connection window in a method for managing one or more wireless connections according to an embodiment of the present disclosure is shown.

[0025] Figure 5A 、 Figure 5B 、 Figure 5C 、 Figure 5D and Figure 5EA schematic diagram illustrating adding a new connection without link position adjustment in a method for managing one or more wireless connections according to an embodiment of the present disclosure is shown.

[0026] Figure 6A 、 Figure 6B 、 Figure 6C and Figure 6D A schematic diagram illustrating link position adjustment in a method for managing one or more wireless connections according to an embodiment of the present disclosure is shown.

[0027] Figure 7A 、 Figure 7B 、 Figure 7C 、 Figure 7D 、 Figure 7E and Figure 7F A schematic diagram illustrating adding a new connection by using link position adjustment in a method for managing one or more wireless connections according to an embodiment of the present disclosure is shown.

[0028] Figure 8 A schematic diagram illustrating a computer system is shown upon which any of the embodiments described herein may be implemented. DETAILED DESCRIPTION

[0029] Specific non-limiting embodiments of the present invention will now be described with reference to the accompanying drawings. The specific features and aspects of any embodiment disclosed herein may be used and / or combined with the specific features and aspects of any other embodiment disclosed herein. It should be understood that such embodiments are intended to be exemplary only and are merely illustrations of multiple embodiments within the scope of the present invention. Various changes and modifications that would be apparent to those skilled in the art to which the present invention pertains are considered to be within the spirit, scope, and design of the present invention as further defined in the appended claims.

[0030] The following describes in detail a method and system for managing one or more wireless connections. For ease of description, in this disclosure, examples associated with wireless technologies are used to illustrate the present invention. The present invention can be applied to wireless connection technologies including, but not limited to, Bluetooth, Wi-Fi connections, fourth generation (4G) cellular network connections, and fifth generation (5G) cellular network connections.

[0031] Figure 1 A flow chart illustrating a method for managing one or more wireless connections according to an embodiment of the present disclosure is shown. For example, the method may be a time division multiplexing method and may be applied to a Bluetooth gateway. Figure 1 The method may include the following steps S101 to S102.

[0032] In step S101, multiple scanning operations may be performed. Each scanning operation may be performed in one of multiple scanning windows each having a scanning window size. The scanning operation may be performed to search for available new wireless connections between a wireless gateway and a wireless device.

[0033] In some examples, the wireless gateway may be a Bluetooth gateway, which may be Bluetooth network hardware for managing connections from one or more Bluetooth devices. The Bluetooth gateway may manage Bluetooth connections for Bluetooth devices in an office or home. In this disclosure, a "Bluetooth device" may refer to a device capable of establishing a Bluetooth connection with a gateway. For example, a Bluetooth device may include, but is not limited to, a mobile phone, a laptop computer, a headset, or a navigation device.

[0034] In step S102, multiple connection operations may be performed. Each connection operation may be performed in one of a plurality of connection windows, each having a connection window size. The scanning window and the connection window may be separated from each other to minimize interference between the scanning operation and the connection operation. In this disclosure, "window" may refer to a time interval, and two windows are considered "separated from each other" if the time interval corresponding to one window occurs before the time interval corresponding to the other window. However, the end time of the earlier time interval may coincide with the start time of the later time interval.

[0035] Consecutive scan windows may be separated by scan intervals, and consecutive connection windows may be separated by connection intervals. The scan interval may be a first integer multiple of a base interval, and the connection interval may be a second integer multiple of the base interval. Each connection window may include multiple link positions, each link position corresponding to one of the one or more wireless connections. In the present disclosure, a "scan interval" is a time interval between the start times of two consecutive scan windows, a "connection interval" is a time interval between the start times of two consecutive connection windows, and a "link position" refers to a time interval within a connection window.

[0036] In some embodiments, the method may further include step S103, such as Figure 1 In step S103, when a new connection is added or an existing connection is removed, the link position for the connection may be adjusted. Details of this step will be described below.

[0037] Figure 2 A timing diagram illustrating static parameters in a method for managing one or more wireless connections is shown. In the present disclosure, static parameters are a basic set of parameters used for connection management. Actual operating parameters can be derived from the static parameters but do not have to be the same as the static parameters.

[0038] exist Figure 2In the example shown, the scanning operation and the connection operation can be performed alternately. That is, after the scanning window for performing the scanning operation, there may be a connection window for performing the connection operation. After the connection window, there may be another scanning window, after the other scanning window, there may be another connection window, and so on. Figure 2 As shown, the scanning window and the connection window are separated from each other, and the scanning interval of the consecutive scanning windows ( Figure 2 The "basic scan interval" in the ) can be equal to the connection interval of the consecutive connection windows ( Figure 2 The first scanning window can be opened from the base point ( Figure 2 The first connection window may be set at a "connection offset" after the "base point time" as shown in FIG. Figure 2 shown.

[0039] like Figure 2 As shown, in each connection window, each of the multiple link positions can span the same time interval ( Figure 2 ” link span” shown), and consecutive link positions can be separated by equal time intervals ( Figure 2 The "Link Interval" shown in the figure). Figure 2 In the example of FIG, it is assumed that the wireless gateway can manage twenty (20) wireless connections at the same time, so one connection window includes twenty link positions. Obviously, the present disclosure is not limited to this example, and the connection window can include other numbers of link positions (e.g., 5, 10, 15, etc.) according to actual needs.

[0040] The wireless gateway can support multiple wireless connections simultaneously. Therefore, each of the multiple link positions in the connection window can correspond to a connection, and the number of link positions in the connection window can be equal to the maximum number of connections that the wireless gateway can manage. Accordingly, the connection operations performed within the connection window can include one or more link operations, each of which is performed at one of the multiple link positions. Each link operation can correspond to one of the wireless connections being managed by the wireless gateway.

[0041] Each link position can be in one of two states, "occupied" and "unoccupied," depending on whether a link operation has been performed at that link position. Specifically, if a link operation has been performed at a link position, the link position is in the "occupied" state; if a link operation has not been performed at the link position, the link position is in the "unoccupied" state. When a new wireless connection is established, the link operation corresponding to the new connection is performed at the "unoccupied" link position, changing the link position's state to "occupied."

[0042] The specific values of the above static parameters can be determined according to actual needs, and the present invention is not limited thereto. In one example, the wireless gateway can be a Bluetooth gateway, and a 625μs time slot ("Slot") in the Bluetooth protocol can be used as a time unit, and all the above static parameters can be set to integer multiples of the time unit. For example, Figure 2 The specific numerical values of the static parameters shown are set to the values shown in Table 1.

[0043]

[0044]

[0045] Table 1 Static parameters

[0046] The actual working parameters can be determined by adjusting the static parameters according to specific needs. Figure 3A and Figure 3B A timing diagram illustrating operating parameters in a method for managing one or more wireless connections according to an embodiment of the present disclosure is shown. The process of setting operating parameters will be described in more detail below with reference to these figures.

[0047] In one example, the wireless gateway may be a Bluetooth gateway and may receive a control signal from, for example, a Bluetooth host controller interface (HCI). The control signal may include initial parameters for connection, and the operating parameters may be determined based on the control signal and the static parameters. In one example, the operating parameters may be determined based on whether a Bluetooth connection has been established. If no connection has been established, a scan operation may be performed and no link operation may be performed. The scan operation may be performed based on the initial parameters received from the HCI. If at least one connection has been established, the operating parameters for the scan operation and the connection operation may be set based on the static parameters. In one example, among the operating parameters, the new scan interval may be set to a first integer multiple of the scan interval in the static parameters, and the new connection interval may be set to a second integer multiple of the connection interval in the static parameters. The scan interval in the static parameters may be considered a "base interval". The first integer and the second integer may be the same or different, and the present disclosure is not limited thereto. The new scan window size and the new connection window size may remain the same as the scan window size and the connection window size in the static parameters, respectively.

[0048] Figure 3A and Figure 3B An example of a timing diagram illustrating operating parameters is shown in FIG. Figure 3A In the example shown, after at least one connection has been established, the new scan interval is set to four times the basic scan interval, and the new connection interval is set to be the same as the basic connection interval (one time the basic connection interval). Figure 3BIn the example shown, after at least one connection has been established, the new scan interval is set to twice the basic scan interval, and the new connection interval is set to four times the basic connection interval. Obviously, the examples shown above are merely two possible sets of operating parameters, and other operating parameter settings can be made according to specific needs. The present disclosure is not limited thereto.

[0049] exist Figure 3A and Figure 3B In the figure, the dotted boxes S1, S2, S3, C1, C2, and C3 represent the positions of the scanning operations (scanning windows) and the connection operations (connection windows) that would have been performed if static parameters were used. When the new scanning interval and the new connection interval are used, these scanning operations and the connection operations are skipped, and these dotted boxes are shown in the figure for illustration and reference purposes.

[0050] Figure 4 An exemplary link location diagram in a connection window in a method for managing one or more wireless connections according to an embodiment of the present disclosure is shown. Figure 4 In the example shown, the wireless gateway manages four wireless connections simultaneously. Accordingly, the connection operation may include four link operations ( Figure 4 1 to 4 shown in FIG5 ), which are performed at link positions 0, 4, 10, and 16, respectively. Each of these link positions is in the "occupied" state, while the remaining link positions are in the "unoccupied" state. When a new wireless connection is established, a new link operation corresponding to the new wireless connection can be performed at one of the "unoccupied" link positions, thereby changing the state of the link position to the "occupied" state.

[0051] The wireless gateway may perform a scanning operation within the scanning window to identify a new wireless connection. Existing operations for scanning for wireless connections may be used as the scanning operation, and the present disclosure is not limited thereto. Upon detecting a new wireless connection during the scanning operation, the new wireless connection may be added to the connection operation. More specifically, the new wireless connection may be added by performing a new connection operation corresponding to the new connection at one of a plurality of unoccupied connection locations.

[0052] Figure 5A 、 Figure 5B 、 Figure 5C 、 Figure 5D and Figure 5E FIGURES are provided to illustrate adding a new connection without link position adjustment in a method for managing one or more wireless connections according to an embodiment of the present disclosure. A process of adding one or more new connections will be described below with reference to these figures.

[0053] like Figure 5AAs shown, in one example, the wireless gateway can manage up to twenty wireless connections simultaneously, and therefore, the connection window can include twenty link positions ( Figure 5A Positions 0-19 in the table, each link position corresponds to a wireless connection. Figure 5A As shown, a link operation (link 1) corresponding to the first wireless connection can be added at the first link position (position 0). As more wireless connections are established, new link operations corresponding to the new wireless connections can be added to the connection operation. Each link operation will occupy one of the twenty link positions. In some embodiments, a new link operation can be added at the link position so that the intervals of consecutive link operations and the interval from the last link operation to the end of the connection window are substantially the same. For ease of description, in the remainder of this disclosure, the intervals of consecutive link operations and the interval from the last link operation to the end of the connection window will be referred to as the "operation interval" of the connection window. By setting the operation interval to be substantially the same, similar time slot resources are allocated to each connection. This avoids the unbalanced distribution of time slot resources caused by one link operation occupying a disproportionately large time slot resource, thereby adversely affecting the time slot resources of other link operations.

[0054] exist Figure 5B 、 Figure 5C 、 Figure 5D and Figure 5E In the example shown, new link operations (Link 2, 3, 4, and 5), each corresponding to a wireless connection, can be added to unoccupied link positions. More specifically, a second link operation (Link 2) is added to link position 10, a third link operation (Link 3) is added to link position 5, a fourth link operation (Link 4) is added to link position 15, and a fifth link operation (Link 5) is added to link position 3.

[0055] In some embodiments, the method for managing one or more wireless connections may further include adjusting the link position for a link operation that has already been performed. More specifically, the link position may be adjusted so that the operation intervals of the connection windows are substantially the same and the relative order of the link operations remains unchanged. In the present disclosure, when the difference between any two operation intervals is not greater than the time interval between adjacent link positions in the connection window (i.e., Figure 2 The operating intervals are considered to be “substantially the same” when the link interval is one shown).

[0056] Link position adjustment may include the following steps. In one aspect, an average operation interval may be determined based on the total number of link operations and the total number of link positions within a connection window. The average operation interval may be an integer and may be represented by the number of link positions between adjacent link operations. In another aspect, the link positions for link operations in the connection window may be adjusted based on the calculated average operation interval.

[0057] Figure 6A 、 Figure 6B 、 Figure 6C and Figure 6D FIG2 is a diagram illustrating link position adjustment in a method for managing one or more wireless connections according to an embodiment of the present disclosure. Link position adjustment will be described in detail below with reference to these drawings.

[0058] The average operation interval can be determined first. In this example, the total number of link positions is 20 and the total number of link operations is 3. Therefore, in terms of the number of link positions, the average operation interval can be 7 link positions (20 / 3 is the nearest integer). Then, the link positions used for link operations (i.e., links 1, 2, and 3) can be adjusted based on the average operation interval. More specifically, as Figure 6A 、 Figure 6B 、 Figure 6C and Figure 6D As shown, first adjust the first link operation (link 1), and then adjust the third link operation (link 3) and the second link operation (link 2) respectively. Obviously, the link operation can be adjusted in other orders, and the present disclosure is not limited to this. After adjustment, the first link operation (link 1) can be moved to link position 0, the second link operation (link 2) can be moved to link position 6, and the third link operation (link 3) can be moved to link position 13. After these adjustments, the interval between the first link operation and the second link operation (link 1 and link 2) is 6 link positions, the interval between the second link operation and the third link operation (link 2 and link 3) is 7 link positions, and the interval between the third link operation (link 3) and the end of the connection window is 7 link positions. Therefore, these intervals are basically the same after adjustment.

[0059] like Figure 6A 、 Figure 6B 、 Figure 6C and Figure 6D As shown in FIG, after the adjustment, the relative order of the link operations within the connection window can remain unchanged. That is, before the adjustment, the relative order of the link operations is link 1, link 2, link 3, as shown in FIG. Figure 6A After the adjustment, the relative order between the three link operations remains unchanged, as shown in Figure 6D shown.

[0060] Figure 7A、 Figure 7B 、 Figure 7C 、 Figure 7D 、 Figure 7E and Figure 7F Schematic diagrams are shown for explaining adding a new connection by adjusting the link position in a method for managing one or more wireless connections according to an embodiment of the present disclosure. Specific processes of adding a new connection by adjusting the link position will be described below with reference to these figures.

[0061] When a link is to be established (link 1), a link operation can be performed at link position 0, such as Figure 7A As shown. Subsequently, when a second link (link 2) is to be added, the link operation of link 2 can be performed at a position that divides the link position 0 in the connection window and the end of the connection window evenly or substantially evenly. Figure 7A and 7B As shown, the first link operation (Link 1) can be added at link position 0, and the second link operation (Link 2) can be added at link position 10. When adding these two link operations, there is no need to adjust the link positions. Figure 7C As shown, a third link operation (Link 3) can be added between Link 1 and Link 2, for example, at link position 5. After adding the third link operation, a link position adjustment can be performed to make the operation intervals of the connection windows substantially the same. The aforementioned link position adjustment process can be used to adjust the link positions. After the adjustment, the three link operations can be located at link positions 0, 6, and 13, respectively, as shown in FIG. Figure 7D As shown. Then, as Figure 7E As shown, a fourth link operation (Link 4) can be added between Link 2 and Link 3, for example, at link position 10, and a link position adjustment can be performed. After the adjustment, the four link operations can be located at link positions 0, 5, 10, and 15, respectively, as shown in FIG. Figure 7F shown.

[0062] As shown in the above example, after adjusting the link positions, the operation intervals remain essentially the same. This adjustment prevents a situation where one link operation takes up a disproportionately large time slot, which could adversely affect the operations of other links. Consequently, interference between connections can be minimized, and the performance of each connection can be improved. Furthermore, by adjusting the link positions, the operation intervals of the connection window can be estimated based on the total number of connections, thereby estimating the throughput of each connection.

[0063] In some embodiments, to avoid frequently adjusting link positions, one or more threshold conditions may be checked before adjusting link positions for link operations in a join window.

[0064] For example, an adjustment period, which is the time period since the last adjustment of the link position, may be compared with a time threshold. When the adjustment period is longer than the time threshold, an adjustment may be made.

[0065] In another example, an adjustment counter may be set that indicates the number of adjustments that have been made. When the adjustment counter is less than a counter threshold, an adjustment may be made. The adjustment counter may be reset every preset time period.

[0066] The time threshold and the counter threshold may be set according to specific needs, and the present disclosure is not limited in these respects.

[0067] In yet another example, a total adjustment interval may be determined before performing the adjustment. The total adjustment interval may be the total number of link position adjustments that need to be made and may be expressed in terms of the number of link positions. For example, Figure 6A 、 Figure 6B 、 Figure 6C and Figure 6D As shown, the link positions of three link operations were adjusted. Link 1 moved from link position 4 to link position 0, adjusting four link positions. Link 2 moved from link position 5 to link position 6, adjusting one link position. Link 3 moved from link position 19 to link position 13, adjusting six link positions. Therefore, the total adjustment interval is eleven link positions.

[0068] A total adjustment interval can be determined before making an adjustment and can be compared to an interval threshold. When the total adjustment interval is greater than the interval threshold, an adjustment can be made.

[0069] Obviously, the above conditions are some exemplary conditions that can be set to determine whether to perform adjustment and are not meant to be limiting. Other conditions can be set according to specific needs, and the present disclosure is not limited thereto.

[0070] Additionally or alternatively, two or more conditions may be combined to determine whether an adjustment can be made. For example, in one embodiment, adjusting a link position for an already performed link operation may include: determining whether an adjustment time period is greater than a time threshold and whether an adjustment counter is less than a counter threshold; and in response to determining that the adjustment time period is greater than the time threshold and the adjustment counter is less than the counter threshold, adjusting the link position of the link operation.

[0071] The link position adjustment process described above refers to an example of adding a new connection. Link position adjustment can also be performed after removing one or more existing connections.

[0072] More specifically, performing the connection operation within the connection window may further include: removing one of the one or more wireless connections by removing the link operation corresponding to the removed wireless connection; and adjusting link positions of the remaining link operations.

[0073] Adjusting the link positions of the remaining link operations may include: adjusting the link positions of the remaining link operations so that the operation intervals in the connection window are substantially the same. After the adjustment, the relative order of the link operations may remain unchanged.

[0074] More specifically, adjusting the link positions of the remaining link operations may further include determining whether an adjustment period is greater than a time threshold and whether an adjustment counter is less than a counter threshold. The adjustment period may be a period of time since the last adjustment of the link position, and the adjustment counter may be the number of link positions that have been adjusted. Adjusting the link positions of the remaining link operations may further include adjusting the link positions of the remaining link operations in response to determining that the adjustment period is greater than the time threshold and the adjustment counter is less than the counter threshold.

[0075] For details of link operation adjustment, please refer to the relevant part of the description related to link operation adjustment when adding a new connection. For the sake of brevity, it will not be repeated here.

[0076] In the method for managing one or more wireless connections provided in the present disclosure: the scanning interval and the connection interval can be integer multiples of the basic interval, respectively, and the scanning window and the connection window are separated from each other. Therefore, the interference between the scanning operation and the connection operation can be minimized. Each connection window may include multiple link positions that are substantially equally spaced from each other, and each link position corresponds to a wireless connection. When a new connection is established, a link position can be assigned to the new connection on the basis that the operation intervals in the connection window are substantially the same. In addition, when a new connection is established or an existing connection is removed, the link position corresponding to the connection can be adjusted so that the operation intervals in the connection window are substantially the same. After the adjustment, the relative order of the link operations can remain unchanged. Therefore, the interference between the connections can be minimized, the performance of each connection can be improved, and the throughput of each connection can be estimated.

[0077] Based on the above-mentioned method for managing one or more wireless connections, the present disclosure further provides a wireless gateway. The wireless gateway may include a processor and a memory, the memory being configured to store computer instructions executable by the processor to cause the processor to perform the method for managing one or more wireless connections. The method may include performing multiple scan operations and multiple connection operations. Each scan operation may be performed within one of multiple scan windows, each having a scan window size, and each connection operation may be performed within one of multiple connection windows, each having a connection window size.

[0078] Scan windows and connection windows may be separated from each other. Consecutive scan windows may be separated by a scan interval, and consecutive connection windows may be separated by a connection interval. The scan interval may be a first integer multiple of a base interval, and the connection interval may be a second integer multiple of the base interval. Each connection window may include multiple connection positions, each corresponding to one of the one or more wireless connections.

[0079] In some embodiments, the scanning operation and the connection operation may be performed alternately, and the scanning interval is equal to the connection interval.

[0080] In some embodiments, within each connection window, each of the plurality of connection positions may have the same span size, and consecutive connection positions may be separated by the same connection interval. Furthermore, performing a connection operation within the connection window may include performing one or more connection operations, each connection operation being performed at one of the plurality of connection positions, thereby occupying the corresponding connection position. Each connection operation may correspond to one of the one or more wireless connections.

[0081] In some embodiments, performing a scanning operation within the scanning window may include performing a scanning operation to identify a new wireless connection. Performing a connection operation within the connection window may also include adding a new wireless connection. The new wireless connection may be added by performing a new connection operation corresponding to the new wireless connection at one of a plurality of unoccupied connection positions, and adjusting the connection position for an already performed connection operation.

[0082] In some embodiments, adjusting the link positions for performed link operations may include adjusting the link positions so that the operation intervals in the connection window are substantially the same. The operation intervals in the connection window may include the intervals between consecutive link operations and the interval from the last link operation to the end of the connection window. After the adjustment, the relative order of the link positions may remain unchanged.

[0083] In some embodiments, adjusting the link position for a performed link operation may further include: determining whether an adjustment period is greater than a time threshold and whether an adjustment counter is less than a counter threshold; and adjusting the link position in response to determining that the adjustment period is greater than the time threshold and the adjustment counter is less than the counter threshold. The adjustment period may be a period of time since the last adjustment of the link position, and the adjustment counter may be the number of link positions that have been adjusted.

[0084] In some embodiments, performing a connection operation within the connection window may further include: removing one of the one or more wireless connections. The one or more wireless connections may be removed by: removing the link operation corresponding to the removed wireless connection; and adjusting the link position of the remaining link operations.

[0085] In some embodiments, adjusting the link positions of the remaining link operations may include adjusting the link positions so that the operation intervals in the connection window are substantially the same. After the adjustment, the relative order of the link operations may remain unchanged.

[0086] In some embodiments, adjusting the link positions of the remaining link operations may further include: determining whether an adjustment period is greater than a time threshold and whether an adjustment counter is less than a counter threshold; and in response to determining that the adjustment period is greater than the time threshold and the adjustment counter is less than the counter threshold, adjusting the link positions of the remaining link operations. The adjustment period may be a period of time since the last adjustment of the link position, and the adjustment counter may be the number of link positions that have been adjusted.

[0087] Please refer to the relevant description in the method embodiment for details of the method. For the sake of brevity, it will not be repeated here.

[0088] Based on the above-mentioned method for managing one or more wireless connections, the present disclosure further provides a non-transitory computer-readable storage medium storing a computer program. When executed by a processor, the computer program can cause the processor to perform the method for managing one or more wireless connections. The method can be applied to a wireless gateway and can include: performing, by the wireless gateway, multiple scan operations and multiple connection operations. Each scan operation can be performed within one of multiple scan windows, each having a scan window size, and each connection operation can be performed within one of multiple connection windows, each having a connection window size.

[0089] Scan windows and connection windows may be separated from each other. Consecutive scan windows may be separated by a scan interval, and consecutive connection windows may be separated by a connection interval. The scan interval may be a first integer multiple of a base interval, and the connection interval may be a second integer multiple of the base interval. Each connection window may include multiple connection positions, each corresponding to one of the one or more wireless connections.

[0090] In some embodiments, the scanning operation and the connection operation are performed alternately, and the scanning interval is equal to the connection interval.

[0091] Please refer to the relevant description in the method embodiment for details of the method. For the sake of brevity, it will not be repeated here.

[0092] Figure 8A schematic diagram illustrating a computer system that can implement any of the embodiments described herein is shown. Various devices described in this disclosure, such as devices associated with a wireless gateway, can be implemented at least in part as such a computer system 800. Computer system 800 can include a bus 810 or other communication mechanism for transmitting information, and one or more hardware processors 801 coupled to bus 810 for processing information. Hardware processors 801 can be, for example, one or more general-purpose microprocessors.

[0093] The computer system 800 may also include a main memory 803 coupled to the bus 810, such as a random access memory (RAM), a cache, and / or other dynamic storage device, for storing information and instructions to be executed by the processor 801. The main memory 803 may be used to store temporary variables or other intermediate information during the execution of instructions to be executed by the processor 801. When these instructions are stored in a storage medium accessible to the processor 801, these instructions can present the computer system 800 as a special-purpose machine customized to perform the operations specified in the instructions. For example, when executed by the processor 801, the instructions can cause the processor 801 to perform the method described in any of the aforementioned embodiments.

[0094] The main memory 803 may include non-volatile media and / or volatile media. Non-volatile media may include, for example, optical or magnetic disks. Volatile media may include dynamic memory. Common forms of media may include, for example, floppy disks, flexible disks, hard disks, solid-state drives, magnetic tapes or any other magnetic data storage media, CD-ROMs, any other optical data storage media, any physical media with a pattern of holes, RAM, DRAM, PROM and EPROM, FLASH-EPROM, NVRAM, any other memory chip or cassette tape, and networked versions thereof.

[0095] The computer system 800 may implement the techniques described herein using custom hardwired logic, one or more ASICs or FPGAs, firmware, and / or program logic that is combined with the computer system to make or program the computer system 800 into a special purpose machine. According to one embodiment, the techniques described herein are performed by the computer system 800 in response to the processor 801 executing one or more sequences of one or more instructions contained in the main memory 803. These instructions may be read into the main memory 803 from another storage medium, such as storage medium 805 and read-only memory (ROM) 804. Execution of the sequences of instructions contained in the main memory 803 causes the processor 801 to perform the process steps described herein.

[0096] The computer system 800 also includes a network interface 802 coupled to the bus 810. The network interface 802 can provide bidirectional data communication coupled to one or more network links connected to one or more networks. In another example, the network interface 802 can be a local area network (LAN) card to provide a data communication connection to a compatible LAN (or a WAN component to communicate with a WAN). Wireless links can also be implemented.

[0097] Disclosed are methods, systems, computer-readable storage media, and computer systems for managing one or more wireless connections. In the method for managing one or more wireless connections, scanning operations and connection operations are performed within their respective, non-overlapping operating windows, and substantially identical time slot resources are allocated to each individual connection. Consequently, interference between scanning and connection operations is minimized, and the accessibility of each connection remains substantially consistent. Furthermore, when a new connection is added or an existing connection is removed, the link positions corresponding to the wireless connections are adjusted to provide a substantially evenly distributed time slot resource for each individual connection. Consequently, the performance of each connection remains consistent, and the throughput of each individual connection can be accurately estimated.

[0098] Although examples and features of the disclosed principles are described herein, modifications, adaptations, and other implementations may be made without departing from the spirit and scope of the disclosed embodiments. Likewise, the words "include," "have," and "include," and other similar forms are intended to be equivalent in meaning and to be open-ended, in that one or more items following any of these words are not intended to represent an exhaustive list of such one or more items, or to be limited to only the listed one or more items. It must also be noted that, as used herein and in the appended claims, the singular forms "a," "an," and "the" include plural references unless the context clearly dictates otherwise.

[0099] The embodiments shown herein are described in sufficient detail to enable those skilled in the art to practice the disclosed teachings. Other embodiments may be used and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of the present disclosure. Therefore, the detailed description should not be construed as limiting, and the scope of the various embodiments is defined by the appended claims and the full scope of equivalents to which such claims are entitled.

Claims

1. A time division multiplexing method for managing one or more wireless connections, applicable to a wireless gateway, the method comprising: The wireless gateway performs a plurality of scanning operations and a plurality of connection operations, each scanning operation is performed within one of a plurality of scanning windows each having a scanning window size, and each connection operation is performed within one of a plurality of connection windows each having a connection window size. wherein the scanning window and the connection window are separated from each other, consecutive scanning windows are separated by a scanning interval, consecutive connection windows are separated by a connection interval, and the scanning interval is a first integer multiple of a basic interval, and the connection interval is a second integer multiple of the basic interval, and wherein each connection window includes a plurality of link positions, each link position corresponding to one of the one or more wireless connections, and within each connection window, each link position in the plurality of link positions has the same span size, and consecutive link positions are separated by the same link interval, and The step of performing the connection operation within the connection window includes: One or more linking operations are performed, each linking operation being performed at one of the linking locations such that the corresponding linking location is occupied, wherein each linking operation corresponds to one of the one or more wireless connections.

2. The method according to claim 1, wherein The scanning operation and the connecting operation are performed alternately, and the scanning interval is equal to the connecting interval.

3. The method according to claim 1, wherein Performing the scanning operation within the scanning window includes: performing said scanning operation to identify new wireless connections, and The performing of the connection operation within the connection window further includes: Add the new wireless connection as follows: performing a new link operation corresponding to the new wireless connection at an unoccupied link position among the plurality of link positions; and Adjust the link position of the link operation that has been performed.

4. The method according to claim 3, wherein: The link position of the link operation that has been adjusted includes: The link positions are adjusted so that the operation intervals in the connection window are substantially the same and the relative order of the link positions remains unchanged, wherein the operation intervals in the connection window include the intervals between consecutive link operations and the interval from the last link operation to the end of the connection window.

5. The method according to claim 4, wherein: The link position of the link operation that has been adjusted also includes: determining whether an adjustment period is greater than a time threshold and an adjustment counter is less than a counter threshold, wherein the adjustment period is a period of time since the link position was last adjusted and the adjustment counter is a number of link positions that have been adjusted; and In response to determining that the adjustment time period is greater than the time threshold and the adjustment counter is less than the counter threshold, the link position is adjusted.

6. The method of claim 1, wherein: The performing the connection operation within the connection window further includes: Remove one of the one or more wireless connections by: removing a link operation corresponding to the removed wireless connection; and Adjust the link positions for the remaining link operations.

7. The method according to claim 6, wherein: The link positions of the adjustment remaining link operations include: The link positions are adjusted so that the operation intervals in the connection window are substantially the same and the relative order of the link positions remains unchanged, wherein the operation intervals in the connection window include the intervals between consecutive link operations and the interval from the last link operation to the end of the connection window.

8. The method of claim 7, wherein: The link positions of the adjustment remaining link operations further include: determining whether an adjustment period is greater than a time threshold and an adjustment counter is less than a counter threshold, wherein the adjustment period is a period of time since the link position was last adjusted and the adjustment counter is a number of link positions that have been adjusted; and In response to determining that the adjustment time period is greater than the time threshold and the adjustment counter is less than the counter threshold, the link positions of the remaining link operations are adjusted.

9. A wireless gateway comprising: processor; as well as a memory configured to store computer instructions executable by the processor to cause the processor to perform: performing a plurality of scan operations and a plurality of join operations, each scan operation being performed within one of a plurality of scan windows each having a scan window size, and each join operation being performed within one of a plurality of join windows each having a join window size, wherein the scanning window and the connection window are separated from each other, consecutive scanning windows are separated by a scanning interval, consecutive connection windows are separated by a connection interval, and the scanning interval is a first integer multiple of a basic interval, and the connection interval is a second integer multiple of the basic interval, and wherein each connection window includes a plurality of link positions, each link position corresponds to one of the one or more wireless connections, and within each connection window, each link position of the plurality of link positions has the same span size, and consecutive link positions are separated by the same link interval, and The performing of the connection operation within the connection window includes: One or more linking operations are performed, each linking operation being performed at one of the plurality of linking locations such that the corresponding linking location is occupied, wherein each linking operation corresponds to one of the one or more wireless connections.

10. The wireless gateway according to claim 9, wherein: The scanning operation and the connecting operation are performed alternately, and the scanning interval is equal to the connecting interval.

11. The wireless gateway according to claim 9, wherein: Performing the scanning operation within the scanning window includes: performing said scanning operation to identify new wireless connections, and The performing of the connection operation within the connection window further includes: Add the new wireless connection as follows: performing a new link operation corresponding to the new wireless connection at an unoccupied link position among the plurality of link positions; and Adjust the link position of the link operation that has been performed.

12. The wireless gateway according to claim 11, wherein: The link position of the link operation that has been adjusted includes: The link positions are adjusted so that the operation intervals in the connection window are substantially the same and the relative order of the link positions remains unchanged, wherein the operation intervals in the connection window include the intervals between consecutive link operations and the interval from the last link operation to the end of the connection window.

13. The wireless gateway according to claim 12, wherein: The link position of the link operation that has been adjusted also includes: determining whether an adjustment period is greater than a time threshold and an adjustment counter is less than a counter threshold, wherein the adjustment period is a period of time since the link position was last adjusted and the adjustment counter is a number of link positions that have been adjusted; and In response to determining that the adjustment time period is greater than the time threshold and the adjustment counter is less than the counter threshold, the link position is adjusted.

14. The wireless gateway according to claim 9, wherein: The performing the connection operation within the connection window further includes: Remove one of the one or more wireless connections by: removing a link operation corresponding to the removed wireless connection; and Adjust the link positions for the remaining link operations.

15. The wireless gateway according to claim 14, wherein: The adjusting the link positions of the remaining link operations includes: The link positions are adjusted so that the operation intervals in the connection window are substantially the same and the relative order of the link positions remains unchanged, wherein the operation intervals in the connection window include the intervals between consecutive link operations and the interval from the last link operation to the end of the connection window.

16. The wireless gateway according to claim 15, wherein: The adjusting the link positions of the remaining link operations further comprises: determining whether an adjustment period is greater than a time threshold and an adjustment counter is less than a counter threshold, wherein the adjustment period is a period of time since the link position was last adjusted and the adjustment counter is a number of link positions that have been adjusted; and In response to determining that the adjustment time period is greater than the time threshold and the adjustment counter is less than the counter threshold, the link positions of the remaining link operations are adjusted.

17. A non-transitory computer-readable storage medium storing a computer program, wherein: When the computer program is executed by a processor, it causes the processor to execute: performing, by the wireless gateway, a plurality of scan operations and a plurality of connect operations, each scan operation being performed within one of a plurality of scan windows each having a scan window size, and each connect operation being performed within one of a plurality of connect windows each having a connect window size, wherein the scanning window and the connection window are separated from each other, consecutive scanning windows are separated by a scanning interval, consecutive connection windows are separated by a connection interval, and the scanning interval is a first integer multiple of a basic interval, and the connection interval is a second integer multiple of the basic interval, and wherein each connection window includes a plurality of link positions, each link position corresponding to one of the one or more wireless connections, and within each connection window, each link position in the plurality of link positions has the same span size, and consecutive link positions are separated by the same link interval, and The performing of the connection operation within the connection window includes: One or more linking operations are performed, each linking operation being performed at one of the plurality of linking locations such that the corresponding linking location is occupied, wherein each linking operation corresponds to one of the one or more wireless connections.

18. The non-transitory computer-readable storage medium of claim 17, wherein: The scanning operation and the connecting operation are performed alternately, and the scanning interval is equal to the connecting interval.

Citation Information

Patent Citations

  • Method and apparatus for controlling a camera by using bluetooth communication in a wireless communication system

    US20160182803A1