A crucial function of law enforcement personnel is efficient and accurate location and interaction with persons of interest. Yet, misidentification of persons of interest is a known problem that remains a serious risk that can result in significant harm to all stakeholders and the overall healthy functioning of civil society.
The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views, together with the detailed description below, are incorporated in and form part of the specification, and serve to further illustrate embodiments of concepts that include the claimed invention and explain various principles and advantages of those embodiments.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.
The apparatus and method components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.
Accurate identification of persons-of-interest (POI) is a serious challenge for law enforcement. Accurate identification can be frustrated by contextual factors such as weather, lighting, clothing, distractions, obscured facial features, imperfect memory and unconscious bias, all of which may be exacerbated by the stress of the law enforcement officer being expected to make a series of complex decisions during an encounter with a potential POI. Misidentification of POI can lead to disastrous consequences, including failure to apprehend dangerous suspects or tragic inadvertent victimization of innocent citizens by the very law enforcement agencies who are tasked with and take pride in protecting them. Law enforcement personnel may also face enormous personal stress in the period following a misidentification, undermining recruitment and retention of skilled law enforcement personnel. Accordingly, correct identification of POI is critical to the integrity and efficiency of the justice system, particularly in democratic societies that value healthy dissent, due process and the maintenance of healthy checks and balances against the state exercising improper influence and control over its citizens, while at the same time not unduly fettering the ability of law enforcement personnel to do their difficult jobs. Despite remarkable recent technological advancements in identification technologies, there remain serious risks of misidentification of persons of interests and the attendant social harm. Indeed, in addition to the societal harms caused by misidentification of persons-of-interest, such misidentification imposes meaningful technological burdens on the limited technological resources of law enforcement communication networks. Thus, there exists a need for an improved technical method, device, and system for electronic identity verification in law enforcement.
An aspect of the present specification provides a computing apparatus for corroborating an identification of a person-of-interest comprising a memory for maintaining a primary data set representing a plurality of direct identifiers each respective to a different person-of-interest of a plurality of persons-of-interest. The memory is also for maintaining a secondary data set representing at least one indirect identifier including: an electronic source, a geographic location of the electronic source and a weighting representing a proximity likelihood for the indirect identifier in relation to one of the persons-of-interest. The computing apparatus also comprises a processing unit connected to the memory and configured to receive a person-of-interest query representing one of the direct identifiers; a sighting-location and at least one electronic source signature detected near the sighting-location. The processing unit is configured to calculate a probability that the direct identifier within the person-of-interest query is accurate based on the signature and the secondary data set. The processing unit is also configured to generate a response message to the person-of-interest query including the probability.
The query may include a sighting-location.
The electronic source may be a cell phone, Bluetooth device, a Wi-Fi device, an automated teller machine (ATM) card, a credit card, machine-read data record representing a License plate, machine-read data record representing a government ID, a radio-frequency identification (RFID) tag, or a digital image.
The processing unit may be configured to update the secondary data set based on changes to a detected geographic location.
The processing unit may be configured to update the secondary data set based on changes to third-party databases that represent electronic credentials that associate the electronic source with one or more of the direct identifiers.
The processing unit may be configured to receive a confirmation signal that the person-of-interest was correctly identified and increase one or more weightings in the secondary data set.
The processing unit may be configured to receive a confirmation signal that the person-of-interest was incorrectly identified; and decrease one or more of the weightings in the secondary data set.
The processing unit may be configured to determine an alternative possible person-of-interest within the sighting-location based on a comparison of the signature and the person-of-interest located proximate to the signature provided in the query.
The processing unit may be configured to perform the determination if the probability from the calculating is below a threshold. The threshold may be about fifty percent.
The computing apparatus may be a server connected to a plurality of communication devices. The plurality of communication devices may be configured to constantly scan for electronic signatures and update the secondary data set based on detected electronic signatures.
Each of the above-mentioned embodiments will be discussed in more detail below, starting with an example system and device architectures of the system in which the embodiments may be practiced, followed by an illustration of processing blocks for achieving an improved technical method, device, and system for electronic identity verification in law enforcement.
Example embodiments are herein described with reference to flowchart illustrations and/or block diagrams of methods, devices and systems and computer program products according to example embodiments. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a special purpose and unique machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. The methods and processes set forth herein need not, in some embodiments, be performed in the exact sequence as shown and likewise various blocks may be performed in parallel rather than in sequence. Accordingly, the elements of methods and processes are referred to herein as “blocks” rather than “steps.”
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions, which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus that may be on or off-premises, or may be accessed via the cloud in any of a software as a service (SaaS), platform as a service (PaaS), or infrastructure as a service (IaaS) architecture so as to cause a series of operational blocks to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions, which execute on the computer or other programmable apparatus provide blocks for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. It is contemplated that any part of any aspect or embodiment discussed in this specification can be implemented or combined with any part of any other aspect or embodiment discussed in this specification.
Various advantages and features consistent with the present specification will become apparent from the following description with reference to the drawings.
Referring now to
The server 104 also connects to a primary data set 112-1 and a secondary data set 112-2, the details of which will be discussed in greater detail below.
Each communication device 108 is also configured to detect electronic signatures from a plurality of electronic sources 116 which may, or may not, be sighted proximate to a plurality of potential POIs 120. Devices 108 are configured to be able to detect electronic signatures at all times and also configured to collaborate with each other and server 104. For example, devices 108 may include interfaces for Bluetooth, WiFi and NFC enabling them to detect those types of electronic signatures. Device 108 may also have interfaces to communicate with other radio frequency infrastructure to obtain such electronic signature data indirectly. As an example, device 108 cannot sense cars going through tollbooths or neighborhood entrance gates controlled by RFID, however, such tollbooths and gates can be communicatively coupled to the Internet or support a local WiFi function where device 108 (either directly and/or indirectly via server 104) can communicate with those tollbooths and gates. Other examples of indirect sensing of electronic signatures include cellular sensing, license plate readers, or other sensing technologies not commonly found as native interfaces on devices 108. Again, further details of electronic sources 116, how they are sensed and their potential proximity to various POIs 120 will be discussed in greater detail below.
Referring now to
As depicted in
Furthermore, while the memories 206, 214 are depicted as having a particular structure and/or configuration, (e.g., separate RAM 206 and ROM 214), memory of the server 104 may have any suitable structure and/or configuration.
While not depicted, the server 104 may include one or more of an input device and/or a display screen, which, when present, may be communicatively coupled to the controller 218.
As shown in
The processing unit 204 may include the Read Only Memory (ROM) 214 coupled to the common data and address bus 216 for storing data for initializing system components. The processing unit 204 may further include the controller 218 coupled, by the common data and address bus 216, to the Random-Access Memory 206 and the static memory 220.
The communication unit 202 may include one or more wired and/or wireless input/output (I/O) interfaces 210 that are configurable to communicate with other components of the system 100. For example, the communication unit 202 may include one or more wired and/or wireless transceivers 208 for communicating with other suitable components of the system 100. Hence, the one or more transceivers 208 may be adapted for communication with one or more communication links and/or communication networks used to communicate with the other components of the system 100. For example, the one or more transceivers 208 may be adapted for communication with one or more of the Internet, a digital mobile radio (DMR) network, a Project 25 (P25) network, a terrestrial trunked radio (TETRA) network, a Bluetooth network, a Wi-Fi network, for example operating in accordance with an IEEE 802.11 standard (e.g., 802.11a, 802.11b, 802.11g), an LTE (Long-Term Evolution) network and/or other types of GSM (Global System for Mobile communications) and/or 3GPP (3rd Generation Partnership Project) networks, a 5G network (e.g., a network architecture compliant with, for example, the 3GPP TS 23 specification series and/or a new radio (NR) air interface compliant with the 3GPP TS 38 specification series standard), a Worldwide Interoperability for Microwave Access (WiMAX) network, for example operating in accordance with an IEEE 802.16 standard, and/or another similar type of wireless network. Hence, the one or more transceivers 208 may include, but are not limited to, a cell phone transceiver, a DMR transceiver, P25 transceiver, a TETRA transceiver, a 3GPP transceiver, an LTE transceiver, a GSM transceiver, a 5G transceiver, a Bluetooth transceiver, a Wi-Fi transceiver, a WiMAX transceiver, and/or another similar type of wireless transceiver configurable to communicate via a wireless radio network.
The communication unit 202 may further include one or more wireline transceivers 208, such as an Ethernet transceiver, a USB (Universal Serial Bus) transceiver, or similar transceiver configurable to communicate via a twisted pair wire, a coaxial cable, a fiber-optic link, or a similar physical connection to a wireline network. The transceiver 208 may also be coupled to a combined modulator/demodulator 212.
A person skilled in the art will now recognize that the communication unit 202 provides the point of connection between the server 104, the data sets 112 and the communication devices 108 of
The controller 218 may include ports (e.g., hardware ports) for coupling to other suitable hardware components of the system 100. The controller 218 may include one or more logic circuits, one or more processors, one or more microprocessors, one or more GPUs (Graphics Processing Units), and/or the controller 218 may include one or more ASIC (application-specific integrated circuits) and one or more FPGA (field-programmable gate arrays), and/or another electronic device. In some examples, the controller 218 and/or the server 104 is not a generic controller and/or a generic device, but a device specifically configured to implement functionality for electronic identity verification. For example, in some examples, the server 104 and/or the controller 218 specifically comprises a computer executable engine configured to implement functionality for electronic identity verification.
The static memory 220 comprises a non-transitory machine readable medium that stores machine readable instructions to implement one or more programs or applications. Example machine readable media include a non-volatile storage unit (e.g., Erasable Electronic Programmable Read Only Memory (“EEPROM”), Flash Memory). In the example of
Furthermore, the memory 220 stores instructions corresponding to the at least one application 222 that, when executed by the controller 218, enables the controller 218 to implement functionality for electronic identity verification, including but not limited to, the blocks of certain methods discussed elsewhere herein. Furthermore, while not depicted, the data sets 112 may be stored, and/or partially stored, within the memory 220.
In illustrated examples, when the controller 218 executes the one or more applications 222, the controller 218 is enabled to perform a method for corroborating an identification of a person-of-interest comprising maintaining a primary data set representing a plurality of direct identifiers each respective to a different person-of-interest of a plurality of persons of interest. The method also comprises maintaining a secondary data set representing at least one indirect identifier including: an electronic source; a geographic location of the electronic source; and a weighting representing a likelihood that presence of each indirect identifier is proximate to one of the persons-of-interest. The method also comprises receiving a person-of-interest query representing one of the direct identifiers; a sighting-location and at least one electronic source signature proximate to the sighting-location, calculating a probability that the direct identifier within the person-of-interest query is accurate based on the signature and the secondary data set and generating a response message to the person-of-interest query including the probability.
The query may include a sighting-location.
The electronic source may be a cell phone, Bluetooth device, a Wi-Fi device, an automated teller machine (ATM) card, a credit card, machine-read data record representing a License plate, machine-read data record representing a government ID, a radio-frequency identification (RFID) tag, or a digital image.
Updating the secondary data set may be automatic and continuous based on changes to a detected geographic location.
Updating the secondary data set may be based on changes to third-party databases that represent electronic credentials that associate the electronic source with one or more of the direct identifiers.
The method may further comprise receiving a confirmation signal that the person-of-interest was correctly identified and increasing one or more weightings in the secondary data set.
The method may further comprise receiving a confirmation signal that the person-of-interest was incorrectly identified; and decreasing one or more of the weightings in the secondary data set.
The method may further comprise determining an alternative possible person-of-interest within the sighting-location based on a comparison of the signature and the person-of-interest located proximate to the signature provided in the query.
The method may further comprise the determining being performed if the probability from the calculating is below a threshold. The threshold may be about fifty percent.
Alternatively, or in addition, the application 222 may include machine learning and/or deep-learning based algorithms and/or neural networks, and the like, which are trained to improve the electronic identity verification approaches discussed herein. Furthermore, in these examples, the application 222 may be operated by the controller 218 in a training mode to train the machine learning and/or deep-learning based algorithms and/or neural networks of the application 222 in accordance with the teachings herein.
The one or more machine-learning algorithms and/or deep learning algorithms and/or neural networks of the application 222 may include, but are not limited to: a generalized linear regression algorithm; a random forest algorithm; a support vector machine algorithm; a gradient boosting regression algorithm; a decision tree algorithm; a generalized additive model; neural network algorithms; deep learning algorithms; evolutionary programming algorithms; Bayesian inference algorithms; reinforcement learning algorithms, and the like. However, generalized linear regression algorithms, random forest algorithms, support vector machine algorithms, gradient boosting regression algorithms, decision tree algorithms, generalized additive models, and the like may be preferred over neural network algorithms, deep learning algorithms, evolutionary programming algorithms, and the like. However, generalized linear regression algorithms, random forest algorithms, support vector machine algorithms, gradient boosting regression algorithms, decision tree algorithms, generalized additive models, and the like may be preferred over neural network algorithms, deep learning algorithms, evolutionary programming algorithms, and the like, in public safety environments such as law enforcement. To be clear, any suitable machine-learning algorithm and/or deep learning algorithm and/or neural network is within the scope of present examples.
Referring again to
It is to be understood that specific functions within each of server 104, devices 108 and datasets 112 may be implemented within different components of system 100, and the specific embodiments described herein are examples.
Thus, a person of skill in the art, with the benefit of this specification, will appreciate that system 100 is intended to operate whereby the locations 124 of each POI 120 and each electronic source 116 are constantly changing and that system 100 assists with identity verification of different POIs 120 through the technological implementations herein in a fashion that efficiently utilizes the resources of server 104, devices 108 and the communication networks they operate over, so as to allow the server 104 and the devices 108 to use the remaining computing resources of system 100 for other functions thus overall improving optimization of the computing resources of system 100.
Turning now to the data sets 112, collectively they are configured to maintain identifiers respective to each POI 120 and each electronic source 116 and the respective location 124 of the electronic source, recognizing that such locations 124 are expected to constantly change. Technologically, data sets 112 may be implemented through storage directly inside the static memory 220 of
Referring now to
Depending on the level of regulatory controls imposed on system 100 that are designed to protect civil rights and privacy, it should be noted that the inclusion of a POI in data set 112-1 may be restricted to persons-of-interest according to a strict definition of individuals that are potentially the subject of a criminal investigation. By the same token, data set 112-1 could be expansive to include an entire population regardless of whether the individual is of interest to a law enforcement agency. Such decisions are agnostic to the technological benefits of efficient use of computing resources in system 100 as afforded by the present specification.
In
Referring now to
The weighting representing a likelihood that the presence of each electronic source is proximate to one or more persons-of-interest can be determined in many ways. In one example, the weighting is based on:
(Likelihood the electronic source is associated with just one person)×(Number of times that person seen with that electronic source).
Another factor that can be considered in the weighting is the certainty that comes from the type of electronic source versus the certainty that comes from known encounters of when the POI 120 and the electronic source 116 are together. Regardless of the exact type, the electronic signatures emitted from sources 116 are themselves capable of detection (by, for example, device 108 or, as discussed above, other devices that can communicate the detected electronic signature data to device 108) in association with their geographic location 124, with the identity of the electronic source 116 and location being transmissible and stored in data set 112-2, which additionally maintains a weighting representing a likelihood that a given POI 120 is also at the same location.
Referring now to
At block 504, a first data set comprising direct identifiers is maintained within system 100 or a variant thereon. The means by which block 504 is implemented is not particularly limited, but in accordance with the specific examples of this specification, block 504 may be implemented according to the prior description of first data set 112-1 described in relation to
At block 508, a second data set comprising indirect identifiers is maintained within system 100 or a variant thereon. The means by which block 508 is implemented is not particularly limited, but in accordance with the specific examples of this specification, block 508 may be implemented according to the prior description of second data set 112-2 described in relation to
At block 512, a person-of-interest query is received. The goal of the query is to seek verification of the identity of a person of interest, and thus a direct identifier of the person-of-interest is included in the query. Additionally, the query may include a sighting-location and a) an electronic signature captured from one of the electronic sources or b) recent electronic signature data previously captured by another electronic device, not shown. To illustrate example performance of block 512 reference is made to
To summarize, according to the example in
At block 512, a person-of-interest query is received. The goal of the query is to seek verification of the identity of a person of interest, and thus a direct identifier of the person-of-interest is included in the query. Additionally, the query will include a sighting-location and an electronic signature captured from one of the electronic sources. To illustrate example performance of block 512, reference is made to
At block 516, the probability that the identification of the POI from the query at block 512 is calculated. According to our example in relation to system 100, the probability is calculated by controller 218 in server 104 based on the contents of the query from block 512 and an examination of the information maintained in data sets 112. An examination of data set 112-2 from
At block 520, a response message is generated to the query from block 512 that is based on the calculation at 516. Performance of block 520 typically involves controlling an output device according to the response, which in the example of system 100 includes sending a reply message from server 104 to device 108-1 that includes an indication that there is a ninety percent probability that POI 120-1 has been correctly identified as “Dr. Very EVIL” given that Dr. Very Evil's personal Bluetooth headphones were detected within the same physical location 124-2 as Dr. Very EVIL.
Controlling the output device at block 520 can also comprise generating a visual or audible message on device 108-1, and can also include more elaborate controls such as activating a drone to surveil POI 120-1, or automatically activating a body camera on law enforcement personnel 110-1, or server 104 being configured to automatically call for backup for the law enforcement personnel 110-1 or automatically activating a haptic feedback device worn by law enforcement personnel 110-1 that silently signals via a predetermined vibration pattern to the law enforcement personnel 110-1 that the POI is dangerous. Other examples will now occur to those skilled in the art.
Persons skilled in the art can now appreciate other example scenarios based on the example set of sources 116, POIs 120 and locations 124 in
For example, a variant on the example of
Continuing with the example of
At this point, however, it is important to note that in many embodiments the specific association in data set 112-2 between a POI 120 and an electronic source 116 with a last known location need only play a supporting function in identity verification. Various examples illustrate this concept. If a source 116, such as the Bluetooth speaker source 116-1, remains fixed in one location, it may be an indication of poor association with a POI 120, because any POI 120 could stand next to such a fixed source 116. Accordingly, the last known location of an electronic source 116 in data set 112-2 need not play a strong role in the strengthening of probability of a current location sighting in a calculation of probability at block 516; rather the more valuable knowledge in data set 112-2 is the fact of the ongoing association between a given electronic source 116 and a given POI 120 that, over time, suggests a higher probability that the presence of an electronic source 116 at any location 124 is likely indicative of a corresponding presence of a given POI 120 at the same location 124. By the same token, if a query is issued by a personnel 110 for a suspected sighting of POI 120-1 and system 100 “knows” that the electronic source 116 belonging to POI 120-1 is located on the other side of town, then it is unlikely that the suspected sighting of POI 120-1 is accurate.
More elaborate examples will now occur to those skilled in the art, along with an appreciation of how system 100 may be massively scaled. Notably, referring back to
Persons skilled in the art will also now appreciate that frequent and dynamic updating of data sets 112, and in particular data set 112-2, bolsters the identity verification benefits of system 100. Thus, an array of devices that constantly monitor the locations 124 of various electronic sources 116, coupled to databases that update the POIs 120 who are associated with those electronic sources 116, can lead to an increased confidence in the accuracy of the data sets 112 and accompanying identity verifications offered by system 100. Additionally, law enforcement personnel 110 or other individual may periodically affirm or deny the accuracy of the probability calculations made at block 516 once they have had additional time with the POI 120 and to properly question them and study the identification documents which they carry. These affirmations or denials can be fed back into data set 112-2, particularly the probability likelihood data (which may also be referred to as weightings or relationship weightings) maintained in the last column of
Indeed, relationship weightings may be provided as a training set of feedback for training the one or more machine-learning algorithms to better determine these relationship weightings. Such a training set may further include factors that lead to such determinations, including, but not limited to, manually affirming or denying identity verifications of different POIs 120 in association with the presence of various electronic sources 116. Such a training set may be used to initially train the one or more machine learning algorithms.
Further, one or more later determined relationship weightings may be labelled to indicate whether the later determined relationship weightings, as generated by the one or more machine-learning algorithms, represent positive (e.g., effective) examples or negative (e.g., ineffective) examples.
For example, the one or more machine-learning algorithms may generate a probability score, for example on the percentage scale of zero to 100 in
Regardless, when weightings in data set 112-2 are provided to one or more machine-learning algorithms in the machine-learning feedback loop, the one or more machine-learning algorithms may be better trained to determine future relationship weightings on the basis of the labels and/or the scores.
In other examples, probability weightings generated by one or more machine-learning algorithms may be provided to a feedback computing device (not depicted), which may be a component of the system 100 and/or external to the system 100 that has been specifically trained to generate labels and/or scores for probability weightings in data set 112-2, and/or verify labels and/or scores of those probability weightings. Such a feedback computing device may generate and/or verify labels and/or scores and provide the generated and/or verified labels and/or scores as feedback (and/or at least a portion of the feedback, such as the labels) back to the server 104 for storage (e.g., at the memory 220) until a machine-learning feedback loop is implemented. Put another way, labels and/or scores of feedback for a machine learning algorithm may be generated and/or provided in any suitable manner and/or by any suitable computing device and/or communication device.
Hence, by implementing a machine-learning feedback loop, more efficient operation of the server 104 may be achieved, and/or a change in operation of the server 104 may be achieved, as one or more machine-learning algorithms are trained to better and/or more efficiently determine the probability weightings in data set 112-2.
As will now be apparent from this detailed description, the operations and functions of electronic computing devices described herein are sufficiently complex as to require their implementation on a computer system, and cannot be performed, as a practical matter, in the human mind. Electronic computing devices such as set forth herein are understood as requiring and providing speed and accuracy and complexity management that are not obtainable by human mental steps, in addition to the inherently digital nature of such operations (e.g., a human mind cannot interface directly with RAM or other digital storage, cannot transmit or receive electronic messages, cannot control a display screen, cannot implement a machine learning algorithm, nor implement a machine learning algorithm feedback loop, and the like).
In the foregoing specification, specific embodiments have been described. However, one of ordinary skill in the art will now appreciate that various modifications and changes can be made without departing from the scope of the invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present teachings. The benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential features or elements of any or all the claims. The invention is defined solely by the appended claims including any amendments made during the pendency of this application and all equivalents of those claims as issued.
Moreover in this document, relational terms such as first and second, top and bottom, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” “has”, “having,” “includes”, “including,” “contains”, “containing” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises, has, includes, contains a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by “comprises . . . a”, “has . . . a”, “includes . . . a”, “contains . . . a” does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises, has, includes, contains the element. The terms “a” and “an” are defined as one or more unless explicitly stated otherwise herein. The terms “substantially”, “essentially”, “approximately”, “about” or any other version thereof, are defined as being close to as understood by one of ordinary skill in the art. Furthermore, references to specific percentages should be construed as being “about” the specified percentage.
A device or structure that is “configured” in a certain way is configured in at least that way, but may also be configured in ways that are not listed.
It will be appreciated that some embodiments may be comprised of one or more generic or specialized processors (or “processing devices”) such as microprocessors, digital signal processors, customized processors and field programmable gate arrays (FPGAs) and unique stored program instructions (including both software and firmware) that control the one or more processors to implement, in conjunction with certain non-processor circuits, some, most, or all of the functions of the method and/or system described herein. Alternatively, some or all functions could be implemented by a state machine that has no stored program instructions, or in one or more application specific integrated circuits (ASICs), in which each function or some combinations of certain of the functions are implemented as custom logic. Of course, a combination of the different approaches could be used.
Moreover, embodiments can be implemented as a computer-readable storage medium having computer readable code stored thereon for programming a computer (e.g., comprising a processor) to perform a method as described and claimed herein. Any suitable computer-usable or computer readable medium may be utilized. Examples of such computer-readable storage mediums include, but are not limited to, a hard disk, a CD-ROM, an optical storage device, a magnetic storage device, a ROM (Read Only Memory), a PROM (Programmable Read Only Memory), an EPROM (Erasable Programmable Read Only Memory), an EEPROM (Electrically Erasable Programmable Read Only Memory) and a Flash memory. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
Further, it is expected that one of ordinary skill, notwithstanding possibly significant effort and many design choices motivated by, for example, available time, current technology, and economic considerations, when guided by the concepts and principles disclosed herein will be readily capable of generating such software instructions and programs and integrated circuits (ICs) with minimal experimentation. For example, computer program code for carrying out operations of various example embodiments may be written in an object oriented programming language such as Java, Smalltalk, C++, Python, or the like. However, the computer program code for carrying out operations of various example embodiments may also be written in conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on a computer, partly on the computer, as a stand-alone software package, partly on the computer and partly on a remote computer or server or entirely on the remote computer or server. In the latter scenario, the remote computer or server may be connected to the computer through 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 Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in various embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.