The present disclosure relates to communication networks, and, in particular, to techniques for adjusting throughput of devices and/or sessions in a communication network.
In wireless communication networks, Aggregate Maximum Bit Rate (AMBR) can be defined as a measure of the total throughput available to a device and/or or to an individual data connection on a device. In general, an AMBR can be configured for a given service or package of services to which a device subscribes. As AMBR represents a maximum bit rate, it can therefore operate as an upper limit to the throughput attainable by a device for communications relating to a service or group of services assigned to an AMBR value.
Various specific details of the disclosed embodiments are provided in the description below. One skilled in the art will recognize, however, that the techniques described herein can in some cases be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring certain aspects.
In an aspect, a method as described herein can include determining, by a system including a processor, a sector of a communication network based on an amount of congestion present in the sector. The method can further include selecting, by the system from among respective network equipment operating in the sector, target network equipment for throughput adjustment based on equipment performance metrics respectively associated with the respective network equipment. The method can additionally include facilitating, by the system, adjusting a throughput of the target network equipment by an adjustment amount determined based on target equipment performance metrics, of the equipment performance metrics, associated with the target network equipment.
In another aspect, a system as described herein can include a processor and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations. The operations can include determining a sector of a communication network based on an amount of network congestion exhibited by the sector; selecting, from among respective network devices operating in the sector, a target network device for throughput adjustment based on device performance metrics respectively associated with the respective network devices; and adjusting a throughput of the target network device by an adjustment amount, wherein the adjustment amount is determined based on a group of the device performance metrics associated with the target network device.
In a further aspect, a non-transitory machine-readable medium as described herein can include executable instructions that, when executed by a processor, facilitate performance of operations. The operations can include selecting a cell of a network based on an amount of congestion exhibited by the cell; selecting, from among respective network equipment operating in the cell, network equipment based on performance metrics respectively associated with the respective network equipment; and causing adjustment of a throughput of the network equipment by an adjustment amount, the adjustment amount being determined based on ones of the performance metrics associated with the network equipment.
Referring first to
In an aspect, the resource controller device 10 shown in system 100 can be implemented by one or more elements of a radio access network (RAN), such as an eNodeB (eNB), gNodeB (gNB), or other network access point, a RAN controller device, and/or any other device(s) of the RAN that can implement controls on communication resources utilized by the network equipment 20. Alternatively, the resource controller device 10 can be implemented by one or more devices that communicate with elements of the RAN, such as an Element Management System (EMS), network elements utilizing the Open Network Automation Platform (ONAP) Service Management and Orchestration architecture, or the like.
In still another example, the resource controller device 10 can be implemented via a server or other computing device that can communicate with elements of the RAN in which the network equipment 20 operates and/or other networks, such as a core network that is connected to the RAN, via one or more networks or internetworks. By way of specific, non-limiting example, the resource controller device 10 could be implemented in this manner via a cloud application or service that communicates with network elements associated with the network equipment 20 via the Internet.
While the resource controller device 10 is shown in
In an aspect, the network equipment 20 shown in system 100 can include any suitable device(s) that can communicate over a wireless communication network associated with the resource controller device 10. Such devices can include, but are not limited to, cellular phones, computing devices such as tablet or laptop computers, autonomous vehicles, Internet of Things (IoT) devices, etc. Also or alternatively, the network equipment 20 could include a device such as a modem, a mobile hotspot, or the like, that provides network connectivity to another device (e.g., a laptop or desktop computer, etc.), which itself can be fixed or mobile. In still another example, the network equipment 20 could include devices, such as base stations, eNBs, gNBs, or the like, that facilitate access by other network equipment 20 to the communication network. Thus, in some implementations, a network access point could include some or all functionality of both the resource controller device 10 and the network equipment 20.
The resource controller device 10 shown in system 100 can include one or more transceivers 12 that can communicate with (e.g., transmit messages to and/or receive messages from) the network equipment 20 and/or other devices in system 100. The transceiver 12 can include respective antennas and/or any other hardware or software components (e.g., an encoder/decoder, modulator/demodulator, etc.) that can be utilized to process signals for transmission and/or reception by the resource controller device 10 and/or associated network devices. While the resource controller device 10 and network equipment 20 are illustrated in system 100 as engaging in direct communications, it is noted that the resource controller device 10 could also be configured to conduct direct communications with a limited subset of the network equipment 20, such as network access points or the like, without directly communicating with other network equipment 20.
In an aspect, the resource controller device 10 can further include a processor 14 and a memory 16, which can be utilized to facilitate various functions of the resource controller device 10. For instance, the memory 16 can include a non-transitory computer readable medium that contains computer executable instructions, and the processor 14 can execute instructions stored by the memory 16. For simplicity of explanation, various actions that can be performed via the processor 14 and the memory 16 of the resource controller device 10 are shown and described below with respect to various logical components. In an aspect, the components described herein can be implemented in hardware, software, and/or a combination of hardware and software. For instance, a logical component as described herein can be implemented via instructions stored on the memory 16 and executed by the processor 14. Other implementations of various logical components could also be used, as will be described in further detail where applicable.
In an aspect, the processor 14 and the memory 16 of the resource controller device 10 can facilitate dynamic modification of the maximum throughput level available to a wireless device in response to network conditions, e.g., an associated wireless network experiencing a threshold amount of congestion. In addition, dynamic throughput modification can be facilitated by the processor 14 and the memory 16 of the resource controller device 10 based on other factors including device performance (e.g., signal strength and signal quality), device location, subscriber service category (e.g., first responder, mobility subscriber, fixed broadband subscriber, etc.), or the like.
By implementing the resource controller device 10 as described herein, various advantages can be realized that can improve the performance of a communication network. For instance, the resource controller device 10 can provide increased control over resource allocation across different categories of service during varying network conditions for different devices, e.g., relative to combinations of static priority levels. This can, in turn, protect higher-priority devices and/or users (e.g., first responders, mobility users) from excessive usage demand by lower-priority devices and/or users (e.g., fixed wireless broadband users) while still providing the lower-priority devices and/or users with improved service during periods and/or in locations where there is no network congestion. Other advantages are also possible.
With reference now to
In an aspect, the network monitor component 210 of the resource controller device 10 can determine an amount of congestion present in a given region of a communication network based on metrics of RAN, core network, and/or transport network performance. These metrics can include, but are not limited to, as physical resource block (PRB) utilization and/or availability, control channel load or utilization, the number of active devices or active bearers and/or data flows in a given network region, an aggregate cell bit rate associated with a given region, packet loss and/or delay statistics, or the like. It is noted, however, that the network monitor component 210 could utilize any suitable metric or combination of metrics, either presently known or developed in the future, for measuring congestion associated with one or more regions of the communication network.
As further shown in
Equipment performance metrics that can be utilized by the device selection component 220 can include, e.g., Cell Quality Indicator (CQI), Signal-to-Noise Ratio (SNR) or Signal to Interference-plus-Noise Ratio (SINR), Reference Signal Received Power (RSRP) or Reference Signal Received Quality (RSRQ), UE-specific measures of throughput, delay, and/or packet loss, and/or other suitable metrics. Other factors that can be utilized by the device selection component 220 in selecting target network equipment can include a location of the target network equipment, either in absolute terms (e.g., latitude/longitude coordinates, etc.) or in relative terms (e.g., a distance of the target network equipment from a serving cell tower, etc.).
Also or alternatively, the device selection component 220 can select target network equipment based on a service category, such as a subscriber and/or device service category, assigned to the target network equipment. For instance, the device selection component 220 can select target network equipment of a specific service category for throughput adjustment to reduce the impact of that service category on network equipment associated with other service categories. By way of specific, non-limiting example, the device selection component 220 can select one or more devices associated with fixed wireless service (FWS) subscribers for throughput adjustment in order to improve the availability of network resources for devices associated with other service categories, such as emergency service responders, mobility subscribers, or the like, in order to maintain minimum levels of service provided by service level agreements (SLAs) or other policies associated with the respective service categories and/or to otherwise protect devices of the other service categories from service degradation caused by disproportionate usage of network resources by the FWS subscriber devices.
As another example, the device selection component 220 can select target network equipment in response to instances of focused network overload. For instance, in the event of a disaster or other public emergency, the device selection component 220 can prioritize access by first responders and/or other preauthorized devices to network resources in the area of the emergency while deprioritizing access to network resources by other users in the area. Other examples are also possible.
As additionally shown in
In an aspect, the throughput adjustment component 230 can adjust throughput for target network equipment by changing one or more Aggregate Maximum Bit Rate (AMBR) values associated with the target network equipment. As used herein, the general term AMBR can refer both to the total throughput available to a device (e.g., UE-AMBR) and to the total throughput available to an individual data connection on a device (e.g., Access Point Name AMBR or APN-AMBR, Session Maximum Bit Rate (Session MBR), etc.). It is noted that references made generally to adjusting “throughput” or “AMBR” of a given network device are intended to include both of the above types of throughput unless stated otherwise.
The throughput adjustment component 230 of the resource controller device 10 can, in respective implementations, facilitate adjustment of the throughput of target network equipment either indirectly, e.g., by instructing one or more other network elements to perform appropriate throughput adjustments, or directly, e.g., by itself altering the throughput assigned to given target network equipment. Techniques for indirect throughput adjustment are described in further detail below with respect to
In an aspect, the resource controller device 10 shown in
In addition, the resource controller device 10 as described herein can result in improvements to service quality that can be provided to lower priority users during times of low network load. By way of example, the resource controller device 10 can temporarily relax restrictions on video streaming services that limit video to a maximum bit rate, resolution, etc., if the network resources associated with streaming video would otherwise be underutilized due to low demand.
Turning now to
In the implementation shown by
As further shown in
In an alternate implementation to that shown by
As noted above, the adjustment computation component 310 can facilitate adjustment of both a total throughput assigned to target network equipment, e.g., as defined by a UE AMBR parameter that defines a maximum throughput that can be utilized in aggregate by all sessions or data connections utilized by a given device. Also or alternatively, the adjustment computation component 310 can facilitate adjustment of a throughput assigned to a first session or data connection utilized by target network equipment, e.g., without adjusting or otherwise altering a throughput assigned to a second, different session or data connection utilized by the target network equipment. Adjustment of per-session throughput can be facilitated by the throughput adjustment component 230 on the basis of network slice or partition identifier associated with a given session, a data category associated with the session (e.g., voice, video, etc.), and/or any other criteria that can be utilized for distinguishing between data connections.
In an aspect, the adjustment computation component 310 can determine an adjustment amount to be applied to a throughput for a given device or class of devices (e.g., FWS users, etc.) based on network loading and/or congestion conditions. For instance, if the resource controller device 10 (e.g., via the network monitor component 210 shown in
By way of a specific, non-limiting example of the above, network equipment 20 associated with FWS users in the system can be assigned an initial AMBR of 50 megabits/second (Mb/s). Subsequently, if network congestion reaches a first threshold of 70%, the adjustment computation component 310 can facilitate reducing the AMBR of the FWS users from 50 Mb/s to 30 Mb/s. If the congestion persists for longer than a threshold time interval, or if the congestion increases from 70% to a second threshold of 80%, the adjustment computation component 310 could cause the AMBR of the FWS users to be further increased, e.g., from 30 Mb/s to 10 Mb/s.
While the above example describes throughput adjustments of a fixed amount, the adjustment computation component 310 could determine the amount of adjustment to be applied based on factors such as the number of users of a given user class that are using resources in a given region of the network, device location, usage or signal quality statistics, or the like. A non-exhaustive listing of example throughput adjustments that can be facilitated by the adjustment computation component 310, and/or the resource controller device 10 as a whole, are as follows:
Other adjustments are also possible.
With reference now to
In the implementation shown by
While the implementation shown in
Turning now to
With reference first to diagram 500 in
The KPIs or other metrics generated by the data collection and analytics system 520 can then be exposed to an application function 530, which can be utilized to implement some or all of the functionality of the resource controller device 10 as described above. For instance, the application function 530 can use the exposed metrics to identify specific cells, sector faces, or other network regions where load should be reduced, and to identify respective devices served in the respective identified network regions as well as the active sessions on those devices. The application function 530 can use this information, along with data associated with device registration and session establishment and/or other data identifying related service categories, to determine target devices and/or session for AMBR changes and to calculate the new AMBR levels for these devices and/or sessions.
As further shown in diagram 500, the application function 530 can pass device- and/or session-level AMBR change requests to one or more mobile core nodes 540, such as a 5G Core (5GC) Network Exposure Function (NEF), which can apply and enforce the corresponding policy rules. These rules can include, e.g., passing the per-device and/or per-session AMBR information to the appropriate RAN nodes, such as the eNB/gNB 510, for appropriate enforcement. Also or alternatively, the application function 530 can pass device-level AMBR change requests directly to the eNB/gNB 510 and/or other RAN nodes for enforcement.
In the network environment shown by diagram 500, AMBR enforcement can be split between the eNB/gNB 510 and the mobile core 540 such that the eNB/gNB 510 performs device-level AMBR enforcement (e.g., via a UE-AMBR enforcement module 512) and uplink session-level AMBR enforcement (e.g., via a UL-APN-AMBR enforcement module 514), while the mobile core 540 performs downlink session-level AMBR enforcement (e.g., via a DL-APN-AMBR enforcement module 542). Other enforcement schemes could also be used.
The application function 530 shown in diagram 500 can be implemented via a computing device, e.g., a server or other computing device comprising a processor and a memory, and/or by multiple computing devices, e.g., in a distributed computing environment. Also or alternatively, the application function 530 can be implemented via a cloud computing system that can send and receive data from other network elements in
Referring next to
By utilizing data relating to the backhaul transport network 610 and the mobile core 540 in addition to RAN and device data, the application function 530 can further improve the performance of the network environment by enabling throughput adjustments to be performed in response to the presence of core network congestion and/or transport congestion, even in cases in which no RAN congestion is present.
Turning now to
The resource controller device 10 shown in system 700 includes a usage monitor component 710 that can generate resource usage data representative of respective amounts of network resources (e.g., resources enabled via a communication network) that are being utilized by respective network equipment, e.g., network equipment 20 as shown in
As further shown in
Turning now to
With reference first to diagram 800 in
The eNB/gNB 510, or other associated RAN nodes, can then use an internally-configured algorithm to determine the new AMBR levels for these devices, taking into account the RAN performance metrics. For example, the eNB/gNB 510 can reduce AMBR to a lesser extent at lower levels of congestion and/or to a greater extent at higher levels of utilization. Also or alternatively, the eNB/gNB 510 can increase AMBR at lower levels of congestion. As shown in diagram 800, the eNB/gNB 510 can include modules for enforcing the determined AMBR changes at the device level, such as a UL AMBR enforcement module 812 for uplink AMBR and a DL AMBR enforcement module 814 for downlink AMBR. While not shown in diagram 800, the eNB/gNB 510 could also facilitate session level AMBR enforcement, e.g., based on information received from a mobile core and/or other network elements.
Turning to diagram 900 in
With reference now to
As additionally shown in diagram 1000, the eNB and/or gNB can facilitate management of user plane communication sessions via a Session Management Function (SMF) and a Packet Data Network (PDN) Gateway Control Plane Function (PGW-C). The eNB can communicate with the SMF and PGW-C via a Mobility Management Entity (MME), via an S1-MME interface, and a Serving Gateway Control Plane Function (SGW-C). Additionally, the gNB can communicate with the SMF and PGW-C via an Access and Mobility Management Function (AMF), via an N2 interface. The SMF and PGW-C can, in turn, access one or more network functions such as a Policy Control Function (PCF) and a Charging Function (CHF). The PCF can provide policy rules to be applied to the user plane communications, e.g., allowing or blocking certain user communication flows or applying different Quality of Service (QoS) rules to certain user communication flows. The CHF can facilitate applying charges to communication services provided by the network, e.g., according to a subscription agreement, based on billing information stored at a Business Support System (BSS) as accessed from the CHF by a Charging Gateway Function (CGF).
The MME and AMF shown in diagram 1000 can interface with Unified Data Management (UDM) and/or a Home Subscriber Service (HSS), e.g., depending on the radio access technologies utilized by the network. The UDM and/or HSS can, based on subscription data stored at a Unified Data Repository (UDR), coordinate control plane operation of the eNB and/or gNB with respect to the CPE.
The eNB and gNB shown in diagram 1000 can further stream trace data to a Data Collection and Analytics System (DCAS), which can generate standardized KPIs and provide initial device and cell-level analysis. A Dynamic Network Control Application Function (DNC AF) can use KPIs provided by the DCAS to determine specific devices for which dynamic QoS controls are to be applied. The DNC AF can identify devices for dynamic QoS control by, e.g., identifying cells at a defined congestion level and identifying the devices using RAN capacity on those cells. Subsequently, the DNC AF can determine when congestion on those cells has decreased sufficiently to restore the devices to their baseline service level. Other techniques could also be used.
The DNC AF can communicate with a Network Exposure Function (NEF) via an API Gateway (API-GW) to apply and/or remove QoS modification to target devices and/or sessions. The DNC AF can apply (and remove) a single reduced throughput level for all controlled devices. Alternatively, the DNC AF can apply different levels of control to different devices in the same area, apply multiple levels of control under different congestion levels, and/or apply additional QoS modifications or other controls via the NEF or at other layers. In an aspect, the control algorithm used by the DNC AF can be made tunable in order to adjust the level of control and how frequently QoS changes are made to devices.
The NEF can receive requests from the DNC AF, authorize the requests, and communicate with the PCF to request the application of policy rules, such as bandwidth changes, to target devices and/or connections. In response to receiving policy authorization requests from the NEF, the PCF can make corresponding policy decisions and send policy updates, including bandwidth changes, for target devices and/or sessions to the SMF + PGW-C. The SMF + PGW-C, upon receiving policy updates from the PDC, can install the appropriate policy rules, including sending session modification requests with new QoS enforcement rules to the UPF + PGW-U.
With reference to
At 1104, the system can select (e.g., by a device selection component 220 and/or other components implemented by the processor 14), from among respective network equipment (e.g., network equipment 20) operating in the sector, target network equipment (e.g., target network equipment 22) for throughput adjustment based on equipment performance metrics respectively associated with the respective network equipment.
At 1106, the system can facilitate (e.g., by a throughput adjustment component 230 and/or other components implemented by the processor 14) adjusting a throughput of the target network equipment selected at 1104 by an adjustment amount. In an aspect, the adjustment amount can be determined based on target performance metrics, of the equipment performance metrics, that are associated with the target network equipment.
In order to provide additional context for various embodiments described herein,
Generally, program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the inventive methods can be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operatively coupled to one or more associated devices.
The illustrated embodiments of the embodiments herein can be also practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.
Computing devices typically include a variety of media, which can include computer-readable storage media and/or communications media, which two terms are used herein differently from one another as follows. Computer-readable storage media can be any available storage media that can be accessed by the computer and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable storage media can be implemented in connection with any method or technology for storage of information such as computer-readable instructions, program modules, structured data or unstructured data.
Computer-readable storage media can include, but are not limited to, random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD), Blu-ray disc (BD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, solid state drives or other solid state storage devices, or other tangible and/or non-transitory media which can be used to store desired information. In this regard, the terms “tangible” or “non-transitory” herein as applied to storage, memory or computer-readable media, are to be understood to exclude only propagating transitory signals per se as modifiers and do not relinquish rights to all standard storage, memory or computer-readable media that are not only propagating transitory signals per se.
Computer-readable storage media can be accessed by one or more local or remote computing devices, e.g., via access requests, queries or other data retrieval protocols, for a variety of operations with respect to the information stored by the medium.
Communications media typically embody computer-readable instructions, data structures, program modules or other structured or unstructured data in a data signal such as a modulated data signal, e.g., a carrier wave or other transport mechanism, and includes any information delivery or transport media. The term “modulated data signal” or signals refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in one or more signals. By way of example, and not limitation, communication media include wired media, such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
With reference again to
The system bus 1208 can be any of several types of bus structure that can further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The system memory 1206 includes ROM 1210 and RAM 1212. A basic input/output system (BIOS) can be stored in a non-volatile memory such as ROM, erasable programmable read only memory (EPROM), EEPROM, which BIOS contains the basic routines that help to transfer information between elements within the computer 1202, such as during startup. The RAM 1212 can also include a high-speed RAM such as static RAM for caching data.
The computer 1202 further includes an internal hard disk drive (HDD) 1214 and an optical disk drive 1220, (e.g., which can read or write from a CD-ROM disc, a DVD, a BD, etc.). While the internal HDD 1214 is illustrated as located within the computer 1202, the internal HDD 1214 can also be configured for external use in a suitable chassis (not shown). Additionally, while not shown in environment 1200, a solid state drive (SSD) could be used in addition to, or in place of, an HDD 1214. The HDD 1214 and optical disk drive 1220 can be connected to the system bus 1208 by an HDD interface 1224 and an optical drive interface 1228, respectively. The HDD interface 1224 can additionally support external drive implementations via Universal Serial Bus (USB), Institute of Electrical and Electronics Engineers (IEEE) 1394, and/or other interface technologies. Other external drive connection technologies are within contemplation of the embodiments described herein.
The drives and their associated computer-readable storage media provide nonvolatile storage of data, data structures, computer-executable instructions, and so forth. For the computer 1202, the drives and storage media accommodate the storage of any data in a suitable digital format. Although the description of computer-readable storage media above refers to respective types of storage devices, it should be appreciated by those skilled in the art that other types of storage media which are readable by a computer, whether presently existing or developed in the future, could also be used in the example operating environment, and further, that any such storage media can contain computer-executable instructions for performing the methods described herein.
A number of program modules can be stored in the drives and RAM 1212, including an operating system 1230, one or more application programs 1232, other program modules 1234 and program data 1236. All or portions of the operating system, applications, modules, and/or data can also be cached in the RAM 1212. The systems and methods described herein can be implemented utilizing various commercially available operating systems or combinations of operating systems.
A user can enter commands and information into the computer 1202 through one or more wired/wireless input devices, e.g., a keyboard 1238 and a pointing device, such as a mouse 1240. Other input devices (not shown) can include a microphone, an infrared (IR) remote control, a joystick, a game pad, a stylus pen, touch screen or the like. These and other input devices are often connected to the processing unit 1204 through an input device interface 1242 that can be coupled to the system bus 1208, but can be connected by other interfaces, such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, a BLUETOOTH® interface, etc.
A monitor 1244 or other type of display device can be also connected to the system bus 1208 via an interface, such as a video adapter 1246. In addition to the monitor 1244, a computer typically includes other peripheral output devices (not shown), such as speakers, printers, etc.
The computer 1202 can operate in a networked environment using logical connections via wired and/or wireless communications to one or more remote computers, such as a remote computer(s) 1248. The remote computer(s) 1248 can be a workstation, a server computer, a router, a personal computer, portable computer, microprocessor-based entertainment appliance, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer 1202, although, for purposes of brevity, only a memory/storage device 1250 is illustrated. The logical connections depicted include wired/wireless connectivity to a local area network (LAN) 1252 and/or larger networks, e.g., a wide area network (WAN) 1254. Such LAN and WAN networking environments are commonplace in offices and companies, and facilitate enterprise-wide computer networks, such as intranets, all of which can connect to a global communications network, e.g., the Internet.
When used in a LAN networking environment, the computer 1202 can be connected to the local network 1252 through a wired and/or wireless communication network interface or adapter 1256. The adapter 1256 can facilitate wired or wireless communication to the LAN 1252, which can also include a wireless access point (AP) disposed thereon for communicating with the wireless adapter 1256.
When used in a WAN networking environment, the computer 1202 can include a modem 1258 or can be connected to a communications server on the WAN 1254 or has other means for establishing communications over the WAN 1254, such as by way of the Internet. The modem 1258, which can be internal or external and a wired or wireless device, can be connected to the system bus 1208 via the input device interface 1242. In a networked environment, program modules depicted relative to the computer 1202 or portions thereof, can be stored in the remote memory/storage device 1250. It will be appreciated that the network connections shown are example and other means of establishing a communications link between the computers can be used.
The computer 1202 can be operable to communicate with any wireless devices or entities operatively disposed in wireless communication, e.g., a printer, scanner, desktop and/or portable computer, portable data assistant, communications satellite, any piece of equipment or location associated with a wirelessly detectable tag (e.g., a kiosk, news stand, restroom), and telephone. This can include Wireless Fidelity (Wi-Fi) and BLUETOOTH® wireless technologies. Thus, the communication can be a predefined structure as with a conventional network or simply an ad hoc communication between at least two devices.
The above description includes non-limiting examples of the various embodiments. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the disclosed subject matter, and one skilled in the art may recognize that further combinations and permutations of the various embodiments are possible. The disclosed subject matter is intended to embrace all such alterations, modifications, and variations that fall within the spirit and scope of the appended claims.
With regard to the various functions performed by the above described components, devices, circuits, systems, etc., the terms (including a reference to a “means”) used to describe such components are intended to also include, unless otherwise indicated, any structure(s) which performs the specified function of the described component (e.g., a functional equivalent), even if not structurally equivalent to the disclosed structure. In addition, while a particular feature of the disclosed subject matter may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application.
The terms “exemplary” and/or “demonstrative” as used herein are intended to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and/or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent structures and techniques known to one skilled in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive - in a manner similar to the term “comprising” as an open transition word - without precluding any additional or other elements.
The term “or” as used herein is intended to mean an inclusive “or” rather than an exclusive “or.” For example, the phrase “A or B” is intended to include instances of A, B, and both A and B. Additionally, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless either otherwise specified or clear from the context to be directed to a singular form.
The term “set” as employed herein excludes the empty set, i.e., the set with no elements therein. Thus, a “set” in the subject disclosure includes one or more elements or entities. Likewise, the term “group” as utilized herein refers to a collection of one or more entities.
The terms “first,” “second,” “third,” and so forth, as used in the claims, unless otherwise clear by context, is for clarity only and doesn't otherwise indicate or imply any order in time. For instance, “a first determination,” “a second determination,” and “a third determination,” does not indicate or imply that the first determination is to be made before the second determination, or vice versa, etc.
The description of illustrated embodiments of the subject disclosure as provided herein, including what is described in the Abstract, is not intended to be exhaustive or to limit the disclosed embodiments to the precise forms disclosed. While specific embodiments and examples are described herein for illustrative purposes, various modifications are possible that are considered within the scope of such embodiments and examples, as one skilled in the art can recognize. In this regard, while the subject matter has been described herein in connection with various embodiments and corresponding drawings, where applicable, it is to be understood that other similar embodiments can be used or modifications and additions can be made to the described embodiments for performing the same, similar, alternative, or substitute function of the disclosed subject matter without deviating therefrom. Therefore, the disclosed subject matter should not be limited to any single embodiment described herein, but rather should be construed in breadth and scope in accordance with the appended claims below.