6.2 Automating Availability Computations


6.2 Automating Availability Computations

As noted in the first section of this chapter, the computation of system availability can be reduced to a series of computations for devices in series and parallel. To facilitate the computations involved in determining serial and parallel component availability, the program AVAIL.BAS was developed. Table 6.2 lists the statements in that BASIC language program.

Table 6.2: Program Listing of AVAIL.BAS
 CLS :  REM PROGRAM AVAIL.BAS PRINT "PROGRAM AVAIL.BAS TO COMPUTE AVAILABILITY LEVELS" PRINT PRINT "INDICATE COMPUTATIONS DESIRED " PRINT "     S)ERIAL" PRINT "     P)ARALLEL" PRINT "     B)OTH SERIAL AND PARALLEL" AGN: INPUT "ENTER THE TYPE OF COMPUTATIONS DESIRED       : ," COMP$ IF COMP$ <> "S" AND COMP$ <> "P" AND COMP$ <> "B" THEN GOTO AGN: IF COMP$ = "B" THEN TRY$ = "A" IF COMP$ = "B" THEN COMP$ = "S" GOSUB DENTER IF COMP$ = "S" THEN GOSUB SCOMPUTE IF COMP$ = "P" THEN GOSUB PCOMPUTE IF TRY$ = "A" THEN COMP$ = "P" IF TRY$ = "A" THEN GOSUB DENTER IF TRY$ = "A" THEN GOSUB PCOMPUTE STOP DENTER:        IF COMP$ = "P" THEN GOTO PAR        INPUT "ENTER NUMBER OF COMPONENTS IN SERIAL -MAX 10    : ," C        IF COMP$ = "S" THEN GOTO SER PAR:   INPUT "ENTER NUMBER OF COMPONENTS IN PARALLEL - MAX 10 : ," C SER:   PRINT : PRINT "HOW DO YOU WANT TO ENTER DATA ?"        PRINT "AS P)ERCENT e.g., 12.5"        PRINT "AS M)TBF AND MTTR"        INPUT "ENTER DATA ENTRY METHOD -P OR M                : ," D$        IF D$ <> "P" AND D$ <> "M" THEN GOTO DENTER        IF D$ = "M" GOTO MENTRY FOR I = 1 TO C        PRINT "FOR COMPONENT"; I;        INPUT "ENTER PERCENT AVAILABILITY      : ," A(I)        A(I) = A(I)/100        NEXT I        RETURN MENTRY:        FOR I = 1 TO C        PRINT "FOR COMPONENT"; I;        INPUT "ENTER MTBF AND MTTR VALUES      : ," MTBF(I), MTTR(I)        A(I) = MTBF(I)/(MTBF(I) + MTTR(I))        NEXT I        RETURN SCOMPUTE:        IF COMP$ = "P" GOTO PCOMPUTE        PROD = 1        FOR I = 1 TO C        PROD = PROD * A(I)        NEXT I        PRINT USING "AVAILABILITY OF ## "; C;        PRINT USING " DEVICES IN SERIES = ##.#####"; PROD * 100        RETURN PCOMPUTE:        PROD = 1        FOR I = 1 TO C        PROD(I) = (1 - A(I))        PROD = PROD * PROD(I)        NEXT I        AVAIL = 1 - PROD        PRINT USING "AVAILABILITY OF ##"; C;        PRINT USING " DEVICES IN PARALLEL = ##.#####"; AVAIL * 100        RETURN END 

6.2.1 Program AVAIL.BAS

The program AVAIL.BAS can be used to compute the availability levels for components connected in series or in parallel. In fact, by selecting the program's BOTH option, the program will first compute the availability level of components connected in series and then compute the availability level of components connected in parallel.

To facilitate data entry, the program permits you to enter data in either of two ways. You can enter data concerning the availability level of individual components as a percent, or you can enter MTBF and MTTR values. For either data entry method, the program accepts a maximum of ten component availability level values, which should be more than sufficient for essentially all network configurations. In the event you require the computation of more than ten component availability level values, you can easily modify AVAIL.BAS. To do so, you would simply add a DIM statement at the beginning of the program, which would contain a value for each array used in the program that reflects the highest number of components you intend to analyze. Because BASIC automatically dimensions all arrays to ten elements, no DIM statement was required in AVAIL.BAS.

