BACKGROUND

[0001]
The present disclosure is generally directed to computerimplemented risk analysis, and more specifically to computerimplemented optimization of financial risk mitigation.

[0002]
Banks and other types of financial institutions must deal with many exposure issues, such as complicated loan issues. Often exposures are secured by different forms of security, which can be considered a type of financial risk mitigation. Regulations often require that financial institutions have capital on hand to account for any unsecured portion and secured portions of exposures, where the capital charge for a secured portion is based on the riskiness of the mitigation, as well as any discounts that may be applied to the mitigation when the mitigation is used to secure the exposure. Moreover, these same regulations can require that financial institutions have capital on hand to account for a portion of the financial risk mitigations, based on the riskiness of the mitigation, as well as any discounts that may be applied to the mitigations. One example of such a regulation is Basel II. While it may specify risk weightings for mitigations and unsecured exposures according to their respective financial qualities, Basel II does not specify any effective mechanism for addressing complicated mitigation and exposure issues.
SUMMARY

[0003]
Financial risk mitigation approaches can use tools to relieve losses due to default events. Published financial regulations outline financial risk mitigations that financial institutions may use in the regulatory capital charge calculations, for example. A financial institution's opportunity cost can be directly related to how much regulatory capital it must set aside for each loan it provides. If a bank properly allocates its financial risk mitigations to cover its exposures according to the contractual exposuremitigation relationships, it can set aside lower regulatory capital for compliance with regulation. This disclosure describes how financial risk management can apply network optimization systems and methods to analyze exposure coverage.

[0004]
As an example of a system and method to analyze exposure coverage, financial risk mitigation optimization models can be generated based upon exposure data, mitigation data, and data about relationship(s) between the exposures and mitigations. The financial risk mitigation optimization model is then used to determine a proper allocation of mitigations with respect to exposures.
BRIEF DESCRIPTION OF THE DRAWINGS

[0005]
FIGS. 13 are block diagrams depicting examples of financial risk mitigation optimization systems;

[0006]
FIG. 4 is a block diagram of a computer system having access to data for use in financial risk mitigation;

[0007]
FIGS. 5 and 6 are flowcharts depicting example operational scenarios of financial risk mitigation optimizations;

[0008]
FIG. 7 is a block diagram which depicts an example of financial exposures and mitigations along with relationships between the exposures and the mitigations.
DETAILED DESCRIPTION

[0009]
FIG. 1 depicts a computerimplemented financial risk optimization system 100. The financial risk mitigation system 100 can include a model 105 that optimizes general supply and demand networks in order to determine an allocation of financial risk mitigations to exposures. The model 105 can accomplish this based upon such inputs as financial risk mitigation data 110, exposure data 115, and relationship data 120.

[0010]
The mitigation data 110 can represent any number of financial risk mitigations, including, but not limited to, collateral, insurance, credit derivatives, guarantees, netting agreements, and other types of credit risk mitigations.

[0011]
The exposure data 115 can represent loans made by a financial institution. However, it should be understood that there are many other types of financial exposures that can be addressed. For example, a guarantee can be an exposure for a guarantor.

[0012]
The relationship data 120 includes information about one or more “onetomany” relationships 125 between an exposure and a financial risk mitigation. It should be understood that the “onetomany” relationship 125 can also include a “manytomany” relationship. As an illustration, when an exposure is carried by a financial institution, the exposure is often secured by a mitigation. In some instances an exposure can be secured by several mitigations. In other instances, a single mitigation can secure several exposures. In the example of a loan with collateral, the security is provided by an agreement between the lender and the borrower that gives the lender rights in the collateral upon default on the loan by the borrower. Thus, the exposure is related to the mitigation by an agreement. It should be understood that not all mitigations may be connected to all exposures. As another illustration, if an exposure is related to a first mitigation and a second mitigation, there are two ways to apply the mitigations to the exposure. One way to apply the mitigations to the exposure is to apply the first exposure first, and the second exposure second. Another way to apply the mitigations to the exposure is to apply the second mitigation first, and the first mitigation second. Moreover, it should be noted that depending on the sequence in which the mitigations are applied to the exposures, different results can be obtained because of the cost and risk weights that can be associated with applying a mitigation to an exposure. The model 105 can be constructed to address the sequencing issue associated with a “onetomany” type situation in an optimum manner, so as to reduce regulatory capital, thereby decreasing the opportunity cost experienced by a user of the system.

