The subject matter described herein relates in general to systems and methods for predicting conditions of a spot cooler, and, in particular, to predicting a level for a reservoir tank to alert a user about the level and prevent the spot cooler from shutting down from the occurrence of a full tank condition.
Cooling systems, such as spot coolers, may implement reservoir tanks for collecting condensation that results from cooling air in a room. When the reservoir tank of a spot cooler becomes full, a tank level sensor within the reservoir triggers and turns off the spot cooler. Accordingly, if the tank is not emptied on a routine basis or at least when the tank becomes full, then the spot cooler will be disabled and not perform the desired functioning of cooling a room within which it is disposed. In general, the full tank condition disables the spot cooler to avoid water overflowing from the spot cooler and damaging flooring or other parts of a room in which the spot cooler is located. Moreover, while the spot cooler may provide diagnostics to a remote monitoring system, the reported information is generally of a current sensed condition, such as the activation of the tank full sensor. As such, the spot cooler may become disabled and not provide cooling when the tank becomes full, leaving an associated room unconditioned.
Example systems and methods associated with improving the operation of a spot cooler by predicting operating conditions are disclosed. As previously noted, the spot cooler may disable itself when a reservoir tank for holding condensation becomes full. This can result in a space becoming unconditioned, especially if a user is not currently available to empty the reservoir.
Therefore, in one embodiment, a cooling system is disclosed that predicts a tank level of a spot cooler to improve use and avoid shutoffs from tank full conditions. The cooling system generates condensation at different rates depending on various factors, such as humidity, a set temperature, the frequency of air changes within a conditioned space, and so on. As one example, the spot cooler may generate additional condensation in a location with many people moving through a conditioned room due to additional moisture from the people and air exchanging with an external environment. By contrast, in a room that is closed and has a few people, the spot cooler would likely generate less condensation. Thus, depending on various aspects of the environment and operation of the spot cooler, the rate at which the reservoir fills is different.
As such, a user may empty the reservoir at different times to avoid the tank becoming full and shutting off. However, as may be expected, this can be a tedious task that can be difficult for the user to remember and anticipate, especially in a case where the traffic through a location may vary. In one approach, the present cooling system resolves these difficulties by training a model to predict an operating condition of the spot cooler. Depending on the particular implementation, the operating condition may vary but generally includes an indicator about a level of the reservoir tank. Thus, the cooling system may train the model to predict when the tank reaches a particular threshold (e.g., 80% full) so that the cooling system can provide an alert that the tank will soon be full, thereby providing a user adequate time to empty the reservoir before a shutoff due to a full tank. Additionally, or alternatively, the cooling system can train the model to predict an amount of time until the tank is full. In this case, the cooling system can provide a finer-grained prediction and inform the user so that the user can plan appropriately to empty the tank.
In any case, the spot cooler itself is arranged with various sensors to collect device data about operation of the cooler. The device data may include a GPS location, set temperature, room temperature, refrigerant pipe temperature, fan speed, fan duty, and/or other parameters about operation of the spot cooler. The spot cooler establishes a communication link (e.g., wireless) with the cooling system and communicates the device data periodically or aperiodically so that the cooling system can monitor the spot cooler. In addition to acquiring the identified elements of the device data, the cooling system may also acquire additional data. The cooling system may use information from the device data, such as the GPS location, to further inquire additional sources for the additional data that further informs the cooling system about the environment around the spot cooler and, thus, how the spot cooler may operate. In one example, the additional data includes information about population density, such as local population information, traffic volume, and so on. The additional data may additionally or alternatively include local weather data, such as outdoor temperatures, humidity, barometric pressures, etc. In general, the cooling system acquires information that facilitates characterizing operation of the spot cooler in order to generate a well-informed prediction.
Moreover, in at least one approach, the cooling system also establishes a communication link with a client application that executes on a device (e.g., a mobile device) of the user. The client application provides a mechanism for the user to interact with the cooling system and receive alerts and other information about how the spot cooler is functioning. As such, the cooling system uses the device data as an input to the model in order to predict the operating condition (e.g., whether a tank level is at the threshold value). From the prediction, the cooling system can provide an alert or other information to the client application in order to inform the user about the operating conditions. In this way, the cooling system is able to improve operation of the spot cooler by predicting the noted operating conditions and informing the user so that the user can better anticipate when and how to service the spot cooler to maintain continuous uninterrupted functioning.
In one embodiment, a cooling system for improving operation of a spot cooler by predicting an operating condition is disclosed. The cooling system includes one or more processors and a memory that is communicably coupled to the one or more processors. The memory stores a control module including instructions that when executed by the one or more processors cause the one or more processors to acquire, from at least the spot cooler, device data about operation of the spot cooler. The instructions include instructions to predict the operating condition of the spot cooler according to the device data using a model. The instructions include instructions to provide the operating condition.
In one embodiment, a non-transitory computer-readable medium for improving operation of a spot cooler by predicting an operating condition is disclosed. The computer-readable medium stores instructions that, when executed by one or more processors, cause the one or more processors to perform the disclosed functions. The instructions include instructions to acquire, from at least the spot cooler, device data about operation of the spot cooler. The instructions include instructions to predict the operating condition of the spot cooler according to the device data using a model. The instructions include instructions to provide the operating condition.
In one embodiment, a method of improving operation of a spot cooler by predicting an operating condition is disclosed. The method includes acquiring, from at least the spot cooler, device data about operation of the spot cooler. The method includes predicting the operating condition of the spot cooler according to the device data using a model. The method includes providing the operating condition.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate various systems, methods, and other embodiments of the disclosure. It will be appreciated that the illustrated element boundaries (e.g., boxes, groups of boxes, or other shapes) in the figures represent one embodiment of the boundaries. In some embodiments, one element may be designed as multiple elements or multiple elements may be designed as one element. In some embodiments, an element shown as an internal component of another element may be implemented as an external component and vice versa. Furthermore, elements may not be drawn to scale.
Systems, methods, and other embodiments associated with improving the operation of a spot cooler by predicting operating conditions are disclosed. As previously noted, the spot cooler may disable itself when a reservoir tank for holding condensation becomes full. This can result in a space becoming unconditioned especially if a user is not currently available to empty the reservoir.
Therefore, in one embodiment, a cooling system is disclosed that predicts a tank level of a spot cooler to improve use and avoid shutoffs from tank full conditions. The cooling system generates condensation at different rates depending on various factors, such as humidity, a set temperature, the frequency of air changes within a conditioned space, and so on. As one example, the spot cooler may generate additional condensation in a location with many people moving through a conditioned room due to additional moisture from the people and air exchanging with an external environment. By contrast, in a room that is closed and has a few people, the spot cooler would likely generate less condensation. Thus, depending on various aspects of the environment and operation of the spot cooler, the rate at which the reservoir fills is different.
As such, a user may empty the reservoir at different times to avoid the tank becoming full and shutting off. However, as may be expected, this can be a tedious task that can be difficult for the user to remember and anticipate, especially in a case where the traffic through a location may vary. In one approach, the present cooling system resolves these difficulties by training a model to predict an operating condition of the spot cooler. Depending on the particular implementation, the operating condition may vary but generally includes an indicator about a level of the reservoir tank. Thus, the cooling system may train the model to predict when the tank reaches a particular threshold (e.g., 80% full) so that the cooling system can provide an alert that the tank will soon be full, thereby providing a user adequate time to empty the reservoir before a shutoff due to a full tank. Additionally, or alternatively, the cooling system can train the model to predict an amount of time until the tank is full. In this case, the cooling system can provide a finer-grained prediction and inform the user so that the user can plan appropriately to empty the tank.
In any case, the spot cooler itself is arranged with various sensors to collect device data about operation of the cooler. The device data may include a GPS location, set temperature, room temperature, refrigerant pipe temperature, fan speed, fan duty, humidity, and/or other parameters about operation of the spot cooler. The spot cooler establishes a communication link (e.g., wireless) with the cooling system and communicates the device data periodically or a periodically so that the cooling system can monitor the spot cooler. In addition to acquiring the identified elements of the device data, the cooling system may also acquire additional data. The cooling system may use information from the device data, such as the GPS location, to further inquire additional sources for the additional data that further informs the cooling system about the environment around the spot cooler and, thus, how the spot cooler may operate. In one example, the additional data includes information about population density, such as local population information, traffic volume, and so on. The additional data may additionally or alternatively include local weather data, such as outdoor temperatures, humidity, barometric pressures, etc. In general, the cooling system acquires information that facilitates characterizing operation of the spot cooler in order to generate a well-informed prediction.
Moreover, in at least one approach, the cooling system also establishes a communication link with a client application that executes on a device (e.g., a mobile device) of the user. The client application provides a mechanism for the user to interact with the cooling system and receive alerts and other information about how the spot cooler is functioning. As such, the cooling system uses the device data as an input to the model in order to predict the operating condition (e.g., whether a tank level is at the threshold value). From the prediction, the cooling system can provide an alert or other information to the client application in order to inform the user about the operating conditions. In this way, the cooling system is able to improve operation of the spot cooler by predicting the noted operating conditions and informing the user so that the user can better anticipate when and how to service the spot cooler to maintain continuous, uninterrupted functioning.
Referring to
The cooling system 100 also includes various elements. It will be understood that, in various embodiments, it may not be necessary for the cooling system 100 to have all of the elements shown in
Additionally, it will be appreciated that for simplicity and clarity of illustration, where appropriate, reference numerals have been repeated among the different figures to indicate corresponding or analogous elements. In addition, the discussion outlines numerous specific details to provide a thorough understanding of the embodiments described herein. Those of skill in the art, however, will understand that the embodiments described herein may be practiced using various combinations of these elements.
In any case, the cooling system 100 is implemented to perform methods and other functions as disclosed herein relating to improving the operation of a spot cooler. The noted functions and methods will become more apparent with a further discussion of the figures. Furthermore, the cooling system 100 is shown as including a processor 110. Thus, in various implementations, the processor 110 may be a part of the cooling system 100, and/or the cooling system 100 may access the processor 110 through a data bus or another communication pathway. In either case, the processor 110 is an electronic device such as a microprocessor, an application-specific integrated circuit (ASIC), a microcontroller, or another processing component that is capable of executing machine-readable instructions to produce various electronic outputs therefrom that may be used to control or cause the control of other electronic devices, such as in support of predicting the operating conditions of the spot cooler.
In one embodiment, the cooling system 100 includes a memory 120 that stores a control module 130. The memory 120 is a random-access memory (RAM), read-only memory (ROM), a hard-disk drive, a flash memory, a cache memory, or another suitable memory for storing the module 130. The module 130 is, for example, computer-readable instructions that, when executed by the processor 110, cause the processor 110 to perform the various functions disclosed herein. In various embodiments, the control module 130 can be implemented in different forms that can include but are not limited to hardware logic, an ASIC, components of the processor 110, instructions embedded within an electronic memory, and so on.
With continued reference to the cooling system 100, in one embodiment, the cooling system 100 includes a data store 140. The data store 140 is, in one embodiment, an electronic data structure stored in a local memory of the cooling system 100, such as the memory 120, or another electronic storage medium and that may be configured with routines that can be executed by the processor 110 for analyzing stored data, providing stored data, querying/searching stored data, organizing stored data, and so on. Thus, in one embodiment, the data store 140 stores data used by the module 130 in executing various determinations. In one embodiment, the data store 140 stores sensor data 150. In further embodiments, the cooling system 100 stores a model 160.
The sensor data 150 is, in at least one approach, the device data about the spot cooler 170 that the cooling system 100 is monitoring. Accordingly, the spot cooler 170 itself generally includes sensors connected with a processing unit that function to collect information about the operation of the spot cooler 170 and provide the information in the form of the sensor data 150 to the cooling system 100. As one example, consider
The spot cooler 170 includes sensors of various types and in different locations to monitor different aspects of how the spot cooler 170 is operating. The sensor module 210 connects with the sensors and acquires device data from the sensors forming the sensor data 150 that may be stored locally within the spot cooler 170 in a memory. The communication module 220 functions according to one or more communication standards (e.g., LTE, WIFI, etc.) to communicate with the cooling system 100 within the cloud environment 200. The communication module 220 provides the sensor data 150, in one embodiment, at regular intervals to the cooling system 100. Of course, in further arrangements, the communication module 220 may provide the sensor data 150 at different intervals or according to different conditions. For example, the communication module 220 may provide the sensor data 150 at irregular/aperiodic intervals, according to activation of a threshold or condition (e.g., tank level full), and so on. Accordingly, the sensor data 150 acquired from the spot cooler 170 can include a tank full indicator, total time of cooling, cooling set temperature, room temperature, refrigerant piping temperature, fan speed, total hours on, fan indicated duty, fan rotation speed, a location (e.g., GPS location), and so on. In further arrangements, the sensor data 150 may include other information from sensors of the spot cooler 170, such as valve positions, fan mode, defrosting state, schedule information, and so on.
The cooling system 100 acquires the sensor data 150 and may determine additional information to include as part of the device data. For example, control module 130 may use part of the device data to inquire with a third-party source 230 for additional information. The third-party source 230 may be a weather service that provides real-time and forecasted weather data, a government or other informational source about traffic volume and/or population density, and so on. While various examples of the third-party source 230 are provided, it should be appreciated that the third-party source 230 may be any information source that is able to provide information relating to the environment around the spot cooler 170 or information that may influence operation of the spot cooler (e.g., local events).
With continued reference to
In further aspects, the model 160 provides a finer determination of the operating condition. For example, the model 160 may instead provide a predicted water level of the reservoir tank. In yet a further approach, the model 160 predicts a time until the tank is full, which may include a determination of a current level and a rate of filling that indicates a time remaining before full. The model 160 itself may take different forms depending on the particular implementation. In general, the model 160 is a machine-learning algorithm. As one example, the model 160 may be a regression model (e.g., a nonlinear regression model). In further approaches, model 160 is a random forest model, a recurrent neural network, or another learning model. In any case, in order to provide the particular output, the cooling system 100 or another system initially trains the model 160 using training data. The training data includes the data that the control module 130 normally inputs to the model 160 with the caveat of also including supervising information for performing supervised training. The supervising information is, for example, the ground-truth result, i.e., the known result. Thus, the control module 130, in at least one approach, can compare the predicted result with the supervising information in order to derive a loss, also referred to as a loss score, from which the model 160 is trained. One example of the training data can include historical data 240. The historical data 240 may be aggregated by the cooling system 100 for a multiplicity of different spot coolers. In order to function as the training data, the historical data 240 must also include the supervising information. Thus, the historical data 240 can be supplemented with additional data provided via, for example, manual measuring of the tank level, and/or added sensor-based measurements of the result. In any case, the cooling system 100 is configured to predict the operating conditions so that the functioning of the spot cooler 170 can be improved.
Continuing with the arrangement shown in
Additional aspects of improving operation of a spot cooler will be discussed in relation to
At 310, the control module 130 acquires device data (e.g., sensor data 150) about operation of the spot cooler 170. As previously outlined, the cooling system 100 is in communication with the spot cooler 170 via a communication link. The cooling system 100 receives the device data intermittently or periodically from the spot cooler 170 in order to monitor operation of the spot cooler 170. As one example, the device data can include a GPS location, a fan rotation speed, a fan indicated duty, total hours on, a fan speed, refrigerant piping temperature, room temperature, a cooling set temperature, a total time of cooling operation, a tank full status, and so on.
At 320, the control module 130, in one or more arrangements, further acquires additional data as part of the device data. The additional data is not acquired directly from the spot cooler 170 but is instead acquired from additional sources (e.g., remote third-party sources). In at least one approach, the additional data can be selected from weather information, historical usage information, traffic volume, population density information, and so on. Thus, the control module 130 may use a portion of the device data from the spot cooler 170 (e.g., a GPS location) to query the third-party source for the additional data. In general, the additional data further facilitates the cooling system 100 with characterizing an operating environment of the spot cooler 170. As such, the additional data can characterize local weather, and/or traffic through a space in which the spot cooler 170 is operating. For example, by having knowledge of the population density in an area, the cooling system 100 can further account for the frequency of air exchanges within a room, which directly influences an extent to which the spot cooler 170 may run. That is, if the spot cooler 170 is, for example, in use within a retail space and the location has a high population density, then the inference is that the load on the spot cooler 170 will be higher because of the greater frequency of pedestrian traffic through the space. Through acquisition of this information, the cooling system 100 is better able to characterize the operation of the spot cooler 170.
At 330, the control module 130 pre-processes the device data. In one arrangement, the control module 130 filters and/or prepares the device data for processing. For example, the control module 330 may normalize the device data, filter aberrations from the device data, and otherwise prepare the device data for processing by the model 160. In one approach, filtering the aberrations may include identifying usage irregularities within the device data. The usage irregularities may include irregular shutoffs, frequent changes in settings, and so on. In one approach, the control module 130 identifies the irregularities when the spot cooler 170 exhibits irregular usage according to a variance in times between a tank level indicating full. When these irregularities exist, learning the operating characteristics can be difficult because of the lack of consistency in how the spot cooler 170 is used.
At 340, the control module 130 predicts the operating condition of the spot cooler 170. The control module 130 applies the model 160 to the device data, which outputs a determination of the operating condition. The operating condition that is inferred by the model 160 depends on the training of the model 160. For example, in one approach, the model 160 predicts a binary determination of whether a tank level of a reservoir in the spot cooler 170 has reached a threshold value (e.g., 80%) that is less than full. In a further approach, the control module 130 predicts when a tank level of a reservoir in the spot cooler will reach full. Thus, depending on the implementation of the model 160, the particular output may vary. However, in either case, the operating condition output by the model 160 relates to continued operation of the spot cooler 170 by avoiding conditions that cause the spot cooler 170 to shutdown, such as a tank full condition that activates a shutoff switch on the spot cooler 170.
In general, the model 160 learns characteristics of how the spot cooler 170 operates in order to provide the inference about the operating condition. For example, the model 160, in an abstract form, learns about the load on the spot cooler 170 according to the values of the device data. That is, the device data broadly characterizes the operation of the spot cooler 170, and the model 160 learns the patterns within the device data that correlate to the operating condition. Moreover, the model 160 can further learn additional correlations by including the additional device data about a population density of a location of the spot cooler 170, the weather in an environment of the spot cooler 170, and so on. In this way, the control module 130 is able to analyze the device data to infer the operating condition.
At 350, the control module 130 provides the operating condition. The way in which the control module 130 provides the operating condition may vary depending on the particular implementation. For example, in one approach, the control module 130 provides a positive determination (e.g., a binary output indicating the tank level is at the 80% threshold) to the client application as an alert. It should be appreciated that while an 80% threshold is described, the threshold may vary in other implementations. In a further example, the control module 130 provides the current condition as an alert as to when the tank will be full. Thus, the form of the communication may vary depending on the urgency of the tank full timing. The control module 130 may escalate the alert by varying the form in which the alert is delivered, e.g., by increasing a frequency of the alert, increasing an audible tone, etc.
In still further examples, the control module 130 may control the spot cooler 170 to deliver an alert about the operating condition. For example, the control module 130 may activate an audible tone that is output by the spot cooler 170, rendering a message on a display of the spot cooler 170, adjusting settings of the spot cooler 170 to extend a time of operation, and so on. In a similar fashion, the control module 130 may also provide a communication about irregular usage to a user via the spot cooler 170 displaying a message or through a communication to the client application. In any case, by providing the operating condition in this way, the cooling system 100 is able to improve operation of the spot cooler 170 and avoid unnecessary shutdowns from a tank full condition.
Additional aspects of operation of the cooling system 100 will be discussed in relation to
At 410, the control module 130 acquires training data for training the model 160. The training data is generally the same as the device data that is input to the model 160 except that the training data is annotated. The annotations are the supervising signal that the control module 130 uses to judge whether the output of the model 160 is accurate or not. Accordingly, the annotations may be manual labeling of historical data or automated by the inclusion of an additional sensor (e.g., a tank level sensor) for purposes of training, which is not available in the spot cooler 170 during normal use. The method further includes predicting the operating condition, at 340, which is generally the same operations as in method 300. Thus, discussion of these steps is omitted for purposes of brevity. Moreover, for each separate batch for which the control module 130 trains the model 160, the control module 130 may perform additional functions not explicitly shown in
At 420, the control module 130 uses the output from the model and the supervising signal from the training data to determine a loss, which may also be referred to as a loss score. The control module 130 uses, in at least one arrangement, a loss function that is designed to compare the outputs and determine an extent of correlation therebetween. The loss characterizes how close the output of the model 160 is to the ground-truth data from the supervising signal within the training data.
At 430, the control module 130 updates the model 160. The control module 130 uses the loss to propagate changes into nodal weights of the model 160 so that the model 160 can learn the correlations between the device data and the operating conditions and subsequently accurately infer the operating condition. In this way, the control module 130 trains the model. At 440, the control module 130 may determine whether the model 160 is sufficiently trained. If so, then the method 400 ends. Otherwise, the method 400 continues by updating and repeating. In general, the control module 130 trains the model 160 in a batch process. The batch process may include a defined amount of training data over which the model 160 iterates until complete. In a further example, the control module 130 may train the model 160 until the loss reaches a defined threshold variance or the loss stabilizes over a defined number of iterations.
As a further explanation of the training process, briefly consider
Additionally, it should be appreciated that the cooling system 100 from
In another embodiment, the described methods and/or their equivalents may be implemented with computer-executable instructions. Thus, in one embodiment, a non-transitory computer-readable medium is configured with stored computer-executable instructions that, when executed by a machine (e.g., processor, controller, and so on) cause the machine (and/or associated components), perform the method.
While for purposes of simplicity of explanation, the illustrated methodologies in the figures are shown and described as a series of blocks, it is to be appreciated that the methodologies are not limited by the order of the blocks, as some blocks can occur in different orders and/or concurrently with other blocks from that shown and described. Moreover, less than all the illustrated blocks may be used to implement an example methodology. Blocks may be combined or separated into multiple components. Furthermore, additional and/or alternative methodologies can employ additional blocks that are not illustrated.
The cooling system 100 can include one or more memory controllers. In one or more arrangements, as previously indicated, the memory controller can be an a microprocessor. The cooling system 100 can include one or more data stores for storing one or more types of data. The data stores can include volatile and/or non-volatile memory. Examples of suitable data stores include RAM (Random Access Memory), flash memory, ROM (Read Only Memory), PROM (Programmable Read-Only Memory), EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), registers, magnetic disks, optical disks, hard drives, distributed memories, cloud-based memories, other storage medium that are suitable for storing the disclosed data, or any combination thereof. The data stores can be a component of the processor 110, or the data store can be operatively connected to the memory controller processor 110 for use thereby. The term “operatively connected,” as used throughout this description, can include direct or indirect connections, including connections without direct physical contact.
Detailed embodiments are disclosed herein. However, it is to be understood that the disclosed embodiments are intended only as examples. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the aspects herein in virtually any appropriately detailed structure. Further, the terms and phrases used herein are not intended to be limiting but rather to provide an understandable description of possible implementations. Various embodiments are shown in
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
The systems, components and/or processes described above can be realized in hardware or a combination of hardware and software and can be realized in a centralized fashion in one system or in a distributed fashion where different elements are spread across several interconnected systems. A combination of hardware and software can be a system with computer-usable program code that, when being loaded and executed, controls the processing system such that it carries out the methods described herein. The systems, components and/or processes also can be embedded in a computer-readable storage, such as a computer program product or other data programs storage device, readable by a machine, tangibly embodying a program of instructions executable by the machine to perform methods and processes described herein. These elements also can be embedded in an application product which comprises all the features enabling the implementation of the methods described herein and, which when loaded in a processing system, is able to carry out these methods.
Furthermore, arrangements described herein may take the form of a computer program product embodied in one or more computer-readable media having computer-readable program code embodied, e.g., stored, thereon. Any combination of one or more computer-readable media may be utilized. The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. The phrase “computer-readable storage medium” means a non-transitory storage medium. A computer-readable medium may take forms, including, but not limited to, non-volatile media, and volatile media. Non-volatile media may include, for example, optical disks, magnetic disks, and so on. Volatile media may include, for example, semiconductor memories, dynamic memory, and so on. Examples of such a computer-readable medium may include, but are not limited to, a floppy disk, a flexible disk, a hard disk, a magnetic tape, other magnetic medium, an ASIC, a CD, other optical medium, a RAM, a ROM, a memory chip or card, a memory stick, and other media from which a computer, a processor or other electronic device can read. In the context of this document, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The following includes definitions of selected terms employed herein. The definitions include various examples and/or forms of components that fall within the scope of a term, and that may be used for various implementations. The examples are not intended to be limiting. Both singular and plural forms of terms may be within the definitions.
References to “one embodiment,” “an embodiment,” “one example,” “an example,” “an arrangement,” “one arrangement,” “one aspect,” and so on, indicate that the embodiment(s), example(s), arrangement(s), aspect(s), and so on so described may include a particular feature, structure, characteristic, property, element, or limitation, but that not every embodiment, example, arrangement, or aspect, necessarily includes that particular feature, structure, characteristic, property, element or limitation. Furthermore, repeated use of the phrase “in one embodiment” does not necessarily refer to the same embodiment, though it may.
“Module,” as used herein, includes a computer or electrical hardware component(s), firmware, a non-transitory computer-readable medium that stores instructions, and/or combinations of these components configured to perform a function(s) or an action(s), and/or to cause a function or action from another logic, method, and/or system. Module may include a microprocessor controlled by an algorithm, a discrete logic (e.g., ASIC), an analog circuit, a digital circuit, a programmed logic device, a memory device including instructions that when executed perform an algorithm, and so on. A module, in one or more embodiments, includes one or more CMOS gates, combinations of gates, or other circuit components. Where multiple modules are described, one or more embodiments include incorporating the multiple modules into one physical module component. Similarly, where a single module is described, one or more embodiments distribute the single module between multiple physical components.
Additionally, module, as used herein, includes routines, programs, objects, components, data structures, and so on that perform particular tasks or implement particular data types. In further aspects, a memory generally stores the noted modules. The memory associated with a module may be a buffer or cache embedded within a processor, a RAM, a ROM, a flash memory, or another suitable electronic storage medium. In still further aspects, a module as envisioned by the present disclosure is implemented as an application-specific integrated circuit (ASIC), a hardware component of a system on a chip (SoC), as a programmable logic array (PLA), or as another suitable hardware component that is embedded with a defined configuration set (e.g., instructions) for performing the disclosed functions.
Program code embodied on a computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber, cable, RF, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the present arrangements may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java™ Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
The terms “a” and “an,” as used herein, are defined as one or more than one. The term “plurality,” as used herein, is defined as two or more than two. The term “another,” as used herein, is defined as at least a second or more. The terms “including” and/or “having,” as used herein, are defined as comprising (i.e., open language). The phrase “at least one of . . . and . . . ” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. As an example, the phrase “at least one of A, B, and C” includes A only, B only, C only, or any combination thereof (e.g., AB, AC, BC, or ABC).
Aspects herein can be embodied in other forms without departing from the spirit or essential attributes thereof. Accordingly, reference should be made to the following claims, rather than to the foregoing specification, as indicating the scope hereof.
This application claims benefit of U.S. Provisional Application No. 63/492,264, filed on, Mar. 27, 2023, which is herein incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63492264 | Mar 2023 | US |