TRANSFORMER PHASE PERMUTATION CAUSING MORE UNIFORM TRANSFORMER PHASE AGING AND GENERAL SWITCHING NETWORK SUITABLE FOR SAME
20180083561 ยท 2018-03-22
Inventors
Cpc classification
H02J3/26
ELECTRICITY
H02P13/06
ELECTRICITY
Y02E40/50
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
Abstract
A method includes determining whether transformer phases should be permuted. The method includes, responsive to a determination that the transformer phases should be permuted, permuting the transformer phases, based on historical aging information of transformer input phases, to cause transformer input phases with higher ages to be connected to transformer output phases with lower output loads and transformer input phases with lower ages to be connected to transformer output phases with higher output loads. Multiple apparatus and program products are also disclosed.
Claims
1.-14. (canceled)
15. An apparatus, comprising: a first sorting network comprising a first logic circuit configured to sort input signals A, B, C, wherein the sorting is performed so the signals A, B, C are always in a first particular order based on values of the signals A, B, C, and wherein the first logic circuit is further configured to connect the input signals A, B, C to first outputs based on the first particular order; a second sorting network comprising a second logic circuit configured to sort output signals A.sub.0, B.sub.0, C.sub.0 to second outputs based on values of the output signals A.sub.0, B.sub.0, C.sub.0, wherein the sorting is performed so the second outputs are always in a second particular order based on the values of the output signals A.sub.0, B.sub.0, C.sub.0, and wherein the second logic circuit is further configured to connect the second outputs to the output signals A.sub.0, B.sub.0, C.sub.0, based on the second particular order; and connection circuitry configured so that first outputs and the second outputs are connected so the first outputs with lower values are connected to second outputs with higher values and the first outputs with higher values are connected to second outputs with lower values.
16. The apparatus of claim 15, wherein: the first logic circuit is configured to sort input transformer phases to age-sorted phases based on historical aging information for the input transformer phases, wherein the sorting is performed so the age-sorted phases are always in a first particular order based on corresponding ages of the input transformer phases, the first logic circuit further configured to connect the transformer input phases to outputs for the age-sorted phases based on the first particular order; the second logic circuit is configured to sort transformer output phases to load-sorted phases based on output load for each of the transformer output phases, wherein the sorting is performed so the load-sorted phases are always in a second particular order based on the output loads, wherein the second logic circuit is further configured to connect the inputs for the load-sorted phases to the output transformer phases based on the second particular order; and the connection circuitry is configured so that load-sorted phases and the age-sorted phases are connected so the outputs for the age-sorted phases with lower age are connected to inputs for load-sorted phases with higher output loads and the outputs for the age-sorted phases with higher age are connected to inputs for load-sorted phases with lower output loads.
17. The apparatus of claim 16, wherein there are three input transformer phases, and there are three output transformer phases.
18. The apparatus of claim 17, wherein the first logic circuit outputs three signals s.sub.0,s.sub.1,s.sub.2, the second logic circuit outputs three signals t.sub.0,t.sub.1,t.sub.2, and the apparatus further comprises three multiplexors, where each multiplexor selects a corresponding one of three resultant loads based on the signals s.sub.0,s.sub.1,s.sub.2, the signals t.sub.0,t.sub.1,t.sub.2, and the output loads, wherein each of the three resultant loads is a load on a corresponding one of the three transformer phases.
19. The apparatus of claim 18, wherein each multiplexor performs a 36-way selection based on permutations of combinations of possible output loads and possible resultant loads.
20. The apparatus of claim 18, further comprising: three adders, each adder adding a corresponding one of the resultant loads, after conversion to an age, with a previous value of historical aging information for a corresponding one of the input phases; and three latches, each latch latching an output of a corresponding one of the three adders.
21. The apparatus of claim 17, wherein the first logic circuit outputs three signals s.sub.0,s.sub.1,s.sub.2, the second logic circuit outputs three signals t.sub.0,t.sub.1,t.sub.2, and the permutation circuit further comprises at least one processor, which in response to executing computer-readable code selects a corresponding one of three resultant loads based on the signals s.sub.0,s.sub.1,s.sub.2, the signals t.sub.0,t.sub.1,t.sub.2, and the output loads, wherein each of the three resultant loads is a load on a corresponding one of the three transformer phases.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
DETAILED DESCRIPTION
[0024] Exemplary embodiments herein minimize transformer aging by permuting phases. For instance, if historical aging information (e.g., based on loading per phase) is maintained for each phase, then the phases can be permuted so that (1) the highest aged phase will have the lowest load and (2) the lowest aged phase will have the highest load. Thus, over time, the three phases (labeled generally as A, B, C herein) will age more uniformly. This will lengthen the life of a transformer instead of having one phase age prematurely and requiring replacement of the transformer due to early aging of one phase.
[0025] Two sorting networks are used in an exemplary embodiment: one sorting network is used to sort the input phases by age (e.g., an ascending sort); and one sorting network is used to sort the output phases by load (e.g., or age-equivalent load) (e.g., a descending sort). The outputs of each sorted network are connected so that the most highly aged phase has the lowest load and the least highly aged phase has the highest load (and, e.g., the middle aged phase has the middle load).
[0026] There are many ways to formulate transformer aging. Examples are provided below.
[0027] Turning to
[0028] The load sorting network 150 sorts the load-sorted phases 145 based on the output loads 170, which are, in this example, 25 for output load L.sub.A0 170 (e.g., on phase A.sub.0, 10 for output load L.sub.B0 170 (e.g., on phase B.sub.0), and 50 for output load L.sub.C0 170 (e.g., on phase C.sub.0). In order to make a comparison between the sorted phases 140, which are based on ages, and the output loads 170, it can be helpful to perform a load to age conversion, as performed by logic circuit 173. Output 175 from the load to age conversion logic circuit 173 will also be sent to the controller 185, in order for the controller to create or update the historical aging information 110. Load to age conversion may be performed by many techniques, including those techniques in the following: IEEE Standard C57.91-1995, IEEE Guide for Loading Mineral-Oil-Immersed Transformers (1995); and IEEE Standard IEC 60076-6, Power Transformers Part 7: Loading guide for oil-immersed power transformers (2005).
[0029] In this example, the age-converted, load-sorted phases 145 are as follows: the age estimate e.sub.0 corresponds to the output load L.sub.A0 170 of 50 (on output phase C.sub.0 160), the age estimate e.sub.1 corresponds to the output load L.sub.A0 170 (on output phase A.sub.0 160) of 25, and the age estimate e.sub.2 corresponds to the output load L.sub.B0 170 of 10 (on output phase B.sub.0 160). Thus, the loads 10, 25, and 50 (and their corresponding age estimates, A(10), A(25), and A(50)) are sorted in a descending manner for this example. The output phases 160 are therefore connected as follows: output phase A.sub.0 160 is connected to e.sub.1; output phase B.sub.0 160 is connected to e.sub.2; and output phase C.sub.0 160 is connected to e.sub.0.
[0030] This means that the input transformer phases 120 are connected to output transformer phases 160 as follows: input phase A 120 is connected to output phase B.sub.0 160; input phase B 120 is connected to output phase C.sub.0 160; and input phase C 120 is connected to output phase A.sub.0 160. Thus, the input phase 120 with the highest age in historical aging information 110 (i.e., input phase A 120 with an age of 300) is connected to the output phase 160 with the lowest load (i.e., output phase B.sub.0 160 with a load of 10), the input phase 120 with the lowest age in historical aging information 110 (i.e., input phase B 120 with an age of 100) is connected to the output phase 160 with the lowest load (i.e., output phase C.sub.0 160 with a load of 50), and the input phase 120 with the middle age in historical aging information 110 (i.e., input phase C 120 with an age of 200) is connected to the output phase 160 with the middle load (i.e., output phase A.sub.0 160 with a load of 25).
[0031] In examples herein, {P.sub.A, P.sub.B, P.sub.C} are the resultant loads that input phases 120 {A, B, C} see for optimal phase balancing, e.g., in order to create more uniform transformer phase aging at any given instant. In these examples, the system 100 operates to compute the resultant loads {P.sub.A, P.sub.B, P.sub.C} relative to {L.sub.A0, L.sub.B0, and L.sub.C0}, which are loads on output phases 160 {A.sub.0, B.sub.0, and C.sub.0}, respectively. These examples are described in more detail below. It is noted that the loads L.sub.A0, L.sub.B0, and L.sub.C0 are technically loads and not ages, and these loads are expected to be converted into equivalent ages for comparison. However, for ease of reference and for simplicity, the L.sub.A0, L.sub.B0, and L.sub.C0 are primarily used herein using their load information, although such load information would typically be converted to corresponding ages.
[0032] One possible implementation shown in
[0033] In this example, the controller 180 controls the permutation circuit 105 to cause the permutation circuit 105 to permute the phases. Particularly, the permutation circuit 105 controls the age sorting network 130 via a control signal 146 and controls the load sorting network 150 via a control signal 147. For instance, the controller 180 may cause the sorting of the ages and the output loads, e.g., periodically or if a output load 170 changes. The two sorting networks 130, 150 may be independently controlled via the two control signals 146, 147 (e.g., should timing necessitate this) or could be controlled by a single control signal 148. It is further noted that the signals 146 and 147 may further include in certain exemplary embodiments the outputs of s.sub.0, s.sub.1, s.sub.2 (on signal 146) and t.sub.0, t.sub.1, t.sub.2 (on signal 147) as described below.
[0034] In an exemplary embodiment, each sorting network is comprised of three comparators, each running in parallel. The sort ascending network computes outputs referred to as s.sub.0, s.sub.1, s.sub.2 while the sort descending network computes outputs referred to as t.sub.0, t.sub.1, t.sub.2. Once computed, these signals change the state of the network so that heavily aged phases see lighter loads for more uniform transformer aging. These signals are also used as select signals for multiplexors (in an exemplary embodiment described below) so that the transformer aging updates are performed properly.
[0035] It is noted power flows from A, B, C to A.sub.0, B.sub.0, C.sub.0, and that, in an exemplary embodiment, the latched values a, b, c and L.sub.A0, L.sub.B0, L.sub.C0 are inputs to comparators which compute selects for muxes to determine how power flows in the switching network. Also, after updating a, b, c in an exemplary embodiment, the state of L.sub.A0, L.sub.B0, L.sub.C0 should be reset to zero, indicating that a new time interval for transformer aging has begun.
[0036] The system 100 in
a=a+age(L.sub.B0)=a+P.sub.A=300+10=310, P.sub.A=age(L.sub.B0);
b=b+age(L.sub.C0)=b+P.sub.B=100+50=150, P.sub.B=age(L.sub.C0); and
c=c+age(L.sub.A0)=c+P.sub.C=200+25=225, P.sub.C=age(L.sub.A0),
where age( ) converts load to age; This age conversion would compare, in an exemplary embodiment, the load against the transformer rating and set the age accordingly. If the load is higher than the rating, the transformer will age at an accelerated rate. Conversely, if the load is less than the rating, then the transformer will age at a reduced rate. As stated above, in exemplary embodiments, the resultant loads {P.sub.A, P.sub.B, P.sub.C} are the loads that input phases {A, B, C} 120 see for optimal phase balancing. The system 100 in exemplary embodiments operates to compute the resultant loads {P.sub.A, P.sub.B, P.sub.C} relative to {L.sub.A0, L.sub.B0, and L.sub.C0}, which are loads on output phases 160 {A.sub.0, B.sub.0, and C.sub.0}, respectively. Thus, the historical aging information 110 changes from {300, 100, 200} to {310, 150, 225}, which means that the transformer phase aging is more uniform.
[0037] Turning to
a=a+age(L.sub.B0)=a+P.sub.A=310+50=360, P.sub.A=age(L.sub.B0)
b=b+age(L.sub.A0)=b+P.sub.B=150+100=250, P.sub.B=age(L.sub.A0)
c=c+age(L.sub.C0)=c+P.sub.C=225+75=295, P.sub.C=age(L.sub.C0)
This further causes more uniform transformer aging of phases. For instance, the original historical aging information 110 was {300, 100, 200}, which as a percentage of the highest age was {100, 33.3, and 66.7}. The ending historical aging information 110 is {360, 250, 295}, which as a percentage of the highest age is {100, 69.4, and 81.9}. Thus, the historical age for each phase is more uniform after the second iteration.
[0038] There are transformer phase permutation equations that may be used to perform the permutation. For instance an age update may be performed using three adders 290-1, 290-1, and 290-3 as shown in
[0039] Referring to
[0040]
[0041] Exemplary embodiments for efficiently computing the assignments for the loads {P.sub.A, P.sub.B, P.sub.C} are described in more detail below. Before describing computation of the assignments, it is helpful to describe exemplary embodiments for the sort descending and sort ascending networks (e.g., 141, 151, respectively).
[0042] Turning to
[0043]
d.sub.0
d.sub.1=(s.sub.0s.sub.1)A+(
d.sub.2=s.sub.0s.sub.1A+
These operations can easily be transformed into a logic circuit 141 comprising logic gates and routing. In particular, three comparators may be used: a comparator 330-1 of a>b; a comparator 330-2 of a>c; and a comparator 330-3 of b>c. Furthermore, three multiplexors would also be used (one multiplexor for each of d.sub.0, d.sub.1, and d.sub.2, e.g., as per the equations above).
[0044] A simple example is now presented to illustrate the operation of
[0045] For an age sorting network 130 implementing
d.sub.0=00A+1(0+1)B+1(0+0)C=1(1)B=B
d.sub.1=(11)A+(001+110)B+(001+111)C=0A+(0)B+(0+1)C=C
d.sub.2=11A+0(1+0)B+0(1+1)C=1A+0B+0C=A
[0046] Turning to
[0047] The logical operations in load sorting network 150 (e.g., and the logic circuit 151) need to connect paths from load-sorted phases 145 {e.sub.0, e.sub.1, e.sub.2} to output phases 160 {A.sub.0, B.sub.0, C.sub.0} controlled by loads {L.sub.A0, L.sub.B0, L.sub.C0}. An exemplary implementation of a logic circuit 151 and the load sorting network 150 comprises nine pass transistors, one for each connection {e.sub.0, e.sub.1, e.sub.2}x{A.sub.0, B.sub.0, C.sub.0}. See also
[0048] For instance, the logic controlling pass transistor e.sub.2B.sub.0 is (L.sub.B0L.sub.A0) & (L.sub.B0L.sub.C0). That is, e.sub.2 is the minimum of {L.sub.A0, L.sub.B0, L.sub.C0} and the minimum is L.sub.B0. The load sorting network 150 connects e.sub.2 to B.sub.0. Of the nine pass transistors, only three will be turned on: e.sub.0 connects to one of {A.sub.0, B.sub.0, C.sub.0}; e.sub.1 connects to one of {A.sub.0, B.sub.0, C.sub.0}; and e.sub.2 connects to one of {A.sub.0, B.sub.0, C.sub.0}. Equations that may be used to determine e.sub.0, e.sub.1, and e.sub.2 are as follows:
e.sub.0=t.sub.0t.sub.1A.sub.0+
e.sub.1=(t.sub.0t.sub.1)A.sub.0+(
e.sub.2=
Note that A.sub.0 can be considered to be L.sub.A0, B.sub.O can be considered to be L.sub.B0, and C.sub.0 can be considered to be L.sub.C0.
[0049] As another example of a possible hardware implementation, three comparators may be used (see
[0050] Turning to
[0051]
[0052]
[0053]
[0054] Referring to
[0055] The sort ascending functions 520 and the sort descending functions 530 for reference 585-1 are shown for each of the output loads (using only the alphabetical subscript for L.sub.A0, L.sub.B0, and L.sub.C0 for clarity): ABC, ACB, BAC, BCA, CAB, and CBA. Similarly, the sort ascending functions 520 and the sort descending functions 530 for reference 585-1 are shown for each of the output loads (using only the alphabetical subscript for L.sub.A0, L.sub.B0, and L.sub.C0 for clarity): ABC, ACB, BAC, BCA, CAB, and CBA. Each of the resultant loads P.sub.A, P.sub.B, and P.sub.C are shown, as are their assigned output loads 170 in columns 540, 550, and 560. As illustrated by reference 510, which may indicate the operations taken by a circuit designed to implement the logic for both logic circuit 141 and logic circuit 151, the resultant loads P.sub.A, P.sub.B, and P.sub.C may be determined using the logic shown in block 510 and below:
P.sub.A=
P.sub.B=
P.sub.A=
[0056] For ease of reference, for reference 585-1, certain sort ascending functions 520 have reference numbers 1, 6, and 11 assigned; certain sort descending functions 530 have reference numbers 2, 7, and 12 assigned; the resultant load P.sub.A has reference numbers 3, 8, and 13 assigned to corresponding ones of the output loads 170 in column 540; the resultant load P.sub.B has reference numbers 4, 9, and 14 assigned to corresponding ones of the output loads 170 in column 550; and the resultant load P.sub.C has reference numbers 5, 10, and 15 assigned to corresponding ones of the output loads 170 in column 560. For reference 585-2, certain sort ascending functions 520 have reference numbers 18, 21, and 26 assigned; certain sort descending functions 530 have reference numbers 17, 22, and 27 assigned; the resultant load P.sub.A has reference numbers 18, 23, and 28 assigned to corresponding ones of the output loads 170 in column 540; the resultant load P.sub.E has reference numbers 19, 24, and 29 assigned to corresponding ones of the output loads 170 in column 550; and the resultant load P.sub.C has reference numbers 20, 25, and 30 assigned to corresponding ones of the output loads 170 in column 560. The reference numbers 1-30 are used to illustrate the logic in reference 510 as follows:
P.sub.A=1,2,3+6,7,8+11,12,13+ . . . +16,17,18+21,22,23+26,27,28 . . .
P.sub.B=1,2,4+6,7,9+11,12,14 + . . . +16,17,19+21,22,24+26,27,29 . . .
P.sub.C=1,2,5+6,7,10+11,12,15+ . . . +16,17,20+21,22,25+26,27,30 . . .
The other elements in the table in
[0057] Turning to
[0058] Similarly, the values in
[0059] The outputs {s.sub.0 s.sub.1 s.sub.2} from the sort ascending network (e.g., logic circuit 141) are used to select the row and the outputs {t.sub.0 t.sub.1 t.sub.2} from the sort descending network (e.g., logic circuit 151) are used to select the column. Each entry in the matrix of
[0060] Eq. 1 above may also be determined using the matrix shown in
[0061] Each of P.sub.A, P.sub.B, and P.sub.C may be determined using a 36-way multiplexor (MUX) as shown in
[0062] As previously discussed, it is noted power flows from A,B,C to A.sub.0,B.sub.0,C.sub.0, and that the latched values a,b,c and L.sub.A0, L.sub.B0, L.sub.C0 are inputs to comparators which compute selects for muxes to determine how power flows in the switching network. Also, after updating a,b,c the state of L.sub.A0,L.sub.B0,L.sub.C0 should be reset to zero, indicating that a new time interval for transformer aging has begun.
[0063] The L.sub.A0, L.sub.B0, and L.sub.C0 are data inputs to 36-way muxes 710-1, 710-2 and 710-3. The outputs {s.sub.0 s.sub.1 s.sub.2} from the sort ascending network (e.g., logic circuit 141) and the outputs {t.sub.0 t.sub.1 t.sub.2} from the sort descending network (e.g., logic circuit 151) are used to select the corresponding P.sub.A, P.sub.B, or P.sub.C, respectively. Each mux 710-1, 710-2 or 710-3 produces a corresponding output P.sub.A, P.sub.B, or P.sub.C, respectively. The outputs may be described as the following: P.sub.A=mux36(L.sub.A, L.sub.B, L.sub.C, s.sub.0, s.sub.1, S.sub.2, t.sub.0, t.sub.1, t.sub.2); P.sub.B=MUX36(L.sub.A, L.sub.B, L.sub.C, s.sub.0, s.sub.1, s.sub.2, t.sub.0, t.sub.2); and P.sub.C=mux36(L.sub.A, L.sub.B, L.sub.C, s.sub.0, S.sub.1, s.sub.2, t.sub.0, t.sub.1, t.sub.2), where L.sub.A, L.sub.B, L.sub.C are data and s.sub.0, s.sub.1, s.sub.2, t.sub.0, t.sub.1, t.sub.2 select a corresponding P.sub.A, P.sub.B, or P.sub.C. For instance, the selection may be considered to be a selection of an entry in the matrix shown in
[0064] It is noted that the calculations described above for the sort ascending network, the sort descending network, the load to age conversion logic circuit 173, the muxes 710, the adders 720, and the latches 730 may be performed by one or more processors such as processor(s) 190. The processors would then control hardware such as relays to couple the phases 120 to the proper output loads 170. In another exemplary embodiment, such as in
[0065] It is noted that the above are merely exemplary. There are obviously other variations, such as age sorting in an ascending manner and load sorting in a descending manner. Furthermore, although emphasis is placed on three-phase transformers, the exemplary embodiments may be applicable to other transformers, such as two-phase transformers.
[0066] Turning to
[0067] The blocks in
[0068] In block 620, the transformer phase permutation system 100 determines if it is time to permute the transformer phases. Block 620 may be performed, e.g., by the controller 180. If it is not time to permute the phases (block 620=No), the flow proceeds to block 605. If it is time to permute the phases (block 620=Yes), the flow proceeds to block 625.
[0069] In block 625, the transformer phase permutation system 100 permutes the transformer phases, based on historical aging information of the transformer input phases, to cause transformer input phases with higher age to be connected to transformer output phases with lower output load and transformer input phases with lower age to be connected to transformer output phases with higher output load. This is shown, e.g., in
[0070] Regarding block 625 as being performed by the permutation circuit 105, blocks 630, 635, 640, and 645 are examples of block 625. In block 630, the permutation circuit 105 (e.g., the age sorting network 130) sorts the input transformer phases to age-sorted phases 140 based on historical aging information for the input transformer phases. The age-sorted phases 140 are always in a first particular order based on the ages (as shown in
[0071] In block 640, the permutation circuit 105 (e.g., the load sorting network 150) sorts the transformer output phases 160 to load-sorted phases 145 based on output load 170 for each of the transformer output phases 160. The load-sorted phases 145 are always in a second particular order based on the output loads 170, as seen in
[0072] In a logic implantation such as those shown in
[0073] Although described above mainly in relation to transformer again, the circuits shown above are general switching networks that sort (e.g., ascending) A,B,C and sort (e.g., descending) A.sub.0,B.sub.0,C.sub.0 and makes connections from input to output. Transformer aging is just a particular application of the general switching networks.
[0074] The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
[0075] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
[0076] Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
[0077] Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the C programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
[0078] Aspects of the present invention are described herein with reference to flowchart illustrations and/or block the invention. 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 readable program instructions.
[0079] These computer readable 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 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. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
[0080] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
[0081] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
[0082] The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.