[0013]
The mitigation data 110, the exposure data 115, and the relationship data 120 are used to create a generalized network model represented by the data. The network model can be solved using linear programming algorithms. Linear programming algorithms include, for example, a simplex algorithm, and an interior point algorithm, among others. It should be recognized however, that these two algorithms may be combined in some instances, and can also include extensions for network optimization. It should therefore also be understood that this disclosure is not intended to be limited to any particular linear programming algorithm. Any algorithm that solves a generalized network model can be used in conjunction with this disclosure.

[0014]
In this example, after operation of the linear programming algorithm, the model 105 produces an allocation 130 of mitigations to exposures. The allocation 130 is the solution to the generalized network model as computed by linear programming algorithm(s) used by the model 105. The allocation 130 can provide a user, such as for example a financial institution, with a record of what level of assets should be set aside to account for the unmitigated exposures and the financial risk mitigations. It should be understood that international banking standards and regulations in some instances can require regulatory capital to account for the inherent riskiness of financial risk mitigations themselves, as well as unsecured exposures based on the riskiness of the unsecured exposure.

[0015]
In the example shown in FIG. 1, the model 105 can analyze the mitigation data 110, the exposure data 115 and the relationship data 120 in order to provide a proper riskiness measure and/or discount(s) to the exposures and mitigations, as well as providing the cost and/or discount associated with a relationship between a mitigation and an exposure. As an illustration the model 105 can accept the exposuremitigation data 110, 115, 120 and provide an allocation of the data based on calculated riskiness measures derived according to the types of mitigations and exposures, as well as discounts and costs associated with the relationships between the mitigations and exposures.

[0016]
FIG. 2 shows another example of a financial risk optimization system 200. The model 205 accepts mitigation data 210, exposure data 215 and relationship data 220, which can be retrieved from a database. The model 205 produces an allocation 230 of the mitigation data 210 to the exposure data 215. The allocation 230 represent an optimized allocation 235 based on the results of a linear programming algorithm used by the model 205.

[0017]
It should be noted that the mitigation data 210 in this example includes mitigation riskiness measures 240 as well as mitigation values 245 associated with the mitigations described by the mitigation data 210. A mitigation value 245 may generally describe the portion of an exposure value associated with the exposure that is covered by the mitigation, while a mitigation riskiness measure 240 describes the risk associated with a particular mitigation. Exposure data can also include exposure riskiness measures 250 as well as exposure values 255 associated with the exposures described by the exposure data 215. An exposure value 255 can generally describe the size of the exposure, while an exposure riskiness measure 250 describes the risk associated with the exposure.

[0018]
Relationship data 220 can include or induce a cost factor 260 and a discount factor 265 associated with the relationships between mitigations and exposures. A cost factor 260 may generally describe the cost of applying a mitigation to an exposure, and can be a function of the riskiness measures of the mitigations and exposures. A discount factor 265 can include situations where the exposure and mitigation are in different currencies, or constitute a maturity mismatch between related exposures and mitigations, or any overcollateralization that may be implicated by regulation(s).

[0019]
As an illustration of the different types of data that can be used, consider the example where a building secures a loan. In such an example, the building is the mitigation, while the loan is the exposure. The balance of the loan could be $1,000,000, while the appraised price of the building could be $800,000. Thus, the exposure value associated with the exposure in this example is $1,000,000, and the mitigation value associated with the mitigation in this example is $800,000. Thus, the unsecured portion of the loan is $200,000. According to banking regulations, a financial institution should carry regulatory capital of $200,000 adjusted by some risk weight associated with the exposure, as well as $800,000 adjusted by some risk weight associated with the mitigation. The riskweighted assets associated with the mitigation may further be adjusted by the cost factor and/or discount factor as described above.

[0020]
FIG. 3 depicts a further example of a financial risk optimization system 300. The financial risk optimization model 305 receives mitigation data 310, exposure data 315, and relationship data 320. The data 310, 315, 320 in this example have been determined based on agreements entered into by a financial institution. The relationship data is characterized by having one or more “onetomany” relationships between exposures and mitigations described by the exposure data 315 and mitigation data 310 respectively. A generalized network is created based upon the input data.

[0021]
Further, the mitigation riskiness measure 340 can include, for example, data regarding a probability of default 370 and a loss given default 375, among others, to identify the mitigation riskiness measure of a mitigation. Similarly, the exposure riskiness measure 350 can also include data regarding a probability of default 380 and a loss given default 375 to identify the exposure riskiness measure of an exposure. The financial risk optimization model 305 can compute an allocation 330 using the data provided.

