Smart Meter For Monitoring And Controlling Internet Usage
20220210020 · 2022-06-30
Assignee
Inventors
Cpc classification
H04L43/0876
ELECTRICITY
H04L41/0883
ELECTRICITY
Y04S40/00
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H04M15/41
ELECTRICITY
H04L41/0896
ELECTRICITY
International classification
Abstract
Systems and methods for implementing a network metering system which includes a classifier which measures network usage by device, application, device and application and time of day, where the device is given an end-user identifiable device type name based on characteristics of network traffic the device carried, and at least in part based on the upstream domain names the device has interacted with; and a traffic shaper that allows device network traffic and application network traffic to be individually controlled with control settings, including blocking, blocking by time of day, blocking when usage limits are reached, rate limiting and rate limiting by time of day.
Claims
1. A method for metering network usage and recommended alternatives for reducing usage, comprising: measuring network usage of network traffic through a customer premise equipment (CPE) router over a metered network by device and application; receive traffic shaper control settings; controlling network traffic usage by device and application according to the traffic shaper control settings; evaluating current devices and current applications and comparing to a recommendations database with alternatives for devices and applications; selecting at least one alternative from the recommendations database which will provide expected significant usage savings; presenting the at least one alternative to the end-user with benefits of the at least one alternative shown in terms of the amount of bandwidth savings or fraction of a metered WAN's usage limit that is saved; and providing a way for the end-user to order an alternative device or alternative application corresponding to the at least one alternative.
2. A method according to claim 1, wherein measuring network usage of network traffic through a customer premise equipment (CPE) router over a metered network further comprises measuring by application per device and time, and wherein controlling network traffic usage further comprises controlling network usage by time according to the traffic shaper control settings.
3. A method for metering network usage, comprising: measuring network usage of network traffic through a customer premise equipment (CPE) router over a metered network by device, application, application per device and time; receive traffic shaper control setting; and control network traffic usage by device, application and time according to the traffic shaper control settings.
4. A method according to claim 3, further comprising making usage information available to an end-user application that allows an end-user to control the traffic shaper control settings.
5. A method according to claim 3, further comprising: evaluating current devices and current applications and comparing to a recommendations database with alternatives for devices and applications; selecting at least one alternative from the recommendations database which will provide expected significant usage savings; and presenting the at least one alternative to an end-user with benefits of the alternative shown in terms of the amount of bandwidth savings or fraction of a metered WAN's usage limit that is saved.
6. A method according to claim 5, wherein the end-user application further provides a way for the end-user to order an alternative device or an alternative application corresponding to the at least one alternative.
7. A method according to claim 5, wherein the end-user application is an application executing on a cell phone.
8. A method according to claim 3, wherein at least one device is given an end-user identifiable device type name based on characteristics of network traffic carried by the at least one device and that is partially based on upstream domain names the at least one device has communicated with.
9. A method according to claim 3, wherein controlling network traffic by device application and time according to the traffic share control setting further comprises blocking network traffic, blocking network traffic by time of day, blocking network traffic when usage limits are reached, rate limiting total network traffic and rate limiting network traffic by time of day.
10. A network metering system comprising: a classifier which measures network usage by device, application, and time of day, where at least one device is given an end-user identifiable device type name based on characteristics of network traffic the at least one device carried, and at least in part based on upstream domain names the at least one device has interacted with; and a traffic shaper that allows device network traffic and application network traffic to be individually controlled with control settings.
11. A network metering system of claim 10, further comprising a smart meter application configured to make available to an end-user usage information over time by device and application.
12. A network metering system of claim 11, wherein the smart meter application allows a user to control the control settings, where the control setting include blocking, blocking by time of day, blocking when usage limits are reached, rate limiting and rate limiting by time of day.
13. A network metering system of claim 11, wherein the smart meter application evaluates current devices and current applications, uses a recommendations database with alternatives for devices and applications to select at least one alternative from the recommendations database which will provide expected significant usage savings; and presents the at least one alternative to an end-user with benefits of the alternative shown in terms of the amount of bandwidth savings or fraction of a metered WAN's usage limit that is saved.
14. A network metering system of claim 10 wherein the control settings include blocking, blocking by time of day, blocking when usage limits are reached, rate limiting and rate limiting by time of day.
15. A network metering system of claim 10, wherein the classifier and the traffic shaper are implemented in a smart meter on a customer premise router.
16. A network metering system of claim 10, wherein the classifier comprises an application usage classifier with application usage profile rules, where the application usage classifier processes IP flow records to maintain usage by application according to the application usage profile rules used to determine which application network usage should be attributed to.
17. A network metering system of claim 10, wherein the classifier comprises a device usage classifier with device profile rules, where the device usage classifier processes IP flow records to classify a type of each LAN device and to maintain a usage for each device, and where the device profile rules determine the type of each LAN device.
18. A network metering system of claim 10, wherein the classifier comprises an IP flow records cache with a record entry for each recent IP flow.
19. A network metering system of claim 10, wherein the classifier comprises a domain name cache that stores a domain name to IP address translations of recently accessed hosts on a public internet.
20. A network metering system of claim 10, wherein the classifier comprises application control profile rules which are used to determine to which application an IP flow's usage should be attributed to.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The drawing figures depict one or more implementations in accord with the present teachings, by way of example only, not by way of limitation. In the figures, like reference numerals refer to the same or similar elements. Furthermore, it should be understood that the drawings are not necessarily to scale.
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
DETAILED DESCRIPTION
[0023] In the following detailed description, numerous specific details are set forth by way of examples to provide a thorough understanding of the disclosed subject matter. It may become apparent to persons of ordinary skill in the art, though, upon reading this disclosure, that one or more disclosed aspects may be practiced without such details. In addition, description of various example implementations according to this disclosure may include referencing of or to one or more known techniques or operations, and such referencing can be at relatively high-level, to avoid obscuring of various concepts, aspects and features thereof with details not particular to and not necessary for fully understanding the present disclosure.
[0024] This disclosure describes systems and methods for implementing a network metering system that empowers end-users to understand and control their network bandwidth usage over a metered internet access connection. Implementations of the smart meter described herein provide for usage measurement by time of day, device and application. Further, the usage information is made available to the end-user in a way that allows the user to easily identify the heavier users of limited metered capacity, and how the user is doing compared to monthly limits. The smart meter may further allow selected traffic to be rate-limited or redirected to non-peak times. The smart meter may also provide the ability to traffic shape and control the usage by device/application and time of day.
[0025]
[0026] The system 100 may further include a smart meter application 128 capable of running on a cell-phone 130 or other device with internet access such as a tablet with a web browser interface. The smart meter application 128 interacts with the smart meter service 124 to obtain usage and other information from the service and allow the user to set traffic shaping options in the control settings 126 which are relayed by the service 124 to the smart meter 122 in the CPE router 110. The smart meter application 128 may also offer for sale alternative applications, devices and services as described below. The cell phone 130 with the smart meter application 128 is shown in the figure as having access to the LAN 114 and obtaining access thereby to the smart meter service 124 but may also have access to the smart meter service 124 via the public internet 116 independently of the CPE router 110 as represented by the dashed line to the internet 116. The system 100 solves the technical problem of LAN hosts 112 being able to use network bandwidth over the metered IP 120 without control of the end-user. The system 100 provides the technical solution of a customer premise router 110 with a smart meter 122 that can be controlled by the end-user via control settings 126 as described herein.
[0027]
[0028]
[0029]
[0030]
[0031] Referring again to
[0032] Referring again to
[0033]
[0034] Upstream Host Domain Name
[0035] The classifier 216, when practical, determines each IP flow's upstream host domain name, as the domain name is particularly useful for identifying devices and applications. The classifier 216 maintains a domain name cache 424 to facilitate this determination as introduced above with reference to
[0036] IP Flow Record
[0037] The classifier 216 may maintain IP flow records in the IP flow records cache 428 as introduced above. The IP flow records may include fields for each record as shown in Table 1. From the timestamps and the byte count, a thruput rate can be calculated. The classifier finalizes an IP flow record when it determines the flow has completed. For TCP IP flows this can be based on the processing of reset (RST) and finish (FIN) packets. For UDP and other IP flows this can also be based on idle timeout.
TABLE-US-00001 TABLE 1 IP Flow Record The direction of the flow (upstream or downstream) Upstream Domain Name (if it could be determined) The upstream and downstream IP addresses The upstream and downstream port numbers, The LAN MAC address, An IP flow start timestamp A timestamp for the most recent packet A packet counter A count of the number of bytes of usage including an estimation of any overhead the metered ISP may impose on each packet and a histogram of packet sizes
[0038] Device Usage Classifier
[0039] The device usage classifier 416 maintains a cache of LAN device usage record store 420 with a record for each LAN device where a LAN device is identified by its MAC address. Alternatively, the LAN device could be identified by its IP address although a device's IP address may shift over time so the MAC address is preferable. The device usage classifier 416 processes finalized IP flow records to update that LAN device record and to classify that record's device. The device's usage recording is described further below. Device classification takes place by accumulating the information regarding the device over a recent period of time, e.g. 24 hours where the information is kept in buckets (e.g. 10 minute buckets) and when a bucket completes an old bucket of information is dropped to make room for a new bucket. The information of the LAN device records maintained by the device classifier 416 included in the buckets may include the server domain name of each of the server's visited, and the number of bytes of usage upstream and downstream.
[0040] Device classification is performed by periodically comparing the stats accumulated to the set of device profile rules 418 where the highest scoring of the matching rules becomes the device classification. The device profile rules 418 may be supplied by the controller 220 in
TABLE-US-00002 TABLE 2 Device profile rule attributes. Base The score that a matching rule has apart from any bonus Score score points for expected domain name matches Device Type Formatted text identifying the type of device that an Name end-user can use to help identify which of his devices matched the rule. Values might include: “WINDOWS PC”, “iPHONE”, “ROKU Video Player”, “SAMSUNG SmartTV”, “GOOGLE DOORBELL”, “ALEXA”, etc. Multiple device profile rules may have a given Device Type Name. When that is the case that Device Type Name's usage is totaled from the usage from each device profile rule with that Device Type Name. Device Type Formatted text describing the type of device and what is Description known about it from its matching this rule it in a fashion that an end-user can understand. Device A numerical value that provides the efficiency rating of this Usage device relative to other similar devices that provide similar Efficiency capabilities. Rating Rule Formatted text documentation explaining at a high-level the Documenta- match criteria and what about those match criteria cause the tion specific device type to be identify.
[0041] A device profile rule includes a combination of one or more of the match criteria shown in Table 3. All of a rule's match criteria must match for the rule as a whole to match.
TABLE-US-00003 TABLE 3 Device Profile Match Criteria Minimum If the minimum is not reached the rule does not match number of the device. different domains visited Maximum If the maximum is exceeded the rule does not match number of the device. different domains visited Mandatory Where failure to have connected to any of the names in domain the list cause the rule not to match the device. name NOTE: A wild-card domain name optionally begins with wild-card an ‘*’ character indicating that any set of list characters preceding what follows the * is considered to match this wild-carded domain name. Expected Holds a list of optionally wild-carded domain names domain where each such name has a bonus score. Each expected name domain match increases the rule's score by its wild-card bonus score. list Unexpected A match of any of these names causes the rule to be domain considered to not match the device. name wild-card list Minimum If the minimum is not reached the rule does not match daily usage the device. Maximum If the maximum is exceeded the rule does not match daily usage the device. Minimum The percentage of the device's usage that is downstream downstream where if the minimum is not reached the rule does not usage percent match the device. Maximum The percentage of the device's usage that is downstream downstream where if the maximum is exceeded the rule does not usage percent match the device. Minimum The percentage of the device's usage that is from VPN IP VPN usage flows where if the minimum is not reached the rule does percent not match the device. Maximum The percentage of the device's that is from VPN IP flows VPN usage where if the maximum is exceeded the rule does not percent match the device.
[0042] Application Usage Classifier
[0043] The application usage classifier 412 maintains a collection of application usage profile rules 424 where the collection of application profile rules is used to determine to which application an IP flow's usage should attributed to. The application usage profile rules 424 in some implementations may be supplied by the controller 220. The application usage classifier 412 may also maintain a collection of application usage objects with one such usage object for each application profile. The application usage classifier 412 processes finalized IP flow records to determine which application the IP flow's traffic should be attributed to and to update that application's recorded usage. The application usage classifier 412 compares a finalized IP flow record with each of the application usage profile rules 424 where the highest scoring of the matching rules becomes the application classification for that flow and where the flow's usage is attributed to that application and stored in the application usage record store 426. An application usage profile rule 424 may have attributes as shown in Table 4.
TABLE-US-00004 TABLE 4 Application Usage Profile Rule Attributes Score A numerical score for this rule when it matches an IP flow. Application Text identifying the application in a way that an end-user Name can use understand which applications are consuming his metered bandwidth. Multiple rules may have a given Application Name. When that is the case that Application Name's usage is totaled from the usage from each rule with that Application Name. Application Text identifying a set of similar applications. For example, Group Name StreamingVideo might be the group streaming video services. This field allows an overview of usage by application group to be available. Application Formatted text describing the application and what is Description known about it in a fashion that an end-user can understand. Application A numerical value that provides the efficiency rating of this Usage application relative to other similar applications that provide Efficiency similar capabilities. Rating Rule Formatted text documentation explaining at a high-level the Documenta- match criteria and what about those match criteria cause the tion specific device type to be identify.
[0044] An application usage profile rule 424 includes a combination of one or more of the match criteria listed in Table 5, where all of a rule's match criteria must match for the rule as a whole to match.
TABLE-US-00005 TABLE 5 Application Usage Profile Rule Matching Criteria Upstream Holds a list of optionally wild-carded domain names where domain each such name has a bonus score. Each expected domain name match increases the rule's score by its bonus score. wild-card list Protocol One of: UDP, TCP, ICMP, HTTP, HTTPS, DNS, etc. Upstream A match takes place when the upstream port (for example Port the port number of the server in the Public Internet) Number matches any of these port numbers. List Downstream A match takes place when the downstream port, that is, the Port port number of the host on the LAN, matches any of these Number port numbers. List Download A match takes place when the number of downstream bytes Size falls within this range. This is useful for distinguishing Range between bulk transfers and interactive data. Upload A match takes place when the number of upstream bytes Size falls within this range. This is useful for distinguishing Range between bulk transfers and interactive data. Recency This field has a domain name and a duration in seconds. upstream An IP flow matches when its device had an IP flow domain matching the domain name as recently as the duration name in seconds. This field, together with protocol and wild-cast perhaps upstream port number match criteria provides list a way of identifying applications which start by visiting a known domain name and continue by using an IP flow where the domain name cannot be determined of the matching protocol and optionally upstream port number. A Zoom ™ meeting is an example of such an application.
[0045] Application Control Classification
[0046] The packet processors 410, 412 in
[0047] An application control profile rule 432 has the same attributes as an application usage rule profile rule 424 as shown in Table 4. It also has a numeric application ID that is tagged to each of an IP flow's packets thereby facilitating the traffic shaper's 218 determination of the IP flow's application. An application control profile rule 432 includes a set of match criteria (for example a subset of the rule matching criteria listed in Table 5) where all of a rule's match criteria must match for the rule as a whole to match. In an implementation, the match criteria includes: upstream domain name wild-card list, protocol, upstream port number list, and downstream port number list.
[0048] Traffic Shaper
[0049] The traffic shaper 218 receives device and application control settings from the controller 220 and enforces those control settings on IP packets as it relays those packets between the LAN interface 210 and the router block 212 (
TABLE-US-00006 TABLE 6 Application Centre Settings. Blocked All of a matching IP flow's packets are dropped as long as the setting is in place. Timed All of a matching IP flow's packets are dropped for Block configurable ranges of time where all of a matching IP flows packets are dropped during those times. An example might be to block a specific gaming device during homework hours or to block big gaming downloads except during non-busy times where an ISP does not meter traffic. Usage A matching IP flow's packets are blocked after the device- Limit type, specific LAN device or application has consumed a specified amount of usage in a specified period of time (e.g. day, week, etc.). Downstream A random-early drop type algorithm is used to enforce a Rate Limit rate limit. Upstream A random-early drop type algorithm is used to enforce a Rate Limit rate limit. Timed A random-early drop type algorithm is used to enforce a Downstream rate limit for configurable ranges of time. Rate Limit Timed A random-early drop type algorithm is used to enforce a Upstream rate limit for configurable ranges of time. Rate Limit
[0050] Controller
[0051] The controller 220 obtains traffic shaper control settings 126 to control operation of the traffic shaper 218. In some implementations, the control settings 126 are stored in the smart meter service 124 and are made available to the controller 220 when the control settings 126 change. This ensures that settings are not lost should the CPE router 110 have to be replaced. Alternatively, the control settings 126 could be stored in the controller 220 where the smart meter service 124 provides a conduit for the smart meter application 128 to view and modify those settings. In some implementations, usage data (provided by device, application, hour of the day, etc.) may be periodically passed to the smart meter service 124, which makes the data available to the smart meter application 128. The smart meter service may be able to adjust the frequency at which usage data is made available to the smart meter application 128.
[0052] Smart Meter Service
[0053] The smart meter service 124 may interact with multiple smart meters and controllers associated with different users. The smart meter application may allow an individual user to view and understand the individual user's network usage. The usage data is displayed in a fashion that helps the user understand what devices, applications and time of day are dominating the user's overall usage. Further, the smart meter service 124 together with the smart meter application (
[0054] In some implementations, the smart meter service 124 may maintain a database of usage for each site and a data base of control settings for each site which is synchronized with each site's operation. The smart meter service 124 may further maintain a recommendations database 132 with a set of alternative applications and devices where the alternative devices and applications have information about their relative usage of network resources. The smart meter service may evaluate a site's current device type and application usage and use the current device type and application usage to lookup a recommended alternative to a reported device type or application. The smart meter service 124 operates as an internet store front that facilitates the purchase or adoption of recommended alternative devices and applications. For example, where the smart determines that an application that uses a high amount of network resources it may consult the recommendations database 132 at the smart meter service 124 for alternative applications that are more efficient and optimized to use metered ISPs. The smart meter service 124 may present an alternative to the end-user with benefits of the alternative shown in terms of the amount of bandwidth savings or fraction of a metered WAN's usage limit that is saved or even the amount of money saved when the ISP's price structure is known. For example, the user interface may determine that a “example” application uses an exorbitant amount of network resources and offer the user to purchase an alternate application that is more efficient in its bandwidth use. For example, a video doorbell device or application may constantly upload photos to a web service that determines whether any activity is taking place. Such a doorbell's usage would be marked as exorbitant by the smart meter. The recommended alternative in the recommendations database would be a video doorbell with local processing that only uploads information to the Internet when the local processing indicates that something significant (like a person standing at the door) occurs. The recommended alternative could be shown to save a percentage of the bandwidth over the current application such as 50%, or save a fraction of the usage limit such as 2 percent of the user's monthly limit. The local processing drastically reduces the internet usage and thus becomes an alternative to be recommended. The smart meter service also provides a web interface 222 allowing an end-user to use a web browser, in addition to or instead the smart meter application 128, to interact with the smart meter service 124.
[0055] Smart Meter App
[0056] The smart meter application 128 may be an application running on a cell-phone, tablet, etc. that provides a user interface to the system 100 which includes the CPE router 110 with the smart meter 122. The combination of the Smart Meter service (124) with the Smart Meter application (128) allows an end-user to evaluate usage even when not connected to the user's local area network. The user interface may allow the user to have multiple views of a site's usage. For example, the user interface may show the heaviest usage by a device or application and then allow a user to drill down from a top-level view to see to usage by individual devices or individual applications (on all devices) and their usage over time. The user interface may also show usage of“applications per device” where the usage of each application on a particular device is shown. The smart meter application 128 may further allow the user to setup control settings for devices, device-types and applications. Further, the user interface of the smart meter application 128 may communicate with the smart meter service to provide the user with recommended alternatives to the devices and applications they are currently using as described above. The smart meter application 128 may also allow access to an internet storefront for purchasing those alternatives devices and applications.
[0057]
[0058]
[0059]
[0060]
[0061]
[0062] The router 800 may further include a read only memory (ROM) 808 or other static storage device coupled to the bus 802 for storing static information and instructions for the processor 804. A storage device 810, such as a flash or other non-volatile memory may be coupled to the bus 802 for storing information and instructions. The router 800 may also include a communication interface 812 coupled to a bus for two-way data communication coupling to a WAN 814 to provide data communication through one or more networks to other data devices. The router 800 may also include another communication interface 816 coupled to a bus for two-way data communication coupling to a LAN 818 to provide data communication through the LAN to other data devices such as LAN hosts 112 shown in
[0063]
[0064] The computer system 900 may include a bus 902 or other communication mechanism for communicating information, and a processor 904 coupled with the bus 902 for processing information. The computer system 900 may also include a main memory 906, such as a random-access memory (RAM) or other dynamic storage device, coupled to the bus 902 for storing information and executable instructions to be executed by the processor 904. The executable instructions can include instruction that, when executed by the processor 904, cause the processor to perform operations in accordance with the flow diagram of
[0065] The computer system 900 may further include a read only memory (ROM) 908 or other static storage device coupled to the bus 902 for storing static information and instructions for the processor 904. A storage device 910, such as a flash or other non-volatile memory may be coupled to the bus 902 for storing information and instructions.
[0066] The computer system 900 may be coupled via the bus 902 to a display 912, such as a liquid crystal display (LCD), for displaying information. One or more user input devices, such as the example user input device 914 may be coupled to the bus 902, and may be configured for receiving various user inputs, such as user command selections and communicating these to the processor 904, or to the main memory 906. The user input device 914 may include physical structure, or virtual implementation, or both, providing user input modes or options, for controlling, for example, a cursor, visible to a user through display 912 or through other techniques, and such modes or operations may include, for example virtual mouse, trackball, or cursor direction keys.
[0067] The computer system 900 may include respective resources of the processor 904 executing, in an overlapping or interleaved manner, respective program instructions. Instructions may be read into the main memory 906 from another machine-readable medium, such as the storage device 910. In some examples, hard-wired circuitry may be used in place of or in combination with software instructions. The term “machine-readable medium” as used herein refers to any medium that participates in providing data that causes a machine to operate in a specific fashion. Such a medium may take forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media may include, for example, optical or magnetic disks, such as storage device 910. Transmission media may include optical paths, or electrical or acoustic signal propagation paths, and may include acoustic or light waves, such as those generated during radio-wave and infra-red data communications, that are capable of carrying instructions detectable by a physical mechanism for input to a machine.
[0068] The computer system 900 may also include a communication interface 918 coupled to the bus 902, for two-way data communication coupling to a network link 920 connected to a local network 922. The network link 920 may provide data communication through one or more networks to other data devices. For example, the network link 920 may provide a connection through the local network 922 to a host computer 924 or to data equipment operated by an Internet Service Provider (ISP) 926 to access through the Internet 928 a server 930, for example, to obtain code for an application program.
[0069] While various embodiments have been described, the description is intended to be exemplary, rather than limiting, and it is understood that many more embodiments and implementations are possible that are within the scope of the embodiments. Although many possible combinations of features are shown in the accompanying figures and discussed in this detailed description, many other combinations of the disclosed features are possible. Any feature of any embodiment may be used in combination with or substituted for any other feature or element in any other embodiment unless specifically restricted. Therefore, it will be understood that any of the features shown and/or discussed in the present disclosure may be implemented together in any suitable combination. Accordingly, the embodiments are not to be restricted except in light of the attached claims and their equivalents. Also, various modifications and changes may be made within the scope of the attached claims.
[0070] While the foregoing has described what are considered to be the best mode and/or other examples, it is understood that various modifications may be made therein and that the subject matter disclosed herein may be implemented in various forms and examples, and that the teachings may be applied in numerous applications, only some of which have been described herein. It is intended by the following claims to claim any and all applications, modifications and variations that fall within the true scope of the present teachings.
[0071] Unless otherwise stated, all measurements, values, ratings, positions, magnitudes, sizes, and other specifications that are set forth in this specification, including in the claims that follow, are approximate, not exact. They are intended to have a reasonable range that is consistent with the functions to which they relate and with what is customary in the art to which they pertain.
[0072] The scope of protection is limited solely by the claims that now follow. That scope is intended and should be interpreted to be as broad as is consistent with the ordinary meaning of the language that is used in the claims when interpreted in light of this specification and the prosecution history that follows and to encompass all structural and functional equivalents. Notwithstanding, none of the claims are intended to embrace subject matter that fails to satisfy the requirement of Sections 101, 102, or 103 of the Patent Act, nor should they be interpreted in such a way. Any unintended embracement of such subject matter is hereby disclaimed.
[0073] Except as stated immediately above, nothing that has been stated or illustrated is intended or should be interpreted to cause a dedication of any component, step, feature, object, benefit, advantage, or equivalent to the public, regardless of whether it is or is not recited in the claims.
[0074] It will be understood that the terms and expressions used herein have the ordinary meaning as is accorded to such terms and expressions with respect to their corresponding respective areas of inquiry and study except where specific meanings have otherwise been set forth herein. Relational terms such as first and second and the like may be used solely to distinguish one entity or action from another without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by “a” or “an” does not, without further constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.