6.2.2 Program Execution

Because the best way to illustrate the use of a computer program is to execute the program, let us do so. In doing so, let us assume our network configuration consists of two sets of five components connected in series, with each set routed parallel to the other set of components. Let us also assume that we have component availability expressed as a percent for one set of components and as MTBF and MTTR data for the second set of components.

Table 6.3 illustrates the execution of AVAIL.BAS to compute the availability of five serially connected components when availability for each component is available as a percent. In this example, it was assumed that four components each had an availability level of 99.9 percent, while one component had an availability level of 99.85 percent. As noted at the bottom of Table 6.3, the availability level of the five devices in series was computed as 99.45 percent.

Table 6.3: Program AVAIL.BAS to Compute Availability Levels
 INDICATE COMPUTATIONS DESIRED      S)ERIAL      P)ARALLEL      B)OTH SERIAL AND PARALLEL ENTER THE TYPE OF COMPUTATIONS DESIRED          : S ENTER NUMBER OF COMPONENTS IN SERIAL -MAX 10    : 5 HOW DO YOU WANT TO ENTER DATA ? AS  P)ERCENT e.g., 12.5 AS  M)TBF AND MTTR ENTER DATA ENTRY METHOD -P OR M : P FOR COMPONENT 1 ENTER PERCENT AVAILABILITY      : 99.9 FOR COMPONENT 2 ENTER PERCENT AVAILABILITY      : 99.9 FOR COMPONENT 3 ENTER PERCENT AVAILABILITY      : 99.85 FOR COMPONENT 4 ENTER PERCENT AVAILABILITY      : 99.9 FOR COMPONENT 5 ENTER PERCENT AVAILABILITY      : 99.9 AVAILABILITY OF 5 DEVICES IN SERIES = 99.45120 

Table 6.4 illustrates the execution of the program AVAIL.BAS to compute the availability of five serially connected components when you wish to use and have available MTBF and MTTR data. In this example, it was assumed that four network components each had an MTBF of 8000 hours and an MTTR of 24 hours. Concerning the latter, it was assumed that repair is accomplished by replacement and that your organization uses Express Mail, Federal Express, or a similar overnight service to deliver a new device that will be used to replace a failed device. Because your presumed experience is that the average time from failure notification to the replacement of the failed device is 24 hours, 24 hours was for each of four MTTR values. For one component an MTBF of 720 hours and an MTBR of two hours was used. This availability setting is representative of many digital transmission lines, because there are 24 * 30, or 720 hours in a "typical" month, and one two- hour failure provides an approximate 99.7 percent level of line availability. As indicated at the bottom of Table 6.4, the availability level of this second set of five devices connected in series was computed to be 97.95 percent.

Table 6.4: Program AVAIL.BAS to Compute Availability Levels
 INDICATE COMPUTATIONS DESIRED      S)ERIAL      P)ARALLEL      B)OTH SERIAL AND PARALLEL ENTER THE TYPE OF COMPUTATIONS DESIRED          : S ENTER NUMBER OF COMPONENTS IN SERIAL -MAX 10    : 5 HOW DO YOU WANT TO ENTER DATA ? AS  P)ERCENT e.g., 12.5 AS  M)TBF AND MTTR ENTER DATA ENTRY METHOD -P OR M                 : M FOR COMPONENT 1 ENTER MTBF AND MTTR VALUES      : 8000,24 FOR COMPONENT 2 ENTER MTBF AND MTTR VALUES      : 8000,24 FOR COMPONENT 3 ENTER MTBF AND MTTR VALUES      : 720,2 FOR COMPONENT 4 ENTER MTBF AND MTTR VALUES      : 8000,48 FOR COMPONENT 5 ENTER MTBF AND MTTR VALUES      : 8000,48 AVAILABILITY OF 5 DEVICES IN SERIES = 97.94843 