[0022]
FIG. 4 depicts a block diagram of a computing device 400 that can execute a financial risk optimization model of the present disclosure. The computing device 400 includes a processor 410 which is configured to execute instructions stored in memory, such as a random access memory (RAM) 420. The instructions can be transferred to the RAM 420 from the nonvolatile memory 430 in preparation for execution. It should be understood that the nonvolatile memory 430 can further contain other noninstruction data. The processor can communicate with a user, or other program via any supported input/output interfaces. Examples of such I/O interfaces can include a monitor, a keyboard, a mouse, and a communication interface to communicate with other computers, among many others. An operating system (O/S) executing on the processor can help to facilitate operation of the computer and execution of any applications residing on the computer system 400. It should be recognized that each of these components of the computing system are readily available in myriad different combinations, and this disclosure is intended to apply equally to all current and future computing systems.

[0023]
The computing system 400 further includes a connection to exposure, mitigation and relationship data stored on a data store 460. Myriad suitable data stores are commercially available from a variety of vendors. It should be noted that the data store 460 can be colocated with the computing system 400 or remotely located from the computing system 400. The data store 460 can include mitigation and exposure information about the agreements entered into on behalf of the financial institution. This information includes relationship information that links the mitigation data to the exposure data.

[0024]
The computing system 400 also includes a network optimizer 470. The network optimizer can include one or more linear programming algorithms, configured to find optimal solutions to network problems. One such network optimizer 470 is SAS/OR™ 9, commercially available from SAS Institute of Cary, N.C. The SAS/OR™ 9 package can use both a simplex and/or an interior point algorithm to solve the network problems in an effort to achieve optimal allocation of mitigations to exposures. However, it should be understood that the present disclosure is not limited to the SAS/OR™ 9 software package. Instead the disclosure is intended to include all software packages that are operable to take a generalized network and solve for an optimal solution. It should also be understood that different linear programming instructions can produce different optimal results. For example, an optimal solution could be a solution produced by a particular algorithm, an extension to an algorithm, or combinations of algorithms and/or extensions to the algorithm(s).

[0025]
FIG. 5 is a flowchart depicting an operational scenario 500 for financial risk mitigation optimization. The operational scenario begins by receiving mitigation, exposure and relationship data 510 at step 505. The data 510 is then examined to determine whether it contains a “onetomany” relationship, as shown by decision block 515. If the data does not include a “onetomany” relationship, there can be only one way in this example to apply the mitigation(s) to the exposure(s), and the operational scenario performs post processing at terminal block 520.

[0026]
However, if there are one or more onetomany relationships between the mitigations and the exposures as determined by decision block 515, the operational scenario continues by generating a financial risk mitigation optimization model 530 at process block 525. The financial risk optimization model 530 can then be used to generate many different types of results, represented by post processing block 520, such as, for example, results to help a user determine an amount of regulatory capital the user should have in order to comply with industry regulations.

[0027]
It should be understood that similar to the other processing flows described herein, the steps and the order of the steps in the flowchart described herein may be altered, modified and/or augmented and still achieve the desired outcome. For example, FIG. 6 depicts another operational scenario 600 for financial risk mitigation optimization.

[0028]
With reference to FIG. 6, the system receives mitigation, exposure and relationship data 601 from a data store at block 605. The data 601 is then examined to determine whether it contains a onetomany relationship, as shown by decision block 610. If the data does not include a “onetomany” relationship, there can be only one way in this example to apply the mitigation(s) to the exposure(s). A riskweighted assets analysis is then performed at process block 615. After performing the riskweighted assets analysis, the process outputs the riskweighted assets analysis and ends at terminal block 620.

[0029]
With reference back to decision block 610, if there is a onetomany relationship between exposure(s) and mitigation(s), the system can calculate riskiness measures for the exposure(s) and mitigation(s) at process block 625. The value of the exposure(s) and mitigation(s) is computed at process block 630. The relationships between the exposure(s) and mitigation(s) are established at process block 635. At process block 640, any discount factors for the exposures and mitigations are calculated. The system can then construct a generalized network model at process block 645. The generalized network model is then used as input into the financial risk mitigation allocation optimization process block 650. The financial risk mitigation allocation optimization process block produces a financial risk mitigation model optimization model 651. At process block 615, the system uses the financial risk mitigation optimization model to perform a riskweighted asset analysis of the model. The system then outputs the result of the riskweighted assets analysis.

