This disclosure relates to flow correction for back pressure regulated RFF flow modulators.
Gas chromatography (GC) is an analytical technique used to separate and detect the chemical components of a sample mixture to determine their presence or absence and/or quantities. Fill/flush flow modulators are commonly used in GC and typically operate by collecting an amount of gas in a modulator channel (fill) and then quickly dispersing the gas outside of the modulator channel (flush). A reverse fill/flush (RFF) flow modulator flushes the modulator channel in the inverse direction to the direction in which the modulator channel is filled.
One aspect of the disclosure provides a computer-implemented method for flow correction for back pressure regulated RFF flow modulators. The computer-implemented method is executed by data processing hardware that causes the data processing hardware to perform operations. With a reverse fill/flush (RFF) flow modulator in a calibration flow condition, the operations include directing initial switching flow into the RFF flow modulator in a first direction to an exhaust with pressure regulation and reducing the initial switching flow to a minimum switching flow where a pressure of the RFF flow modulator satisfies a regulation condition. The calibration flow condition includes a primary column flow into the RFF flow modulator from a primary column and a secondary column flow from the RFF flow modulator to a secondary column. The operations include determining an adjusted switching flow for the calibration flow condition. The operations further include determining a switching flow profile based on the adjusted switching flow for the calibration flow condition. With the RFF flow modulator in an operating flow condition different from the calibration flow condition, the operations include directing an operating switching flow in the first direction to the exhaust. The operating switching flow is determined based on the switching flow profile.
Implementations of the disclosure may include one or more of the following optional features. In some implementations, determining the switching flow profile is based on a plurality of adjusted switching flows determined for a plurality of calibration flow conditions. In further implementations, the plurality of calibration flow conditions includes at least a first calibration flow condition including a primary column flow and a first secondary column flow, and a second calibration flow condition including the primary column flow and a second secondary column flow different from the first secondary column flow. In even further implementations, the first secondary column flow includes a minimum flow for the secondary column, and the second secondary column flow includes a maximum flow for the secondary column. In other further implementations, the plurality of calibration flow conditions includes a plurality of different primary column flows and a plurality of different secondary column flows. In some examples, the calibration flow condition includes a stable temperature.
In some aspects, reducing the initial switching flow includes lowering the switching flow until the pressure of the RFF flow modulator is not regulated. Further, incrementally increasing the switching flow until the pressure of the RFF flow modulator satisfies the regulation condition at the minimum switching flow. In some implementations, the regulation condition includes a minimum exhaust flow at the exhaust. In some examples, the adjusted switching flow is based on the minimum switching flow, the primary column flow and a curtain flow.
The operations may further include determining a fill volume of the RFF flow modulator based on the operating switching flow and a fill time. And the operations may further include directing the operating switching flow in a second direction to the secondary column for a flush time. The flush time is determined based on the fill volume.
Another aspect of the disclosure provides a system. The system includes memory hardware storing instructions that, when executed on data processing hardware in communication with the memory hardware, cause the data processing hardware to perform operations. With a reverse fill/flush (RFF) flow modulator in a calibration flow condition, the operations include directing initial switching flow into the RFF flow modulator in a first direction to an exhaust with pressure regulation and reducing the initial switching flow to a minimum switching flow where a pressure of the RFF flow modulator satisfies a regulation condition. The calibration flow condition includes a primary column flow into the RFF flow modulator from a primary column and a secondary column flow from the RFF flow modulator to a secondary column. The operations include determining an adjusted switching flow for the calibration flow condition. The operations further include determining a switching flow profile based on the adjusted switching flow for the calibration flow condition. With the RFF flow modulator in an operating flow condition different from the calibration flow condition, the operations include directing an operating switching flow in the first direction to the exhaust. The operating switching flow is determined based on the switching flow profile. This aspect may include one or more of the following optional features.
In some implementations, determining the switching flow profile is based on a plurality of adjusted switching flows determined for a plurality of calibration flow conditions. In further implementations, the plurality of calibration flow conditions includes at least a first calibration flow condition including a primary column flow and a first secondary column flow, and a second calibration flow condition including the primary column flow and a second secondary column flow different from the first secondary column flow. In even further implementations, the first secondary column flow includes a minimum flow for the secondary column, and the second secondary column flow includes a maximum flow for the secondary column. In other further implementations, the plurality of calibration flow conditions includes a plurality of different primary column flows and a plurality of different secondary column flows. In some examples, the calibration flow condition includes a stable temperature.
In some aspects, reducing the initial switching flow includes lowering the switching flow until the pressure of the RFF flow modulator is not regulated. Further, incrementally increasing the switching flow until the pressure of the RFF flow modulator satisfies the regulation condition at the minimum switching flow. In some implementations, the regulation condition includes a minimum exhaust flow at the exhaust. In some examples, the adjusted switching flow is based on the minimum switching flow, the primary column flow and a curtain flow.
The operations may further include determining a fill volume of the RFF flow modulator based on the operating switching flow and a fill time. And the operations may further include directing the operating switching flow in a second direction to the secondary column for a flush time. The flush time is determined based on the fill volume.
The details of one or more implementations of the disclosure are set forth in the accompanying drawings and the description below. Other aspects, features, and advantages will be apparent from the description and drawings, and from the claims.
Like reference symbols in the various drawings indicate like elements.
Referring now to the drawings and the illustrated configurations depicted therein, a back pressure regulated reverse fill/flush (RFF) flow modulator 100 includes a primary column 102 that delivers a sample to the RFF flow modulator 100, a sample loop 104 that collects the sample during a fill operation of the RFF flow modulator 100 (
A first splitter or tee fitting 110 of the RFF flow modulator 100 fluidly connects to the primary column 102, the secondary column 106 and the sample loop 104. A second splitter or tee fitting 112 of the RFF flow modulator 100 fluidly connects to the primary column 102 and the sample loop 104 (via the first tee fitting 110), the secondary column 106 and the switching valve 109. A third splitter or tee fitting 114 of the RFF flow modulator 100 fluidly connects to the sample loop 104, the switching valve 109 and an exhaust tube or conduit 116 that provides back pressure regulation to the RFF flow modulator 100. A length of conduit 118 may extend between and space the first tee fitting 110 from the second tee fitting 112. Moreover, the PCM 108 may be configured to provide the switching flow (FSW) via the switching valve 109 to only one of the second tee fitting 112 and the third tee fitting 114 at a given time.
In the illustrated example of
During the fill operation (
Thus, during the fill operation, the curtain flow (FC) may be represented as:
As discussed further below, the fill operation minimizes the curtain flow (FC) to maximize the amount of sample present in the sample loop 104 while preventing primary column flow (F1) from flowing to the secondary column 106 and the fill operation minimizes the sample lost to the exhaust conduit 116 while maximizing the fill of the sample loop 104. This is accomplished by controlling the switching flow (FSW) and more specifically by controlling a time of the fill operation during which the switching flow (FSW) is directed to the second tee fitting 112.
In other words, the switching flow (FSW) feeds the secondary column 106 and supplies a small curtain flow (FC) that prevents the breakthrough of sample from the primary column 102 to the secondary column 106 by diffusion. The sample volume (volume between the third tee fitting 114 and the first tee fitting 110) must not be overfilled (lose sample) and the volume filled must be known in order to calculate how much to flush the sample volume. The fill volume (time) depends on the sum of the primary column flow (F1) and the curtain flow (FC) and the fill time. Calculation of an accurate fill volume (time) depends on accurate flows.
During the flush operation (
With flow into the RFF flow modulator 100 during the flush operation equal to flow out of the RFF modulator 100, the flow balance of the RFF flow modulator 100 may be represented as:
With back pressure regulation providing the exhaust flow (FEX), the flushing flow (FFLUSH) during the flush operation may be represented as:
In other words, during the flush operation, the switching flow (FSW) is switched from a Load state (where the switching valve 109 directs the switching flow (FSW) to the second tee fitting 112) to an Inject state (where the switching valve 109 directs the switching flow (FSW) to the third tee fitting 114). In the Inject state the switching flow (FSW) splits at the third tee fitting 114, with part (a smaller portion) of the switching flow (FSW) going to the exhaust conduit 116 and the majority of the switching flow (FSW) going through the sample loop 104 to flush the sample. At the first tee fitting 110, the flushing flow (FFLUSH) combines with the primary column flow (F1) to feed the secondary column 106 and provide the secondary column flow (F2). This flush or inject flow may be referred to as the flushing flow (FFLUSH) and is (F2−F1).
To accurately flush the filled volume, the flows must be accurately known. Two major results of inaccurate flush include that less than a near complete flush can result in sample loss and that over flushing can result in poor peak shapes due to sample from the primary column flow (F1) continuing to the secondary column 106 after the sample loop 104 has been flushed. Further, the time needed to perform the flush operation is minimized to allow for detection of defined peaks by the GC system while minimizing the occurrence of shoulders or tails in the detected peaks due to additional flow of sample to the GC. The time needed to perform the flush operation may be referred to as an injection time (TINJECT). As discussed further below, the injection time (TINJECT) is determined based on a load time of a fill operation (TLOAD) as accurate measurements of the flow rates and flow volumes during the fill operation and flush operation is impractical. Thus, determining accurate load times (TLOAD) and injection times (TINJECT) leads to more accurate peak detection at the downstream GC system. Where (PM) represents a modulation period equal to the total injection time (TINJECT) and load time (TLOAD) and (x) represents a flush factor, factor times fill volume, injection time (TINJECT) may be represented as:
(6)
The calculation of fill and flush timing of the RFF flow modulator 100 requires relatively accurate flow calculations. These calculations depend on the dimensions of the primary column 102 and the secondary column 106. The accuracy of the flow calculations for the columns is limited by the accuracy and precision of the dimensions of the columns. The lengths of columns can be accurately measured, but it is inconvenient and not generally done. Further, the internal diameter (ID) of the columns are only nominally known and vary within some manufacturing tolerance (which vary to a degree that actual flows can be approximately 10 percent higher or lower than the flow calculated based on nominal dimensions). The variance in the ID, in addition to the approximate column lengths, cause the variations in column flow to be as much as 20 percent higher or lower than calculated.
Known systems have deficiencies in the calculations for RFF flow modulators. For example, the flows for the primary column 102 and the secondary column 106 can be calculated using the Hagen-Poiseuille equation for capillary tubing; however, the calculations are based on nominal dimensions so the resulting calculated flows are somewhat inaccurate. These inaccuracies are enough to make it difficult, if not impossible, to calculate sufficiently accurate fill and flush volumes (times). Lengths of the columns can be measured precisely (although this is not easy), but generally they are not measured precisely (and there is a lack of motivation to measure the length of these columns in current systems). For example, the primary column 102 could be shorter or longer by a meter or two, while the shorter secondary column 106 (which is usually cut by the user) may be shorter or longer by ten or more centimeters. To expect a user to cut the columns with a precision of a few centimeters is not realistic and for general gas chromatography it is not required. In addition to the length the ID of the capillary also varies within some manufacturing tolerance. These tolerances vary with manufacturer and the ID, but all are approximately in a tolerance range of plus or minus 0.003 millimeters to 0.010 millimeters for columns having internal diameters of 0.100 millimeters to 0.320 millimeters. These variations are unknown and for general gas chromatography are not of concern; however, for fill and flush volumes (times) they can be significant. The table 600 in
For example, there is a significant impact of the error in the secondary column flow (F2) on the curtain flow (FC). A relatively small and normally acceptable error in the secondary column flow (F2) of 5 percent is 1 milliliter per minute for a secondary column flow (F2) of 20 milliliters per minute. However, this 1 milliliter per minute difference in the excess or insufficient flow from the switching flow (FSW) results in a very large change in the curtain flow (FC). Generally, a curtain flow of 0.2 milliliters per minute is sufficient. A 1 milliliter per minute decrease in the secondary column flow (F2) provides an additional 1 milliliter per minute flow to the curtain flow (FC), resulting in a fill volume (time) that is more than 100 percent in error relative to the nominal calculation. If the secondary column flow (F2) increases by 1 milliliter per minute, the additional flow above the nominal requires flow to come from the primary column 102 and the curtain flow (FC) goes to zero. This results in sample breakthrough. It also decreases the flow (FEX) to the exhaust conduit 116 which may then be insufficient and result in the back pressure regulation failing.
During the fill (load) operation, the fill of the sample loop 104 depends on the primary column flow (F1) and the curtain flow (FC) (the excess switching flow (FSW) that prevents sample breakthrough from the primary column 102 to the secondary column 106), while the flush depends on the switching flow (FSW) less the sum of the primary column flow (F1) and the curtain flow (FC). Fill and flush times based on inaccurate flows can result in poor quantification (less than full transfer or overfill resulting in sample lost out the exhaust conduit 116), sample break through, and poor peak shapes detected by the GC system. Variations in the large secondary column flow (F2) can have a significant effect on the curtain flow (FC) and thus the fill volume (time). For example, if the secondary column flow (F2) is lower than the nominally calculated flow, the curtain flow (FC) will be excessive and the fill volume greater than calculated as well as excessive dilution of the sample. If the secondary column flow (F2) is higher than the nominally calculated, the curtain flow (FC) will be too low (or even zero) and sample breakthrough to the secondary column 106 will occur during the fill period. Similarly, but less so, the variation of the primary column flow (F1) also impacts the fill and flush volumes. Thus, to compensate for variations in the column flows relative to calculated flows based on nominal column dimensions, the switching flow (FSW) is adjusted.
Known RFF flow modulators, which use a fixed capillary restrictor on the exhaust, require manual (user involved) adjustments to account for flow variations (due to dimensional variations in the columns and the restrictor) to provide relatively accurate fill and flush timing. Similarly, a known RFF flow modulator using back pressure regulation to control the exhaust flow requires adjustment of the switching flow (done manually by user) to account for inaccurate flows calculated based on nominal dimensions.
Implementations herein are directed to an automatic software controlled procedure (no user input required) that adjusts the switching flow (FSW) of the back pressure regulated RFF flow modulator 100 to account for dimensional variations in the primary column 102 and the secondary column 106 and variations in the minimum required exhaust flow (FEX) to provide a sufficiently accurate curtain flow (FC) and relatively accurate fill and flush timing. For example, the PCM 108 includes and/or is in communication with data processing hardware 510 (
At operation 406, the method 400 includes determining an adjusted switching flow (FSW) for the flow condition. For example, with the minimum switching flow (FSW) calibrated to the actual primary column flow (F1) of the flow condition and the actual secondary column flow (F2) of the flow condition, the adjusted switching flow (FSW) is determined based on the minimum switching flow (FSW), the primary column flow (F1) of the flow condition, the secondary column flow (F2) of the flow condition, and a desired minimum curtain flow (FC) such as about 0.2 milliliters per minute. Thus, at the flow condition, the adjusted switching flow (FSW) is configured to provide a minimum curtain flow (FC) for preventing sample breakthrough to the secondary column 106 while satisfying the pressure regulation condition and filling the sample loop 104 during a fill operation. At operation 408, the method 400 includes determining a switching flow profile based on the adjusted switching flow (FSW) for the flow condition. The switching flow profile is configured to be applicable to the RFF flow modulator 100 to provide adjusted switching flows (FSW) under various flow conditions.
Operations 402, 404 and 406 may be repeated as necessary to determine the switching flow profile. That is, these operations may be performed during a calibration procedure for the RFF flow modulator 100 so that the switching flow profile is based on a plurality of adjusted switching flows (FSW) determined for a plurality of flow conditions. In some examples, the switching flow profile is based on at least a first adjusted switching flow (FSW) for a first calibration flow condition and a second adjusted switching flow (FSW) for a second calibration flow condition. The first and second calibration flow conditions may include the same primary column flow (F1) into the RFF flow modulator 100 from the primary column 102 and different secondary column flows (F2) from the RFF flow modulator 100 to the secondary column 106, such as a minimum secondary column flow (F2) (e.g., about 20 milliliters per minute) and a maximum secondary column flow (F2) (e.g., about 30 milliliters per minute or more, about 35 milliliters per minute or more, and the like). In other words, the switching flow profile is based on a plurality of adjusted switching flows (FSW) corresponding to a plurality of calibration flow conditions and the plurality of flow conditions include a first calibration flow condition including a primary column flow (F1) and a first secondary column flow (F2) and a second calibration flow condition including the primary column flow (F1) and a second secondary column flow (F2) different from the first secondary column flow (F2). The calibration flow conditions may include a stable temperature at the RFF flow modulator 100.
In some examples, the switching flow profile includes a multi-factorial response surface. Thus, the switching flow profile is determined based on results from an array of calibration flow conditions that vary both the primary column flow (F1) and the secondary column flow (F2). That is, the switching flow profile is based on a plurality of calibration flow conditions having a plurality of different primary column flows (F1) and a plurality of different secondary column flows (F2). The plurality of calibration flow conditions thus includes at least a first adjusted switching flow (FSW) for a first calibration flow condition and a second adjusted switching flow (FSW) for a second calibration flow condition where the first calibration flow condition includes a first primary column flow (F1) and a first secondary column flow (F2) and the second calibration flow condition includes a different second primary column flow (F1) and a different second secondary column flow (F2).
Thus, with the switching flow profile or the multi-factorial response surface determined, the calibrated RFF flow modulator 100 may be operated to perform fill and flush operations with accurate fill and flush volumes or times. For example, at operation 410, the method 400 includes, with the RFF flow modulator 100 in an operating flow condition (e.g., different from the calibration flow condition), directing an operating switching flow (FSW) in the first direction to the exhaust conduit 116 to provide the curtain flow (FC) and fill the sample loop 104 where the switching flow (FSW) is determined based on the switching flow profile. At operation 412, the method 400 includes determining a fill volume of the RFF flow modulator 100 based on the operating switching flow (FSW) and a fill time of the fill operation and directing the operating switching flow (FSW) in a second direction to the secondary column 106. The flush operation switching flow (FSW) may be equal to the fill operation switching flow (FSW) and a flush time of the flush operation is determined based on the fill volume to completely and accurately flush the sample in the sample loop 104 to the secondary column 106.
In other words, an automatic procedure adjusts the switching flow (FSW) such that it provides the secondary column flow (F2) plus the small (approximately 0.2 milliliters per minute) curtain flow (FC). That is, the procedure adjusts the flow balance to account for the variation in flows from the nominal. The procedure may include setting the flow conditions to typical flow conditions at stable or consistent temperature conditions, increasing the nominally calculated switching flow (FSW) to some reasonable level to account for a possible high secondary column flow (F2), then automatically adjusting the switching flow (FSW) down until the pressure (PMOD) is no longer regulated and then back up to the point of just enough to pressure regulate. At this point the switching flow (FSW) plus the primary column flow (F1) may be just sufficient to feed the secondary column 106 and an amount of excess that goes to the exhaust conduit 116 which is sufficient for pressure regulation. The switching flow value (FSW) is then added to the primary column flow (F1) and the desired curtain flow (FC) (typically 0.2 milliliters per minute) for the new switching flow values (FSW). This may be done at the minimum secondary column flow (F2) allowed (such as about 20 milliliters per minute) and the maximum (such as about 30 to 35 milliliters per minute). A switching flow profile is established, such as a linear equation with a slope and offset, from these two points for the switching flow (FSW) determined at the sufficient regulation point at each flow condition. This slope and offset are used to determine the adjusted switching flow (FSW) at different secondary column flows (F2) which is then used to calculate the required switching flow (FSW) based on the primary column flow (F1) and curtain flow (FC). This approach assumes a small flow (such as about 0.2 milliliters per minute) is required at the exhaust conduit 116 for back pressure regulation. The required exhaust flow (FEX) may be unknown. Note the procedure can all be done under software control. This procedure may be performed when either or both of the primary column 102 and the secondary column 106 are changed and/or periodically over time. Optionally, when the primary column 102 and the secondary column 106 remain consistent between fill and flush operations, the calibration process may not need to be repeated.
Further, when the minimum flow to the exhaust conduit 116 is not small, or known, a more complex procedure can be done. For example, the adjusted switching flow (FSW) may be determined several times at different primary column flows (F1) and secondary column flow (F2). A two-level or three-level factorial of flows may be used. At each flow combination (factorial treatment) the calibration process may be performed to determine the adjusted switching flow (FSW). This switching flow (FSW) is then regressed against the nominally calculated flows used to create a response surface. The results of the regression are regression coefficients for the primary column flow (F1) and the secondary column flow (F2) that corrects the nominal flow to an actual flow relative to the flow value of the switching flow (FSW). These corrected flows can then be used to calculate an appropriate switching flow (FSW) for the desired primary column flow (F1) and the secondary column flow (F2) and curtain flow (FC) based on the flow balance equations. The constant of the regression is for the required minimum flow to back pressure regulate. If this flow is variable over the conditions tested, it may have to be included as a variable and additional treatments (conditions) added for it.
In other words, implementations provide for automatically adjusting the switching flow (FSW) of the back pressure regulated RFF flow modulator 100. These implementations do not require user input in the calibration of the RFF flow modulator 100. Further, implementations herein do not require precise measurements of columns and/or other minor restrictions within the RFF manifold. The “fill” procedure may be calculated based on a primary column flow (F1), a curtain flow (FC), a secondary column flow (F2), and a switching flow (FSW). In some implementations, variations in the secondary column flow (F2) can result in large variation in the curtain flow (FC) (and subsequently in the fill volume time). As described above, if the fill volume is not correct, the flush procedure will also be impacted. Thus, the switching flow (FSW) may be automatically adjusted to provide a proper curtain flow (FC). In some implementations, the switching flow (FSW) is set at a high level and then gradually reduced until the pressure (PMOD) does not regulate (called the zero point). At the zero point, the curtain flow (FC) may then be added to the switching flow (FSW).
The computing device 500 includes a processor 510, memory 520, a storage device 530, a high-speed interface/controller 540 connecting to the memory 520 and high-speed expansion ports 550, and a low speed interface/controller 560 connecting to a low speed bus 570 and a storage device 530. Each of the components 510, 520, 530, 540, 550, and 560, are interconnected using various busses, and may be mounted on a common motherboard or in other manners as appropriate. The processor 510 can process instructions for execution within the computing device 500, including instructions stored in the memory 520 or on the storage device 530 to display graphical information for a graphical user interface (GUI) on an external input/output device, such as display 580 coupled to high speed interface 540. In other implementations, multiple processors and/or multiple buses may be used, as appropriate, along with multiple memories and types of memory. Also, multiple computing devices 500 may be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system).
The memory 520 stores information non-transitorily within the computing device 500. The memory 520 may be a computer-readable medium, a volatile memory unit(s), or non-volatile memory unit(s). The non-transitory memory 520 may be physical devices used to store programs (e.g., sequences of instructions) or data (e.g., program state information) on a temporary or permanent basis for use by the computing device 500. Examples of non-volatile memory include, but are not limited to, flash memory and read-only memory (ROM)/programmable read-only memory (PROM)/erasable programmable read-only memory (EPROM)/electronically erasable programmable read-only memory (EEPROM) (e.g., typically used for firmware, such as boot programs). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PCM) as well as disks or tapes.
The storage device 530 is capable of providing mass storage for the computing device 500. In some implementations, the storage device 530 is a computer-readable medium. In various different implementations, the storage device 530 may be a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state memory device, or an array of devices, including devices in a storage area network or other configurations. In additional implementations, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable medium, such as the memory 520, the storage device 530, or memory on processor 510.
The high speed controller 540 manages bandwidth-intensive operations for the computing device 500, while the low speed controller 560 manages lower bandwidth-intensive operations. Such allocation of duties is exemplary only. In some implementations, the high-speed controller 540 is coupled to the memory 520, the display 580 (e.g., through a graphics processor or accelerator), and to the high-speed expansion ports 550, which may accept various expansion cards (not shown). In some implementations, the low-speed controller 560 is coupled to the storage device 530 and a low-speed expansion port 590. The low-speed expansion port 590, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), may be coupled to one or more input/output devices, such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter.
The computing device 500 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a standard server 500a or multiple times in a group of such servers 500a, as a laptop computer 500b, or as part of a rack server system 500c.
Various implementations of the systems and techniques described herein can be realized in digital electronic and/or optical circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the terms “machine-readable medium” and “computer-readable medium” refer to any computer program product, non-transitory computer readable medium, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.
A software application (i.e., a software resource) may refer to computer software that causes a computing device to perform a task. In some examples, a software application may be referred to as an “application,” an “app,” or a “program.” Example applications include, but are not limited to, system diagnostic applications, system management applications, system maintenance applications, word processing applications, spreadsheet applications, messaging applications, media streaming applications, social networking applications, and gaming applications.
The processes and logic flows described in this specification can be performed by one or more programmable processors, also referred to as data processing hardware, executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Computer readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, one or more aspects of the disclosure can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube), LCD (liquid crystal display) monitor, or touch screen for displaying information to the user and optionally a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's client device in response to requests received from the web browser.
A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosure. Accordingly, other implementations are within the scope of the following claims.
This U.S. patent application claims priority under 35 U.S.C. § 119 (e) to U.S. Provisional Application 63/587,553, filed on Oct. 3, 2023. The disclosure of this prior application is considered part of the disclosure of this application and is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63587553 | Oct 2023 | US |