QUALITY ASSURANCE SYSTEM FOR BURIED ASSET DETECTION DATA
20220334285 · 2022-10-20
Inventors
Cpc classification
G06F16/215
PHYSICS
International classification
G01V3/08
PHYSICS
Abstract
A method and system for ensuring quality of buried asset detection data over a communications network includes a server for receiving buried asset detection data from an electromagnetic locator device (ELD), evaluating a quality of the buried asset detection data and responsive to determining that the quality of the buried asset detection data meets a predefined threshold, transmitting an approval signal to the ELD. Responsive to determining that the quality of the buried asset detection data does not meets the predefined threshold, transmitting a rejection signal to the ELD and closing access for receiving buried asset detection data from the ELD for other sites. The ELD for collecting buried asset detection data at a site, transmitting the buried asset detection data to the server, and receiving signals from the server.
Claims
1. A system for ensuring quality of buried asset detection data over a communications network, the system comprising: a server communicably coupled with a communications network, the server including a processor configured for: a) receiving buried asset detection data from an electromagnetic locator device (ELD) over the communications network; b) evaluating a quality of the buried asset detection data; c) responsive to determining that the quality of the buried asset detection data meets a predefined threshold, transmitting an approval signal over the communications network to the ELD, wherein the approval signal indicates the quality of the buried asset detection data meets the predefined threshold, and opening access for receiving additional buried asset detection data from the ELD; d) responsive to determining that the quality of the buried asset detection data does not meet the predefined threshold, transmitting a rejection signal over the communications network to the ELD, wherein the rejection signal indicates the quality of the buried asset detection data does not meet the predefined threshold, and closing access for receiving buried asset detection data from the ELD for other sites; the ELD communicably coupled with the communications network, the ELD including a processor configured for: a) collecting a first set of buried asset detection data at a site; b) transmitting the first set of buried asset detection data to the server over the communications network; c) wherein if the first buried asset detection data meets the predefined threshold, receiving from the server, over the communications network, the approval signal; and d) wherein if the first buried asset detection data does not the predefined threshold, receiving from the server, over the communications network, the rejection signal.
2. The system of claim 1, wherein the step of receiving buried asset detection data further comprises receiving buried asset detection data comprising at least depth data, depth measurement data, electromagnetic signal measurement data, direction data and orientation data.
3. The system of claim 2, wherein the step of receiving buried asset detection data further comprises receiving buried asset detection data further comprising at least motion data of the ELD, electromagnetic data from the ELD, a mode of the ELD, and position data of the ELD.
4. The system of claim 3, wherein the step of evaluating a quality of the buried asset detection data further comprises: reading the buried asset detection data; calculating a plurality of component values of a performance record based on the buried asset detection data; accessing a lookup table, and reading a performance measurement that corresponds with each one of said plurality of component values of the performance record, so as to read a plurality of performance measurements; and comparing the plurality of performance measurements to a set of predefined thresholds to determine if said plurality of performance measurements meet or exceed the set of predefined thresholds.
5. The system of claim 4, wherein the step of receiving from the server the rejection signal further comprises disabling functionality for transmitting buried asset detection data to the server over the communications network.
6. The system of claim 1, further comprising: responsive to receiving from the server the rejection signal, displaying a prompt to the user indicating that the user should repeat a buried asset detection procedure.
7. The system of claim 6, further comprising: the ELD collecting a second set of buried asset detection data at the site; and the ELD transmitting the second set of buried asset detection data to the server over the communications network.
8. The system of claim 7, further comprising: the server receiving the second set of buried asset detection data from the ELD over the communications network; the server evaluating a quality of the second set of buried asset detection data; responsive to determining that the quality of the second set of buried asset detection data meets the predefined threshold, the server transmitting the approval signal over the communications network to the ELD, wherein the approval signal indicates the quality of the second set of buried asset detection data meets the predefined threshold, and opening access for receiving additional buried asset detection data from the ELD.
9. The system of claim 8, further comprising: the ELD receiving from the server, over the communications network, the approval signal.
10. The system of claim 8, further comprising: responsive to receiving from the server the approval signal, displaying a message to the user indicating that the second set of buried asset detection data meets the predefined threshold. a database communicably coupled with the server, the database configured for storing the buried asset detection data and the quality of the buried asset detection data;
11. A system for ensuring quality of buried asset detection data over a communications network, the system comprising: a server communicably coupled with a communications network, the server including a processor configured for: a) receiving buried asset detection data from an electromagnetic locator device (ELD) over the communications network; b) evaluating a quality of the buried asset detection data; c) responsive to determining that the quality of the buried asset detection data meets a predefined threshold, transmitting an approval signal over the communications network to the ELD, wherein the approval signal indicates the quality of the buried asset detection data meets the predefined threshold, and opening access for receiving additional buried asset detection data from the ELD; d) responsive to determining that the quality of the buried asset detection data does not meet the predefined threshold, transmitting a rejection signal over the communications network to the ELD, wherein the rejection signal indicates the quality of the buried asset detection data does not meet the predefined threshold, and closing access for receiving buried asset detection data from the ELD for other sites; the ELD communicably coupled with the communications network, the ELD including a processor configured for: a) collecting a first set of buried asset detection data at a site; b) transmitting the first set of buried asset detection data to the server over the communications network; c) wherein if the first buried asset detection data meets the predefined threshold, receiving from the server, over the communications network, the approval signal; and e) wherein if the first buried asset detection data does not the predefined threshold, receiving from the server, over the communications network, the rejection signal.
12. The system of claim 11, wherein the step of receiving buried asset detection data further comprises receiving buried asset detection data comprising at least depth data, depth measurement data, electromagnetic signal measurement data, direction data and orientation data.
13. The system of claim 12, wherein the step of receiving buried asset detection data further comprises receiving buried asset detection data further comprising at least motion data of the ELD, electromagnetic data from the ELD, a mode of the ELD, and position data of the ELD.
14. The system of claim 13, wherein the step of evaluating a quality of the buried asset detection data further comprises: reading the buried asset detection data; calculating a plurality of component values of a performance record based on the buried asset detection data; accessing a lookup table, and reading a performance measurement that corresponds with each one of said plurality of component values of the performance record, so as to read a plurality of performance measurements; and comparing the plurality of performance measurements to a set of predefined thresholds to determine if said plurality of performance measurements meet or exceed the set of predefined thresholds.
15. The system of claim 14, wherein the step of receiving from the server the rejection signal further comprises disabling functionality for transmitting buried asset detection data to the server over the communications network.
16. The system of claim 11, further comprising: responsive to receiving from the server the rejection signal, displaying a prompt to the user indicating that the user should repeat a buried asset detection procedure.
17. The system of claim 16, further comprising: the ELD collecting a second set of buried asset detection data at the site; and the ELD transmitting the second set of buried asset detection data to the server over the communications network.
18. The system of claim 17, further comprising: the server receiving the second set of buried asset detection data from the ELD over the communications network; the server evaluating a quality of the second set of buried asset detection data; responsive to determining that the quality of the second set of buried asset detection data meets the predefined threshold, the server transmitting the approval signal over the communications network to the ELD, wherein the approval signal indicates the quality of the second set of buried asset detection data meets the predefined threshold, and opening access for receiving additional buried asset detection data from the ELD.
19. The system of claim 18, further comprising: the ELD receiving from the server, over the communications network, the approval signal.
20. The system of claim 18, further comprising: responsive to receiving from the server the approval signal, displaying a message to the user indicating that the second set of buried asset detection data meets the predefined threshold.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various example embodiments. In the drawings:
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
DETAILED DESCRIPTION
[0020] The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar elements. While embodiments may be described, modifications, adaptations, and other implementations are possible. For example, substitutions, additions, or modifications may be made to the elements illustrated in the drawings, and the methods described herein may be modified by substituting, reordering, or adding stages to the disclosed methods. Accordingly, the following detailed description does not limit the claimed subject matter. Instead, the proper scope of the claimed subject matter is defined by the appended claims.
[0021] The claimed subject matter improves over the prior art by providing a quality assurance system that results in field technicians increasing the quality of their buried asset locate procedures and, by extension, the resulting buried asset detection data. The claimed subject matter reduces or eliminates the requirement that a field technician must return to a site to redo a procedure, because the system provides a quality reading immediately while the field technician is still on-site, thereby allowing the technician to redo the procedure instantly. The claimed subject matter also reduces or eliminates poor quality buried asset detection data, as field technicians are notified of the quality of their data while still onsite, which allow the technician to remedy the situation by conducting a better-quality buried asset detection procedure. Also, the claimed quality assurance system is advantageous because it results in accurate and precise buried asset detection data, thereby reducing or eliminating inadvertent damage to buried assets during excavation, including incursions, which can be expensive, and time consuming to fix or replace.
[0022] The claimed subject matter also improves over the prior art by providing a more efficient, automated, and precise way of measuring the performance of a field technician during a buried asset locate procedure for quality control and quality assurance purposes and provide quick feedback on said quality to the technician while he is still on-site. Additionally, the example embodiments accommodate the high workload of field technicians and aids the technician in completing a high number of buried asset detection procedures each day. This is advantageous for smaller businesses.
[0023]
[0024] In one embodiment, the ELD 101 is a handheld cable locator well known in the art, wherein the cable locator includes a series of electromagnetic antennas that take electromagnetic readings emanating from a buried asset, and wherein the cable locator processes said readings, and then displays information about said readings on a display for the technician to view. In another embodiment, the ELD 101 also calculates the current position, or local position, and orientation of the ELD 101 in the local area or the site.
[0025] Computing system 102 includes a software engine that delivers applications, data, program code and other information to networked devices, such as ELD 101. The software engine of computing system 102 may perform other processes such as transferring multimedia data in a stream of packets that are interpreted and rendered by a software application as the packets arrive.
[0026] Computing system 102 and ELD 101 may each include program logic comprising computer source code, scripting language code or interpreted language code that perform various functions of the disclosed embodiments. In one embodiment, the aforementioned program logic may comprise program module 607 in
[0027] In one embodiment, the computing system 102 includes the functionality of an 811 ticket system. Said system includes a ticket system, also known as an issue tracking system, which is a computer software platform that manages and maintains lists of work order requests (i.e., tickets) for conducting buried asset detection procedures at sites where excavations are to take place. Tickets are completed in sequence by a technician 110. For example, a technician may receive two tickets, wherein each ticket represents a buried asset detection procedure that must be completed at a unique site. The technician may open the first ticket, complete the buried asset detection procedure at the first site, and then close the first ticket. Subsequent to closing the first ticket, the technician opens the second ticket, completes the buried asset detection procedure at the second site, and then closes the second ticket.
[0028] System 100 may be used when device 101 engages in buried asset detection activities that comprise reading, generating, and storing buried asset data and related information. Various types of data may be stored in the database 104 and devices 101, 102 with relation to buried asset detection activities. For example, the database 104 (or devices 102 and ELD 101) may store one or more records for each buried asset, and each record may include one or more buried asset data points. A buried asset data point may include a current time, a textual map address, and location data or position data, such as latitude and longitude coordinates, geographical coordinates, an altitude coordinate, or the like. A buried asset data point may also include depth measurement data, electromagnetic signal measurement data (such as electrical current measurement data, resistance measurement data, impedance measurement data, electrical signal magnitude measurement data, electrical signal frequency measurement data, electrical signal voltage measurement data, etc.), direction data and orientation data. Each record may include data for one buried asset data point.
[0029] Database 104 may also store buried asset detection data comprising at least depth data, depth measurement data, electromagnetic signal measurement data, direction data, orientation data and any data associated with a buried asset data point. Buried asset detection data may further comprise motion data of the ELD, electromagnetic data from the ELD, a mode of the ELD, position data of the ELD, and any other data associated with quality, as described more fully below.
[0030] Database 104 may also include a plurality of locate performance records. A locate performance record comprises real time sensor and data fusion derived from multiple sensors and inputs that enable inertial motion capture, electromagnetic locate signal analysis, position data, and mode configuration data, among other things. Database 104 may include one or more a lookup tables that define a correspondence between each one of a plurality of component values of a performance record and one of a plurality of performance measurements of a buried asset location procedure performed by a field technician. Said lookup tables may represent industry standards for buried asset location procedure and technique. I.e., said lookup tables may represent a benchmark against which a locate technician's performance can be compared. A performance measurement may be a graduating or continuous numerical scale, such as from 1 to 10, wherein 1 is considered low performance and 10 is considered excellent performance. A performance measurement may also be a set of words, for example, wherein the word BAD is considered low performance and the word GOOD is considered excellent performance. Note that in this description, any of the data described as stored in database 104 may also be stored in device 101.
[0031] The ELD 101 may also include a switch which may be a hardware switch (also described below), which is an electrical component that can disconnect or connect the conducting path in an electrical circuit, diverting it from one conductor to another. The switch may be an electromechanical device consisting of one or more sets of movable electrical contacts connected to external circuits. When a pair of contacts is touching current can pass between them, while when the contacts are separated no current can flow. The hardware switch may switch or divert the conducting path of the electromagnetic antennas of the ELD 101. Alternatively, the switch may be software enabled, in the sense that the switch may be implemented in software, such that software may control the conducting path of the electromagnetic antennas of the ELD 101. In this alternative, the software enabled switch may be activated or deactivated by the processor on the ELD 101.
[0032] The method and system of the claimed embodiments will now be described with reference to
[0033] Process 300 starts in earnest with step 302, wherein the technician identifies a general location (or site) of the target buried asset 130, travels to said site, and opens a ticket in the ticket system for the buried asset location procedure he will conduct in step 304. In step 304, ELD 101 calculates and stores its orientation and position data. The ELD 101 also calculates and stores the strength, magnitude, and frequency of the electromagnetic field 140 emanating from the target buried asset 130.
[0034] In step 304, the technician 110 performs a buried asset location procedure using his ELD 101. The ELD 101 generates buried asset detection data and/or buried asset data points 206. Upon generating the buried asset data points, the technician may place physical or virtual markings on the ground corresponding to each point, such as a flag, a paint mark, or a combination of the two. In step 304, the ELD 101 may also produce quality data 208 such as motion data of the ELD, electromagnetic data from the ELD, a mode of the ELD, position data of the ELD, and any other data associated with quality, as described more fully below. The quality data 208 may also include data related to the peak or null readings or points read by the ELD 101, as well as the mode of operation of the ELD 101.
[0035] Data 206, 208 may include the following raw data produced by the ELD as a result of performance of the buried asset location procedure by the field technician 110: 1) motion data from an accelerometer and a gyroscope in the ELD, and wherein said motion data includes motion in three dimensions, and wherein said motion data is produced as a result of movement of the ELD by the field technician during performance of the buried asset location procedure (may also be garnered from rotation or tilt sensor), 2) electromagnetic data from one or more electromagnetic sensors in the ELD, wherein said electromagnetic data includes current and depth measurements, as well as device gain and full scale deflection data, and wherein said electromagnetic data is produced as a result of movement of the ELD by the field technician during performance of the buried asset location procedure, 3) a mode of the ELD, wherein the mode includes a frequency mode of the ELD, and wherein the mode is set by the field technician during performance of the buried asset location procedure, and 4) position data of the ELD in area or site.
[0036] Motion data may include the detection and logging of various vectors in all degrees of motion, velocity, and acceleration of the ELD. Electromagnetic data may include electrical current measurement data, resistance measurement data, impedance measurement data, electrical signal magnitude measurement data, electrical signal frequency measurement data, electrical signal voltage measurement data, etc. The electromagnetic data produced by the ELD may be displayed in the ELD, wherein motion data (leading up to the logging of the electromagnetic data) from the accelerometer and gyroscope in the ELD is stored, such that said motion data may be evaluated to determine proper performance and procedure of the buried asset location procedure leading up to the logging of the electromagnetic data.
[0037] A mode of the ELD may include any one of a variety of modes (that are well-known in the art) in which a locator device may be placed. With regard to mode of the ELD, each ELD has various modes that the field technician selects depending on type of utility, type of environment, etc. These device mode selections include frequency selections to match transmitter selection, peak signal mode, null signal mode, peak and null signal modes simultaneously, line versus sonde/probe mode. Said device mode selections may define a locate device operating mode. Each ELD may also collect electromagnetic (EM) signal response data, which indicates how the locator device is responding to the electromagnetic signals (140) it is detecting and processing, as well as signal strength, signal direction (left right of target), system gain control, phase (direction) of signal, measured depth, measured current, etc. The raw data collected above is then used at a later point to generate performance measurements that represent the technician's performance during said buried asset location procedure, according to industry standards.
[0038] In step 306, the ELD 101 may transmit the data 206, 208 to the serer 102 via network 106. The system 102 receives the data 206, 208 and creates records in the database 104 to hold said data. Also, in step 306, the ELD 101 may automatically (upon the completion of the transmission of step 306) activate the switch to disable the locate functionality on the ELD. The locate functionality of the ELD is defined as the functionality of the ELD that allows the device to detect and measure radio frequency and/or electromagnetic signals 140 emanating from a buried asset 130. Said locate functionality may remain disabled until a predefined signal is received from the server 102.
[0039] In step 308, the server 102 processes the data received in step 306 above and determines whether said data meets a predefined threshold for quality, i.e., whether the performance of the technician 110 meets best practice quality standards, as defined more fully below. In this step, the server 102 calculates sub-metrics based on the raw data collected above. In this step, the server calculates the following raw sub-metrics based on the data collected above, and uses said sub-metrics as the component values of a first quantity vector: [0040] a) an alignment of acceleration of the ELD with gravity, calculated as
[0045] wherein a may be a vector that represents acceleration, g may be a vector that represents gravity, rms stands for root mean squared and mean stands for a statistical mean.
[0046] Next, the server 102 calculates component values of a first exam vector based on the quantity vector, the first exam vector composed of the following components values: [0047] a) a score based on whether the ELD is aligned with gravity, calculated based on
[0053] Each may be rotation vectors, and each may further represent an array of data representing rotation about a specific axis. In one embodiment, a score may be a numerical value, such as the numbers 0, 1 or 2. In another embodiment, a score is based on whether the resulting value is within certain ranges. For example, if rms (ω.sub.x) is calculated to be greater than 50 units per second, then a score of 2 is applied, if rms (ω.sub.x) is calculated to be between 18 and 50 units per second, then a score of 1 is applied, and if rms (ω.sub.x) is calculated to be less than 18 units per second, then a score of 0 is applied. This paradigm may be applied to all factors a) through f) above.
[0054] Then, server 102 accesses the lookup table, and reads a performance measurement that corresponds with each one of the plurality of component values of the first exam record, so as to read a plurality of performance measurements. The result of this step is that a plurality of performance measurements is read and stored. Alternatively, server 102 accesses the lookup table, and reads a performance measurement that corresponds with each one of said plurality of component values of the performance record of the field technician 110, so as to read a plurality of performance measurements.
[0055] In step 310, server 102 determines if one or more of said plurality of performance measurements are at or above a predefined quality threshold (according to said industry standards embedded in the lookup table), and if so, the control flows to step 314. If one or more of said plurality of performance measurements are below the predefined quality threshold, then control flows to step 312. In step 312, the server 102 may transmit a rejection signal or message 214 to the technician via ELD 101, wherein the ELD may display (such as on a display) the plurality of performance measurements, and wherein the message may indicate that the just-completed buried asset locate procedure was below the quality threshold, and that the field technician must (is prompted to) redo the procedure before he can proceed with additional procedures at other sites. It should be noted that the predefined quality threshold indicates whether the performance of the technician 110 meets best practice quality standards, as defined more fully above. Further in step 312, the current ticket is not closed (it is left open), thereby prohibiting the technician from moving on to the next ticket and therefore the next buried asset location procedure.
[0056] Also in step 312, the server 102 may close access to the server 102 for receiving buried asset detection data from the ELD for other sites. I.e., the server 102 may prohibit accepting buried asset detection data from the ELD (via network 106) for other sites until the just-completed buried asset locate procedure is redone correctly, namely, to the required quality standards. Also, the locate functionality of the ELD 101 may remain disabled until a predefined signal is received from the server 102.
[0057] In step 314, the data processed by the server 102 is stored and the current ticket may be closed, thereby allowing the technician to move to the next ticket. In step 316 the server 102 may transmit a signal or message 212 to the technician via ELD 101, wherein the ELD may display (such as on a display) the plurality of performance measurements, and wherein the message may indicate that the just-completed buried asset locate procedure meets the quality threshold, and that the field technician may proceed with additional procedures at additional sites. Also in step 314, the server 102 may open access to the server 102 for receiving buried asset detection data from the ELD for other sites. I.e., the server 102 may continue or start accepting buried asset detection data from the ELD (via network 106) for other sites since the just-completed buried asset locate procedure met the required quality standards.
[0058] In optional step 316, the server 102 may transmit the signal 212 over the communications network 106 to the ELD, wherein the signal is configured to enable locate functionality on the ELD, wherein said signal is not transmitted if the quality of the buried asset detection data does not meet the predefined threshold. Upon reception of said signal by the ELD 101, the ELD 101 may automatically activate the switch to enable the locate functionality on the ELD. In step 318, the technician 110 moves on to conduct additional buried asset detection procedures at additional or different sites.
[0059] Note that in the event that a particular set of buried asset detection data does not pass quality standards in step 310, and the technician is prompted to redo the procedure in step 312, the current ticket is not closed, and the server 102 may close access to the server 102 for receiving buried asset detection data from the ELD for other sites. In this case, control flows to step 304 wherein the technician may redo the buried asset detection procedure at the current site. Once the technician uploads the new buried asset detection data from the current site in step 306, and the server processes said new buried asset detection data in step 308, it may be determined that said new buried asset detection data passes quality standards in step 310. In this case, control flows to step 314 wherein the current ticket is closed, and server 102 may start accepting buried asset detection data from the ELD (via network 106) for other sites since the just-completed buried asset locate procedure met the required quality standards. Subsequently, control flows to steps 316 and 318, and back to step 304 for additional buried asset detection procedures at additional or different sites.
[0060]
[0061] Interface 400 may also include a graphic 402 that indicates the signal strength of the buried asset being detected (such as a meter reading comprising ten bars), and a numerical indicator 404 that indicates the signal strength of the buried asset being detected. In one embodiment, the ELD receives human readable buried asset data and based on the data received, the ELD calculates the appropriate graphic 402 or numerical indicator 404 to display in interface 400. For example, if the ELD receives human readable buried asset data indicating 50% signal strength, the ELD calculates the appropriate graphic 402 to display in interface 400 is five out of ten bars, which graphically indicates 50%. The interface 400 can also include the position the ELD is in so that the technician can confirm that the correct algorithm, process, software, filter etc. is applied to the data received by the ELD.
[0062] Lastly, the interface 400 may also include left and right arrows 414, 416, which points the technician in the direction of the location of the buried asset being detected. Left and right arrows 414, 416, may additionally indicate to the technician the direction in which the ELD should be moved in order to read increased signal strength from of the buried asset being detected.
[0063]
[0064]
[0065]
[0066] With reference to
[0067] Computing device 600 may have additional features or functionality. For example, computing device 600 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in
[0068] Computing device 600 may also contain a network connection device 615 that may allow device 600 to communicate with other computing devices 618, such as over a network in a distributed computing environment, for example, an intranet or the Internet. Device 615 may be a wired or wireless network interface controller, a network interface card, a network interface device, a network adapter, or a LAN adapter. Device 615 allows for a communication connection 616 for communicating with other computing devices 618. Communication connection 616 is one example of communication media. Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” may describe a signal that has one or more characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media. The term computer readable media as used herein may include both computer storage media and communication media.
[0069] As stated above, a number of program modules and data files may be stored in system memory 604, including operating system 605. While executing on processing unit 602, programming modules 606 (e.g., program module 607) may perform processes including, for example, one or more of the stages of the process 300 as described above. The aforementioned processes are examples, and processing unit 602 may perform other processes. Other programming modules that may be used in accordance with embodiments herein may include electronic mail and contacts applications, word processing applications, spreadsheet applications, database applications, slide presentation applications, drawing or computer-aided application programs, etc.
[0070] Generally, consistent with embodiments herein, program modules may include routines, programs, components, data structures, and other types of structures that may perform particular tasks or that may implement particular abstract data types. Moreover, embodiments herein may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. Embodiments herein may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
[0071] Furthermore, embodiments herein may be practiced in an electrical circuit comprising discrete electronic elements, packaged or integrated electronic chips containing logic gates, a circuit utilizing a microprocessor, or on a single chip (such as a System on Chip) containing electronic elements or microprocessors. Embodiments herein may also be practiced using other technologies capable of performing logical operations such as, for example, AND, OR, and NOT, including but not limited to mechanical, optical, fluidic, and quantum technologies. In addition, embodiments herein may be practiced within a general-purpose computer or in any other circuits or systems.
[0072] Embodiments herein, for example, are described above with reference to block diagrams and/or operational illustrations of methods, systems, and computer program products according to said embodiments. The functions/acts noted in the blocks may occur out of the order as shown in any flowchart. 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/acts involved.
[0073] While certain embodiments have been described, other embodiments may exist. Furthermore, although embodiments herein have been described as being associated with data stored in memory and other storage mediums, data can also be stored on or read from other types of computer-readable media, such as secondary storage devices, like hard disks, floppy disks, or a CD-ROM, or other forms of RAM or ROM. Further, the disclosed methods' stages may be modified in any manner, including by reordering stages and/or inserting or deleting stages, without departing from the claimed subject matter.
[0074] Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.