[0030]
As described above, financial exposures can be offset by financial risk mitigations such as, for example, collateral, guarantees, netting, credit derivatives, and insurance, among others.

[0031]
One example of such a regulation is the “International Convergence of Capital Measurement and Capital Standards”, known as Basel II (2004), which states that, for example: financial exposures are to be risk weighted according to their financial qualities; if an eligible financial risk mitigation is present with an exposure, then the risk weight of the financial risk mitigation can be used as the risk weight of the portion of the exposure that is covered by the financial risk mitigation; the applicable value of the financial risk mitigation can be adjusted according to the nature of the mitigation. Thus, a financial risk system as disclosed herein that calculates the regulatory capital requirement can handle the above requirement for a large number of exposures and financial risk mitigations.

[0032]
Regulatory capital, can be summarized as the computation of the aggregated risk weighted assets:
$\begin{array}{cc}\mathrm{RWA}=\sum _{i=1}^{n}\text{\hspace{1em}}{\mathrm{EAR}}_{i}{\mathrm{RW}}_{i},& \left(1\right)\end{array}$
where RWA stands for riskweightedassets, EAR stands for exposureatrisk and RW is the risk eight. The total number of exposures is n. When financial risk mitigations are present with an xposure, the exposure can be decomposed into an unsecured portion and several secured portions that take the adjusted value of the financial risk mitigation. The secured portions take the risk weights that are correspondent to the mitigations. The unsecured portion takes the risk weight of the exposure itself. The risk weight asset in equation (1) can now be written as
$\begin{array}{cc}\mathrm{RWA}=\sum _{i=1}^{n}\text{\hspace{1em}}\left(\left(\sum _{{j}_{i}=1}^{{m}_{i}}\text{\hspace{1em}}{\mathrm{SEC}}_{{j}_{i}{\mathrm{RW}}_{{j}_{i}}}\right)+{\mathrm{USEC}}_{i}{\mathrm{RW}}_{i}\right)& \left(2\right)\end{array}$
where SEC is the secured portion and USEC is the unsecured portion. Exposures in some instances can be secured by several financial risk mitigations. Similarly, mitigations in some instances can secure several exposures.

[0033]
Without considering adjustments to the value of the financial risk mitigations, the equation (2) can formulate a minimum cost network flow problem.

[0034]
To adjust for the potential changes in the material value of the financial risk mitigations, additional adjustments can be made based upon the nature of the mitigations. For example, Basel 11 (2004) implicates haircut discounts to financial collaterals and nettings. In addition, if the exposure and financial risk mitigations are in different currencies, further haircut discounts can be made to account for the fluctuation of the foreign exchange rate dynamics. Since the discount may depend on both the exposures and the financial risk mitigations, it is are dependent.

[0035]
Using the generalized network model, discounts can also be added to the arc to represent the attrition in the goods. In the above example the discounts are represented by multipliers M_{j} _{ i }. Let CV_{j} _{ i }be the value of the financial risk mitigation that secures the exposure i. The secured portion SEC_{j} _{ i }in equation (2) can be written as the multiplication of the value of the financial risk mitigation that secures the exposure and the appropriate multiplier for this pair of exposure and mitigation. Equation (3) reflects the risk weighted function in this case.
$\begin{array}{cc}\mathrm{RWA}=\sum _{i=1}^{n}\text{\hspace{1em}}\left(\left(\sum _{{j}_{i}=1}^{{m}_{i}}\text{\hspace{1em}}{\mathrm{CV}}_{{j}_{i}}{M}_{{j}_{i}}{\mathrm{RW}}_{{j}_{i}}\right)+{\mathrm{USEC}}_{i}{\mathrm{RW}}_{i}\right)& \left(3\right)\end{array}$
The minimum cost generalized network minimizes the equation (3) given the exposuremitigation relation constraints. The generalized network can be represented in a network framework by adding transition nodes as well. Transition nodes can operate as another layer of nodes between the exposure and mitigations and can handle, for example, the discounting function, as an alternative to using the directed arc to handle the discounting function. A generalized network is then solved by a model having access to a linear programming algorithm in order to optimize the financial risk mitigation situation.