Now that you have determined the availability level of each set of serially connected devices, you can compute system availability by treating each resulting computed value as two devices in parallel. Thus, you can use AVAIL.BAS one more time to compute the system availability level of your two sets of five serially connected devices. To do so, you will execute AVAIL.BAS and select the parallel computation option.

Table 6.5 illustrates the execution of AVAIL.BAS in which the parallel option was selected. Because your previous executions of AVAIL.BAS resulted in two availability levels expressed as a percent, you will now select the percent data entry method for the parallel component computations. As indicated in Table 6.5, entering the results of the previous serial availability levels results in the availability level of 99.98874 percent. This represents the system availability level of the two sets of five serially connected components whose individual availability levels were previously specified. As indicated by this short example, you can use the program AVAIL.BAS to simplify the computations associated with different network structures because those structures can be considered to represent a mixture of devices connected in series or parallel.

Table 6.5: Program AVAIL.BAS to Compute Availability Levels
 INDICATE COMPUTATIONS DESIRED      S)ERIAL      P)ARALLEL      B)OTH SERIAL AND PARALLEL ENTER THE TYPE OF COMPUTATIONS DESIRED          : P ENTER NUMBER OF COMPONENTS IN PARALLEL - MAX 10 : 2 HOW DO YOU WANT TO ENTER DATA ? AS  P)ERCENT e.g., 12.5 AS  M)TBF AND MTTR ENTER DATA ENTRY METHOD -P OR M                 : P FOR COMPONENT 1 ENTER PERCENT AVAILABILITY      : 99.4512 FOR COMPONENT 2 ENTER PERCENT AVAILABILITY      : 97.94843 AVAILABILITY OF 2 DEVICES IN PARALLEL = 99.98874 

6.2.3 The Availability Spreadsheet Template

To facilitate availability computations, a template named AVAIL was created using Microsoft's Excel spreadsheet. This template is illustrated in Figure 6.6 and can be obtained at the Web URL mentioned in this book as the file AVAIL in the directory EXCEL.

click to expand
Figure 6.6: Availability Levels: Base Template

In examining the EXCEL AVAIL template shown in Figure 6.6, note that the template permits you to compute availability based on a percent or expressed in terms of MTBF and MTTR periods of time. Also note that the cell entries in the columns labeled Component Availability and MTBF and MTTR contain the values #na. In Microsoft's Excel, #na represents the condition "no value is available." In the spreadsheet template, #na was used to prevent division by zero conditions from occurring and would be replaced by actual availability data you would enter as you begin to use this template.

To illustrate the use of this Excel template, let us assume you want to determine the level of availability of two pairs of five components, with each sequence of components connected in series while the pairs provide a parallel routing topology. To facilitate providing a comparison to a previous computation presented in this chapter, let us assume that the level of availability of each component is 0.9. Then, you would first enter 0.9 in the component availability column for the first five components, obtaining a value of 0.59049 for the availability level of five components connected serially. This is illustrated in Figure 6.7, which indicates the entry of values for the five components and the resulting computations for serial availability and parallel availability. Note that for five components, the serial availability is indicated as 0.59049 in the column labeled Serial Availability at the top of the model being exercised. Because we previously specified that there are two pairs of five serially configured components in parallel, we would next reenter the previously computed serial availability values twice to compute the resulting level of availability for parallel components. This is illustrated in Figure 6.8.

click to expand
Figure 6.7: Availability Levels: Entry of Values and Resulting Computations
click to expand
Figure 6.8: Availability Levels: Reentering Computed Serial Availability Values Twice

In examining Figure 6.8, note that 0.59049 was entered as the component availability for components 1 and 2 as we want to compute parallel availability for two sequences of five components in series. Reading across the Component 2 row to the column labeled Parallel Availability, you will note the value 0.83230. This indicates that two pairs of five components routed in series with individual component availability levels of 0.9 have a parallel level of availability of 83.23 percent. While this spreadsheet template may require the entry of a few sequences of data, it provides you with the ability to easily compute the availability levels of components connected in series and in parallel.




Enhancing LAN Performance
Enhancing LAN Performance
ISBN: 0849319420
EAN: 2147483647
Year: 2003
Pages: 111
Authors: Gilbert Held

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net