Abstract:
A method includes steering client devices to access points that potentially increase capacity of communications using beamformed transmissions. In particular, this includes determining the best access points for beamforming to a particular client or a group of clients in the network for an improved throughput performance in the deployment or a subset of access points.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application claims priority under 35 U.S.C. §119 from U.S. Provisional Application No. 61/793,179, entitled “Dynamic Access Point Configuration Based on Network Conditions,” filed on Mar. 15, 2013, the entirety of which is incorporated herein by reference. This application is related to co-pending U.S. patent application Ser. No. 13/857,321, entitled “Channel Width Configuration Based on Network Conditions,” filed on Apr. 5, 2013, the entirety of which is incorporated herein by reference. 
    
    
     TECHNICAL FIELD 
     The present disclosure relates to configuring access points based on network conditions in a wireless network. In particular, the present disclosure relates to steering client devices to access points that potentially increase capacity of communications using beamformed transmissions. 
     BACKGROUND 
     Over the past decade, there has been a substantial increase in the use and deployment of wireless network devices, from dual-mode smartphones to tablets capable of operating in accordance with a particular Institute of Electrical and Electronics Engineers (IEEE) standard. With “wireless” becoming the de-facto medium for connectivity among users, it has become increasingly important for access points to intelligently manage connections with a plurality of client devices to maintain high throughput and avoid overprovisioning. 
     Currently, several variants of IEEE 802.11 support multiple channel widths and optional beamforming capabilities. Network administrators are often forced to painstakingly individually adjust these parameters to increase network performance. 
     The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The embodiments are illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and they mean at least one. In the drawings: 
         FIG. 1  shows a block diagram example of a network in accordance with one or more embodiments; 
         FIG. 2  shows a block diagram example of an access point in accordance with one or more embodiments; and 
         FIG. 3  shows a method for steering client devices to access points that may increase capacity of an associated wireless channel in accordance with one or more embodiments. 
     
    
    
     DETAILED DESCRIPTION 
     In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding. One or more embodiments may be practiced without these specific details. Features described in one embodiment may be combined with features described in a different embodiment. In some examples, well-known structures and devices are described with reference to a block diagram form in order to avoid unnecessarily obscuring the present invention. 
     Herein, certain terminology is used to describe features for embodiments of the disclosure. For example, the term “digital device” generally refers to any hardware device that includes processing circuitry running at least one process adapted to control the flow of traffic into the device. Examples of digital devices include a computer, a tablet, a laptop, a desktop, a netbook, a server, a web server, authentication server, an authentication-authorization-accounting (AAA) server, a Domain Name System (DNS) server, a Dynamic Host Configuration Protocol (DHCP) server, an Internet Protocol (IP) server, a Virtual Private Network (VPN) server, a network policy server, a mainframe, a television, a content receiver, a set-top box, a video gaming console, a television peripheral, a printer, a mobile handset, a smartphone, a personal digital assistant “FDA”, a wireless receiver and/or transmitter, an access point, a base station, a communication management device, a router, a switch, and/or a controller. 
     One type of digital device, referred to as an “access point,” is a combination of hardware, software, and/or firmware that is configured to control at least (1) channel widths between access points and client devices and (2) beamforming characteristics between access points and client devices. 
     It is contemplated that a digital device may include hardware logic such as one or more of the following: (i) processing circuitry; (ii) one or more communication interfaces such as a radio (e.g., component that handles the wireless data transmission/reception) and/or a physical connector to support wired connectivity; and/or (iii) a non-transitory computer-readable storage medium (e.g., a programmable circuit; a semiconductor memory such as a volatile memory such as random access memory “RAM,” or non-volatile memory such as read-only memory, power-backed RAM, flash memory, phase-change memory or the like; a hard disk drive; an optical disc drive; etc.) or any connector for receiving a portable memory device such as a Universal Serial Bus “USB” flash drive, portable hard disk drive, or the like. 
     Herein, the terms “logic” (or “logic unit”) are generally defined as hardware and/or software. For example, as hardware, logic may include a processor (e.g., a microcontroller, a microprocessor, a CPU core, a programmable gate array, an application specific integrated circuit, etc.), semiconductor memory, combinatorial logic, or the like. As software, logic may be one or more software modules, such as executable code in the form of an executable application, an application programming interface (API), a subroutine, a function, a procedure, an object method/implementation, an applet, a servlet, a routine, source code, object code, a shared library/dynamic load library, or one or more instructions. These software modules may be stored in any type of a suitable non-transitory storage medium, or transitory computer-readable transmission medium (e.g., electrical, optical, acoustical or other form of propagated signals such as carrier waves, infrared signals, or digital signals). 
     Lastly, the terms “or” and “and/or” as used herein are to be interpreted as inclusive or meaning any one or any combination. Therefore, “A, B or C” or “A, B and/or C” mean “any of the following: A; B; C; A and B; A and C; B and C; A, B and C.” An exception to this definition will occur only when a combination of elements, functions, steps or acts are in some way inherently mutually exclusive. 
     Architectural Overview 
       FIG. 1  shows a block diagram example of a network  1  in accordance with one or more embodiments. Network  1 , as illustrated in  FIG. 1 , is a digital system that may include a plurality of digital devices such as controller  10 , access points  20   1 - 20   4  and one or more client devices  30   1 - 30   7 . The client devices  30  may include any set of devices that communicate wirelessly with access points  20  within network  1 . In one or more embodiments, network  1  may include more or less devices than the devices illustrated in  FIG. 1 , which may be connected to other devices within network  1  via wired and/or wireless mediums. 
     In one embodiment, client devices  30  are digital devices that include a hardware processor, memory hierarchy, and input/output (I/O) interfaces including a wireless interface such as an IEEE 802.11 wireless interface. The wireless interface may be used to communicate with access points  20  and/or controller  10 . Client devices  30  may include one or more antennas for establishing one or more concurrent spatial data streams with an access point  20 . Client devices  30  may be wireless electronic devices capable of receiving video, voice, and/or other data streams. Such wireless electronic devices may include, but are not limited to, personal computers, laptop computers, netbook computers, wireless music players, portable telephone communication devices, smart phones, tablets, digital televisions, etc. 
     Access points  20   1 - 20   4  may be any devices that can associate with client devices  30  to transmit and receive data over wireless channels  35 . In one embodiment, access points  20  may correspond to a network device such as a wired access port, a wireless access port, a switch, a router, or any combination thereof. For example, access point  20   1  may be a router or any device that may be configured as a hotspot (e.g., a cell phone, a tablet, a laptop, etc.). Access points  20  may be communicatively coupled to other networks, such as external network  40 , via a transmission medium to send and receive data. The data may include, for example, video data and/or voice data. The transmission medium may be a wired or a wireless connection. Access points  20  communicatively couple client devices  30  to other client devices  30  or other networks (e.g., external network  40 ) by forwarding data to or from client devices  30 . 
       FIG. 2  shows a block diagram example of an access point  20  in accordance with one or more embodiments. In response to instructions from a network device, e.g., controller  10  or some logic on access points  20  such as a virtual controller, each access point  20  may be a combination of hardware, software, and/or firmware that is configured to configure at least (1) channel widths between associated client devices  30 , and (2) beamforming characteristics for transmission to client devices  30 . Although illustrated as being configured by the controller  10 , in some embodiments the access points  20  may be configured by logic on the access points  20  themselves. For example, a virtual controller on one or more access points  20  may perform configuration operations as described herein. In one embodiment as shown in  FIG. 2 , an access point  20  may be a network device that comprises one or more of: a hardware processor  21 , data storage  22 , an I/O interface  23 , and device configuration logic  24 . Other access points  20  within system  1  may be configured similarly or differently than the access point  20  shown in  FIG. 2 . 
     Data storage  22  of access point  20  may include a fast read-write memory for storing programs and data during access point  20 &#39;s operations and a hierarchy of persistent memory, such as Read Only Memory (ROM), Erasable Programmable Read Only Memory (EPROM,) and/or Flash memory for example, for storing instructions and data needed for the startup and/or operations of access point  20 . Data storage  22  stores data that is to be transmitted from access point  20  or data that is received by access point  20 . In an embodiment, data storage  22  is a distributed set of data storage components. 
     In an embodiment, I/O interface  23  corresponds to one or more components used for communicating with other devices (e.g., client devices  30 ) via wired or wireless signals. I/O interface  23  may include a wired network interface such as an IEEE 802.3 Ethernet interface and/or a wireless interface such as an IEEE 802.11 WLAN interface. I/O interface  23  may communicate with client devices  30  over corresponding wireless channels  35 . Wireless channels  35  may be of various widths, which may be dynamically changed during operation. For example, each wireless channel  35  may be dynamically configured to operate at 20 MHz, 40 MHz, 80 MHz, or 160 MHz. I/O interface  23  may include one or more antennas  25  for communicating with client devices  30 , controller  10 , and other wireless devices in network  1 . For example, multiple antennas  25  may be used for forming transmission beams to client devices  30  through adjustment of gain and phase values for corresponding antenna  25  transmissions. The generated beams may avoid objects and create an unobstructed path to client devices  30  to possibly increase transmission capacity. 
     Hardware processor  21  is coupled to data storage  22  and I/O interface  23 . Hardware processor  21  may be any processing device including, but not limited to a MIPS/ARM-class processor, a microprocessor, a digital signal processor, an application specific integrated circuit, a microcontroller, a state machine, or any type of programmable logic array. 
     In an embodiment, device configuration logic  24  includes one or more functional units implemented using firmware, hardware, software, or a combination thereof for configuring parameters associated with access point  20  and client devices  30 . Although, device configuration logic  24  is shown as implemented on access point  20 , one or more physical or functional components of device configuration logic  24  may be implemented on separate devices. The device configuration logic  24  may be configured to adjust (1) channel widths between access points  20  and client devices  30 , and/or (2) beamforming characteristics between access points  20  and clients  30  as will be described in further detail below. 
     Controller  10  may be any device that can manage and configure access points  20  and/or client devices  30  operating in network  1 . For example, as described in further detail below, controller  10  may configure one or more access points  20  to (1) adjust channel widths between an access point  20  and client devices  30  and/or (2) steer a client device  30  to an access point  20  that may provide increased capacity through the use of transmission beamforming. In one embodiment, controller  10  may correspond to a network device such as a wired access port, a wireless access port, a switch, a router, an access point, or any combination thereof. For example, controller  10  may be an access point  20  as described above in relation to  FIG. 2 . 
     Dynamic Beamforming Configuration Based on Network Conditions 
     In some embodiments, controller may utilize beamforming capabilities of access points to increase capacity of wireless channels. For example, in some cases intelligently aiming a data transmission at a receiving client device to avoid obstructions in a wireless channel path may result in an increased data throughput for the wireless channel. The increased capacity of these channels may improve a high density condition or prevent a high density condition from occurring. In some cases, (1) a particular access point may provide a greater capacity gain than other access points in a wireless network, or (2) beamforming may not provide any capacity gain in comparison to traditional communications. 
       FIG. 3  shows a method  70  for steering client devices  30  to access points  20  that may increase capacity of an associated wireless channel  35 . Method  70  may be performed by controller  10  and/or on one or more access points  20  in network  1 . In one embodiment, method  70  is only performed for access points  20  and client devices  30  that support beamforming operations (e.g., IEEE 802.11 ac compliant components). In this embodiment, non-beamforming access points  20  and client devices  30  may be ignored in the method  70 . 
     Method  70  may begin at operation  71  with the detection of a triggering event. The triggering event may be the detection of a high density condition on an access point  20 . For example, a high density condition may be defined as the average airtime on a particular access point  20  being greater than a predefined threshold value (e.g., 80% airtime usage). In other embodiments other triggers may be used. For example, method  70  may commence upon the selection of a reset of network  1  or an access point  20  by a network administrator or a client device  30  joining network  1 . 
     At operation  72 , characteristics of client devices  30  associated with access points  20  are determined and client devices  30  are matched with candidate access points  20  that share similar capabilities. For example, operation  72  may determine that client device  30   1  supports 20/40/80/160 MHz channel widths and beamforming transmissions. Based on these determined capabilities, operation  72  matches one or more candidate access points  20  for each client device  30  that share similar capabilities (i.e., support 20/40/80/160 MHz channel widths and beamforming transmissions). In one embodiment, client devices  30  that are capable of receiving beamformed signals may be matched with candidate access points  20  that are capable of beamforming transmissions. For example, access points  20  and client devices  30  that support IEEE 802.11ac may be matched together such that beamforming transmissions may be performed when capacity gains may be achieved as described further below. In one embodiment, matching of client devices  30  with one or more candidate access points  20  may be performed based on results from probe and association sequences. In addition to matching client devices  30  with access points  20  that support beamforming transmissions, operation  72  may match client devices  30  with access points  20  based on support for very high throughput (VHT) and/or high throughput (HT) communications. For example, client devices  30  that support VHT communications may be matched with one or more candidate access points  20  that also support VHT communications. Similarly, client devices  30  that support HT communications may be matched with candidate access points  20  that also support HT communications. This matching of client devices  30  and access points  20  that share similar capabilities will improve potential capacity gains by reducing the likelihood of data transfer bottlenecks. 
     At operation  73 , wireless channels  35  between each client device  30  and corresponding candidate access points  20  are examined and characterized/tested. In one embodiment, operation  73  determines the impulse response H or channel state information (CSI) of the wireless channels  35  between each client device  30  and corresponding candidate access points  20 . Characterization or testing of each wireless channel  35  may be performed using explicit or implicit feedback mechanisms. 
     In one embodiment, explicit feedback is used to characterize wireless channels  35  between access points  20  and their associated client devices  30  using a sounding mechanism. For example, each client device  30  may send explicit feedback in response to corresponding requests from each access point  20 . The request from access points  20  may be Request-To-Send (RTS) and/or Network Discovery Protocol Announcement (NDPA) frames. In one embodiment, each access point  20  may send a RTS in a control wrapper frame (cwRTS) to each associated client device  30 . The cwRTS may include an NDPA indicator and a set of training symbols to solicit information from associated client devices  30 . In response to received cwRTS frames, each client device  30  transmits a Clear-To-Send (CTS) in a control wrapper frame (cwCTS) to corresponding access points  20 . Access points  20  may calculate CSI estimates for wireless channels  35  based on responses from client devices  30 . The CSI estimates describe how a signal propagates from access points  20  to client devices  30  over wireless channels  35  and represent the combined effect of, for example, scattering, fading, and power decay with distance over wireless channels  35 . As will be described further below, these CSI estimates makes it possible to determine the potential capacity increases using beamforming transmissions between each access point  20  and associated client devices  30  in network  1 . 
     In the explicit sounding mechanism described above, CSI estimates are obtained for wireless channels  35  between access points  20  and their associated client devices  30 . An access point  20 &#39;s associated client devices  30  are client devices  30  that for at least a momentary period of time are wirelessly connected with the respective access point  20 . In one embodiment, controller  10  may cause each client device  30  to associate with candidate access points  20  that are viewable/in-range for a brief period of time (e.g., 1-2 seconds) such that operation  73  may establish CSI estimates for corresponding wireless channels  35  between each client device  30  and each corresponding in-range candidate access point  20 . 
     Although described in relation to access points  20  and their associated client devices  30 , in one embodiment controller  10  may determine CSI estimates for wireless channels  35  between candidate access points  20  and non-associated client devices  30  by spoofing CSI requests. For example, controller  10  may cause access point  20   1  to spoof a CSI estimation request frame with the source address of access point  20   2 . Access point  20   1  transmits the request to client device  30   4  that is associated with access point  20   2 , but not with access point  20   1 . Upon receipt of the request, client device  30   4  transmits the response to access point  20   2 , based on the spoofed source address in the request. The CSI estimate computed by access point  20   2  represents the wireless channel  35  between access point  20   1  and the non-associated client device  30   4 . Controller  10  may retrieve this CSI estimate for further processing. By spoofing the source address, this routine does not require each client device  30  to be associated with each access point  20  in network  10  such that CSI estimations may be determined for each possible wireless channel  35 . 
     As noted above, CSI estimates may also be determined based on implicit feedback. Implicit feedback is obtained from information transmitted by client devices  30  upon association with access points  20 . In particular, client devices  30  may transmit implicit long symbols generated on client devices  30  to access points  20 . Access points  20  may thereafter generate CSI estimates based on these long symbols. Explicit feedback has the benefit of allowing access points  20  determine CSI estimates based on their transmission view to client devices  30 , whereas implicit feedback is sourced from client devices  30  alone. 
     Upon computation of CSI estimates between client devices  30  and corresponding candidate access points  20  at operation  73 , operation  74  tests each connection/wireless channel  35  to estimate potential capacity gains achieved through the association of each client device  30  with each corresponding candidate access point  20  using beamforming transmissions based on the previously computed CSI estimates. Beamforming transmissions apply weights to transmitted signals to improve reception at client devices  30 . The weights are calculated based on CSI estimates and compensate for interferences in wireless channels  35 . In one embodiment, testing each connection/wireless channel  35  to estimate potential capacity gains may be based on one or more of wireless signal strength for each connection/wireless channel  35  and the number of spatial streams for the connection/wireless channel  35 . 
     The system model for beamforming transmissions from an access point  20  to a client device  30  over a corresponding wireless channel  35  with N spatial streams may be represented as:
 
 Y=k×H×V×X+Z    Equation 1
 
     In Equation 1, matrix X represents the data transmitted from an access point  20  to a client device  30 ; k represents the signal to noise ratio in the transmission; H represents the channel fading matrix (i.e., the impulse response/CSI for the wireless channel  35 ); Z represents additive noise in the wireless channel  35 ; V represents a transmit weighting matrix used to create the transmission beam from the access point  20  to the receiving client device  30 ; and matrix Y represents the received signal. 
     In one embodiment, the singular value decomposition of the channel fading matrix H is used to calculate the weights in transmit weighting matrix V. In this embodiment, the channel fading matrix H may be represented as:
 
 H=U×S×V*    Equation 2
 
     In Equation 2, V* is the complex conjugate transpose of transmit weighting matrix V; S is a diagonal matrix of singular values, which are the square roots of the eigenvalues of H×H*; and U is the unitary matrix. For the signal transmitted using Equation 1, where transmit weighting matrix V is calculated from the singular value decomposition of channel fading matrix H using Equation 2, the output signal-to-noise ratio for spatial stream S(r), may be represented as:
 