[0036]
FIG. 7 provides a visualization depiction of an example generalized network model problem that can be solved using financial risk mitigation optimization techniques disclosed herein. In this example, a node is an entity in the network and could be suppliers, demanders or transition; an arc is the path from one entity to another; a directed network is a network that has only directed arcs; and arc cost is the cost associated with an arc when goods are moved from one end of the arc to the other.

[0037]
The generalized network model can be automatically constructed by a computer program that has access to the mitigation, exposure and relationship data. The data could be accessed from any number of data stores, such as data structures, database tables, data files, etc. Data about the mitigations can be used to generate supply nodes, while data about the exposures can be used to generate to demand nodes. Data about the relationships between the exposures and mitigations can be used to generate directed arcs, and the cost of applying a mitigation to an exposure can be assigned to an arc's cost.

[0038]
In FIG. 7 there are three exposures E1 705, E2 710, and E3 715 and four financial risk mitigations C1 720, C2 725, C3 730, and C4 735. The node NC 740 supplies the unsecured portions of the exposures in the diagram so as to balance the network. The financial risk mitigations act as supply nodes and exposures as demand nodes. The flow costs are the risk weights associated with the mitigations. The arcs indicate possible links between financial risk mitigations and exposures based upon the financial institution's agreements. In the case of the example in FIG. 7, exposure E1 705 is secured by C1 720 and C2 725, E2 710 is secured by C3 730, and E3 715 is secured by C3 730 and C4 735. Amounts flowing out of the NC node take the risk weight of the correspondent exposure. The first number on each arc (exposuremitigation relation) indicates the cost (risk weight) associated with the arc. (In addition to the nodes shown in the graph, a “sink” node acting as a dummy exposure could be used in some situations, such that it is connected with all the supply nodes in order to drain any extra supply away from the arcs so that the flows on the arcs are balanced.)

[0039]
Additional data for this example is as follows:

 1. E1 705 has an exposure at default (EAD) of $100 and is risk weighted 200%. E2 710 has an EAD of $110 and is risk weighted 300%. E3 715 has an EAD of $200 and is risk weighted 250%.
 2. C1 720 and C3 730 are financial collaterals, C2 725 is a guarantee, and C4 735 is a receivable collateral. C1 720 is worth $70. C2 725 is worth $60 and is risk weighted 50%. C3 730 is worth $100. C4 735 is worth $150 and is risk weighted 75%.
 3. The directed arc in FIG. 7 represents the possible coverage between the financial risk mitigations and exposures. These are usually specified by the business contracts and can be altered.
Financial collaterals can be subject to haircut adjustments (based on collateral itself and also currency mismatch adjustment if necessary). For this problem, the haircut adjustments can be ssumed to be multipliers (E1, C1)=0.7, (E2, C3)=0.8, (E3, C3)=0.7. The guarantee has no adjustment, so the multiplier on (E1, C2)=1. The receivable is subject to an overcollateralization adjustment, which results in the multiplier (E3, C4)=0.8.

[0043]
Regulations indicate that the risk weighted asset should be calculated in accordance with equation (3). In addition the bank also needs to report the risk weight for the secured and unsecured portion of each exposure. In the example of
FIG. 7, there are quite a few ways that the bank could apply the financial risk mitigations to the exposures.

 1. For E1, there are two possible ways to apply the mitigations:
 a. Apply C1 first and C2 second:
 The secured portion by C1 is $49 with 0% risk weight and the secured portion by C2 is $51 with 50% risk weight. The RWA for E1 is 51*50%+49*0%=25.5.
 b. Apply C2 first and C1 second:
 The secured portion by C2 is $60 with risk weight 50% and the secured portion by C1 is $40 with 0% risk weight. The RWA for E1 is 60*50%+40*0%=30.
 2. E2 and E3 share C3 but E4 has sole claim to C4. There are two ways to apply the mitigations:
 a. E2 is secured by C3 and E3 secured by C4:
 The secured portion of E2 by C3 is $80 with 0% risk weight, and unsecured portion is $30 with 300% risk weight. The RWA for E2 is 80*0%+30*300%=90.
 The secured portion of E3 by C4 is $120 with 75% risk weight and unsecured portion is $80 with 250% risk weight. The RWA for E3 is 120*75%+80*250%=290.
 The total RWA for E2 and E3 in this case is 380.
 b. E3 is secured by C3 and C4. E2 is completely unsecured.
 The secured portion of E3 by C3 is $70 with risk weight 0% and the secured portion of E3 by C4 is $120 with risk weight 75%. The unsecured portion is $10 with risk weight 250%. The RWA for E3 is 70*0%+120*75%+10*250%=185. The RWA for E2 is 110*300%=330. The total RWA for E2 and E3 is 515.