SNR( r )=SNR(avg)× S ( r )* S ( r )   Equation 3
 
     In Equation 3, S(r) is the r&#39;th diagonal entry of spatial stream S. The overall signal-to-noise ratio for equal modulation and coding schemes (MCS) may be represented as:
 
SNR=min(SNR( r ))   Equation 4
 
     Based on the above equations, operation  74  may use a metric C to evaluate the potential capacity benefit for using transmission beamforming between each client device  30  and corresponding candidate access points  20  in network  1  using the determined CSI information obtained at operation  73 . The metric C over each of the N spatial streams may be represented as: 
     
       
         
           
             
               
                 
                   C 
                   = 
                   
                     
                       B 
                       ⁢ 
                       
                         
                           ∑ 
                           
                             r 
                             = 
                             1 
                           
                           N 
                         
                         ⁢ 
                         
                           
                             log 
                             2 
                           
                           ⁡ 
                           
                             ( 
                             
                               1 
                               + 
                               
                                 SNR 
                                 ⁡ 
                                 
                                   ( 
                                   r 
                                   ) 
                                 
                               
                             
                             ) 
                           
                         
                       
                     
                     - 
                     
                       
                         log 
                         2 
                       
                       ⁢ 
                       1 
                     
                     + 
                     
                       SNR 
                       ⁡ 
                       
                         ( 
                         avg 
                         ) 
                       
                     
                   
                 
               
               
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   5 
                 
               
             
           
         
       
     
     In the above Equation 5, B represents the channel width for the corresponding wireless channel  35 . As noted above, the metric C may be calculated for each client device  30  in network  1  in relation to each corresponding candidate access point  20 . In some embodiments values for metric C are calculated only for client devices  30  and corresponding candidate access points  20  that are capable of beamforming signals (e.g., only 802.11ac access points  20  and client devices  30 ). 
     Upon the calculation of values for metric C at operation  74 , operation  75  compares each of the C values for each client device  30  with a capacity threshold value and determines (1) whether beamforming transmissions provides a capacity benefit and (2) for each client device  30 , which corresponding candidate access point  20  provides the greatest beamforming capacity gain. In one embodiment, beamforming transmissions provide capacity gains when corresponding metric C values fall below a capacity threshold value. In one embodiment, the capacity threshold is equal to the channel width of the corresponding wireless channel  35  (e.g., 20 MHz, 40 MHz, 80 MHz, or 160 MHz). For example, client device  30   1  in  FIG. 1  may have metric C values of {60 MHz, 50 MHz, 90 MHz, 160 MHz} corresponding to candidate access points  20   1 - 20   4 , respectively and the capacity threshold may be equal to 80 MHz. On the basis of these values, operation  75  may determine that client device  30   1  obtains capacity gains above the capacity threshold (i.e., C&gt;80 MHz) when associated with access points  20   3  and  20   4  with transmission beamforming activated. Since the capacity gain would be higher when associated with access point  20   4 , operation  75  determines that client device  30   1  should be associated with access point  20   4 . Operation  75  may be performed for each client device  30  such that each client device  30  is associated with an access point  30  that potentially delivers a higher throughput capacity. In some embodiments, operation  75  may determine that no change in association for a client device  30  may be needed as metric C values for the client device  30  do not exceed the capacity threshold value (e.g., C&lt;80 MHz for each access point  20 ). Based on the determination regarding beamforming transmission, operation  75  associates a client device  30  with an appropriate access point  20  that delivers the highest capacity gain with beamforming or maintains the client device  30  with the current access point  20  without beamforming activated. Moreover, a bin packing based approach could also be adopted to solve the problem of associating a respective client device with an appropriate access point, because the number of client devices to which an access point can beamform is usually limited. 
     In one embodiment, operation  75  may determine an optimized association of client devices  30  that maximizes capacity of the entire network  1 . For example, operation  75  may associate each of D client devices  30  with access points  20  such that the sum of all C values is maximized over the network  1 . 
     
       
         
           
             
               
                 
                   maximize 
                   ⁢ 
                   
                     
                       ∑ 
                       
                         i 
                         = 
                         1 
                       
                       D 
                     
                     ⁢ 
                     
                       C 
                       ⁡ 
                       
                         ( 
                         i 
                         ) 
                       
                     
                   
                 
               
               
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   6 
                 
               
             
           
         
       
     
     In one embodiment, maximization of the capacity of network  1  may be viewed as a bin packing problem, where different associations of client devices  30  with access points  20  using beamforming transmissions are proposed and corresponding C values for the network are computed. In this embodiment, the permutation with the highest capacity C for network  1  may be selected. By maximizing the capacity of network  1 , operation  75  ensures that associations of client devices  30  with access points  20  that provide individual capacity gains do not ultimately negatively alter the capacity of the entire network. 
     By associating client devices  30  with access points  20  that provide potential beamforming capacity gains, method  70  improves transmission capacity of network  1  in an intelligent manner. Note that, method  70  may be combined with channel width configuration methods disclosed in co-pending patent application entitled “Channel Width Configuration Based on Network Condition” to improve performance and efficiency of network  1  by (1) adjusting channel widths between access points  20  and client devices  30  and (2) steering client devices  30  to access points  20  that may increase capacity of an associated wireless channel  35 . 
     An embodiment of the invention may be an article of manufacture in which a machine-readable medium (such as microelectronic memory) has stored thereon instructions which program one or more data processing components (generically referred to here as a “processor”) to perform the operations described above. In other embodiments, some of these operations might be performed by specific hardware components that contain hardwired logic (e.g., dedicated digital filter blocks and state machines). Those operations might alternatively be performed by any combination of programmed data processing components and fixed hardwired circuit components. Also, although the discussion focuses on uplink medium control with respect to frame aggregation, it is contemplated that control of other types of messages are applicable. 
     Any combination of the above features and functionalities may used in accordance with one or more embodiments. In the foregoing specification, embodiments have been described with reference to numerous specific details that may vary from implementation to implementation. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. The sole and exclusive indicator of the scope of the invention, and what is intended by the applicants to be the scope of the invention, is the literal and equivalent scope of the set of claims that issue from this application, in the specific form in which such claims issue, including any subsequent correction.