Overall there are four possible ways to allocate the financial risk mitigation in this small example (1(a)2(a); 1(a)2(b); 1(b)2(a); 1(b)2(b)). A model is constructed and determines that the optimal solution to this example is the 1(a)2(a) combination, where the total RWA is 405.5 (25.5+380=405). The worst case is the 1(b)2(b) combination where the total RWA is 545 (30+515=545). Using this disclosure a financial institution can find a best case scenario for a large portfolio of exposures and mitigations. For example, a financial institution's portfolio could include on the order of millions of exposures and mitigations, which can implicate a vast number of possible solutions.

[0056]
While examples have been used to disclose the invention, including the best mode, and also to enable any person skilled in the art to make and use the invention, the patentable scope of the invention is defined by claims, and may include other examples that occur to those skilled in the art. For example, financial institutions may have millions of exposures and financial risk mitigations, each worth hundreds of thousands of dollars. Thus, the differences in the RWA due to mitigation allocations can be drastic. A financial risk optimization model can be configured as disclosed herein to efficiently solve this problem and can report the secured and unsecured portion directly from the optimization result.

[0057]
A financial risk mitigation optimization solution could also be configured to include: efficient solution for large number of exposures and financial risk mitigations that are typical to most banks; execution of relations according to the contractual rules; optimal allocation of mitigations; generalized results that separate the portions of the exposure that are covered by different financial risk mitigations as indicated by the some regulations; calculations of the capital requirements and optimal allocations through the generalized minimum cost network are conveniently implemented by existing linear programming network optimization models; the solution to the optimization can help financial institutions determine priority between the exposures and financial risk mitigations thereby lowering the financial institution's regulatory capital.

[0058]
It is further noted that the systems and methods may be implemented on various types of computer architectures, such as for example on a single general purpose computer or workstation, or on a networked system, or in a clientserver configuration, or in an application service provider configuration.

[0059]
It is further noted that the systems and methods may include data signals conveyed via networks (e.g., local area network, wide area network, internet, etc.), fiber optic medium, carrier waves, wireless networks, etc. for communication with one or more data processing devices. The data signals can carry any or all of the data disclosed herein that is provided to or from a device.

[0060]
Additionally, the methods and systems described herein may be implemented one many different types of processing devices by program code comprising program instructions that are executable by the device processing subsystem. The software program instructions may include source code, object code, machine code, or any other stored data that is operable to cause a processing system to perform methods described herein. Other implementations may also be used, however, such as firmware or even appropriately designed hardware configured to carry out the methods and systems described herein.

[0061]
The systems' and methods' data (e.g., associations, mappings, etc.) may be stored and implemented in one or more different types of computerimplemented ways, such as different types of storage devices and programming constructs (e.g., data stores, RAM, ROM, Flash memory, flat files, databases, programming data structures, programming variables, IFTHEN (or similar type) statement constructs, etc.). It is noted that data structures describe formats for use in organizing and storing data in databases, programs, memory, or other computerreadable media for use by a computer program.

[0062]
The systems and methods may be provided on many different types of computerreadable media including computer storage mechanisms (e.g., CDROM, diskette, RAM, flash memory, computer's hard drive, etc.) that contain instructions for use in execution by a processor to perform the methods' operations and implement the systems described herein.

[0063]
The computer components, software modules, functions, data stores and data structures described herein may be connected directly or indirectly to each other in order to allow the flow of data needed for their operations. It is also noted that a module or processor includes but is not limited to a unit of code that performs a software operation, and can be implemented for example as a subroutine unit of code, or as a software function unit of code, or as an object (as in an objectoriented paradigm), or as an applet, or in a computer script language, or as another type of computer code. The software components and/or functionality may be located on a single computer or distributed across multiple computers depending upon the situation at hand.

[0064]
It should be understood that as used in the description herein and throughout the claims that follow, the meaning of “a,” “an,” and “the” includes plural reference unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise. Finally, as used in the description herein and throughout the claims that follow, the meanings of “and” and “or” include both the conjunctive and disjunctive and may be used interchangeably unless the context clearly dictates otherwise; the phrase “exclusive or” may be used to indicate situation where only the disjunctive meaning may apply.