Fault Tolerance In Distributed Systems Computer Science Essay

Calculating systems consist of a assortment of hardware and package constituents that are bound to neglect finally [ 8 ] . In many systems, such constituent failures can take to unforeseen, potentially riotous failure behaviour and to service inaccessibility. Some systems are designed to be fault-tolerant: they either exhibit a good defined failure behaviour when constituents fail or mask component failures to users that is, continue to supply their specified criterion service despite the happening of constituent failures [ 9 ] . To many users impermanent errant system failure behaviour or service inaccessibility is acceptable.

There is, nevertheless, a turning figure of user communities for whom the cost of unpredictable, potentially risky failures or system service inaccessibility can be really important.Examples include the online dealing processing, procedure control, and computer-based communications user communities. To minimise losingss due to unpredictable failure behaviour or service inaccessibility, these users rely on mistake tolerant systems. With the of all time increasing dependance placed on calculating services, the figure of users who will demand fault-tolerance is likely to increase.

Get quality help now
Writer Lyla
Writer Lyla
checked Verified writer

Proficient in: Computers

star star star star 5 (876)

“ Have been using her for a while and please believe when I tell you, she never fail. Thanks Writer Lyla you are indeed awesome ”

avatar avatar avatar
+84 relevant experts are online
Hire writer

The undertaking of planing and understanding fault-tolerant distributed system architectures is notoriously hard: 1 has to remain in control of non merely the criterion system activities when all constituents are good, but besides of the composite

state of affairss which can happen when some constituents fail. The trouble of this undertaking can be exacerbated by the deficiency of clear structuring constructs and the usage of a confusing nomenclature. Soon, it is rather common to see different people use


different names for the same construct or utilize the same term for different constructs.

Get to Know The Price Estimate For Your Paper
Number of pages
Email Invalid email

By clicking “Check Writers’ Offers”, you agree to our terms of service and privacy policy. We’ll occasionally send you promo and account related email

"You must agree to out terms of services and privacy policy"
Write my paper

You won’t be charged yet!

For illustration, what one individual calls a failure, a 2nd individual calls a mistake, and a

3rd individual might name an mistake. Even the term `` fault-tolerant '' itself is used equivocally to denominate such distinguishable system belongingss as `` the system has a chiseled failure behaviour '' and `` the system masks constituent failures. [ 8 ] ''

When a system is designed to dissemble failures, it continues to execute its specified map in the event of a failure [ 9 ] . A system designed for good defined behaviour may or may non execute the specified map in the event of a failure, nevertheless, it can ease actions suited for recovery.

One key attack used to digest failures is redundancy [ 8 ] . In this attack, a system may use a multiple figure of procedures, multiple Numberss of hardware constituents, multiple Numberss of transcripts of informations, etc with independent failure manners.

1.2 Thesis Objective

To imitate the message transportation throughput in assorted topologies utilizing assorted package belongingss.

Comparison of the proposed familial algorithm with the random voting algorithm proposed by Akhil Kumar [ 7 ] .

To cipher handinesss under assorted nodes chances utilizing the proposed familial algorithm.


1.3 Thesis Organization

This thesis is divided into 7 chapters. Each chapter focuses on a specific subject in the field of mistake tolerance.

Chapter 1 gives an overview of the overall mistake tolerance issues. It introduces the construct of mistake tolerance and the assorted types mistake tolerance mechanisms.

Chapter 2 trades with the literature reappraisal of the related plants and illustrate assorted protocols used for mistake tolerance. It discusses the assorted strategies used for the ballot assignment including the dynamic ballot assignment policies. It covers the group vote mechanism for effectual message passing.

Chapter 3 trades with the simulation work carried out in regard of the thesis aim. It shows the assorted parametric quantity public presentations during the simulation period. It besides shows the assorted scenarios created for the simulation of the different topologies.

Chapter 4 gives the imposter codification for the proposed familial vote attack.It depicts the assorted methods used in the vote procedure.

Chapter 5 shows the assorted experimental consequences that resulted from the simulation of the web topologies. It gives the overview of the public presentation parametric quantities in the message transportation operating expense. The comparing between the proposed algorithm and random algorithm gives the clear image of the public presentation of the two algorithms.

Chapter 6 concludes demoing decision drawn from the assorted simulation and experimental consequences


Chapter 2


Inactive Vote

Majority Based Dynamic Voting

Dynamic Vote Reassignment

Group Based Voting


2. Literature Reappraisal

2.1 Inactive vote

This inactive vote is proposed by Gifford [ 2 ] .

Retroflexing informations at many sites is the common attack in the mistake tolerance in distributed systems. Datas can still be obtained from the other transcripts if the original fails. Commit protocols [ 10,11,12 ] can be employed to update multiple transcripts of informations.While the non-blocking protocol [ 11,12 ] of the commit protocol household can digest individual site failure, it is non resilient to multiple site failures, communicating failures and web breakdown. In [ 10 ] commit protocols, when a site is unapproachable, the coordinator sends messages repeatedly and finally may make up one's mind to abort the dealing, thereby denying entree to informations. However, it is desirable that the sites continue to run even when other sites have crashed [ 11,12 ] , or at least one divider should go on to run after the system has been partitioned. Another good known technique used to pull off replicated information is the voting mechanism [ 2 ] . With the vote mechanism [ 13,14 ] , each reproduction is assigned some figure of ballots and bulk of ballots must be collected from a procedure before it can entree a reproduction. The vote mechanism [ 13 ] is more mistake tolerant than a commit protocol in that it allows entree to data under the web dividers, site failures and message loses without consisting the unity of the informations.



Site I issues a Lock_Request to its local lock director.

When the lock petition is granted, site one sends a Vote_Request message to all the sites.

When a site J receives a Vote_Request message, it issues a Lock_Request to its local lock director. If the local petition is granted, so it returns the version figure of the reproduction ( VNj ) and the figure of the ballots assigned to the reproduction ( Vj ) to site I.

Site one decide whether it has the quorum or non, based on the reproduction received within a timeout period as follows ( P denotes the set of sites which have replied ) .

If the petition issued was a read,


If the petition issued was a write,


Where the set of sites Q is determined as follows:

M=max { VNj: ja‚¬P }

Q= { ja‚¬P: VNj=M }


If the site I is non successful in obtaining the quorum, so it issues a Release_Lock to the local lock director every bit good as to all the sites in P from whom it has received ballots.

If site I is successful in obtaining the quorum, so it checks whether its bull of the file is current. A transcript is current if its version figure is equal to M. If the transcript is non current, a current transcript is obtained from a site that has a current transcript. Once a current transcript is available locally, site I performs the following measure.

If the petition is a read, site I reads the current transcript available locally. If the petition is a write, site I updates the local transcript. Once all the entrees to the transcript are performed, site I updates VNi, and sends all the updates and VNi to all the sites in Q. Note that a write operation updates merely current transcripts. Site one so issues a Release_Lock petition to its local lock director every bit good as to all the sites in P.

All the sites having the updates perform the updates on their local transcript and on having a Release_Lock petition, let go of the locks

2.2 Majority Based Dynamic Voting

This protocol is proposed by Jajodia and Mutchler [ 5 ] .

Version figure: The version figure of a reproduction at a site I is an whole number that counts the figure of successful updates to the reproduction at i. VNi is ab initio set at zero and is incremented b one at every successful updates to the reproduction at i. VNi is


ab initio set at zero and is incremented by one at every successful update.

Number of Replicas updated: It is an whole number that about ever reflects the figure of reproduction the figure of replicas take parting in the most recent update RUi is ab initio equal to the figure of reproduction.

Distinguished sites list: The distinguished sites list [ 5 ] at a site I is a variable that shops ID 's of one or more sites. The contents of DSi depend on RUi. When RUi is even, DSi identifies the reproduction that is greater than all the other reproduction that participated in the most recent update of the reproduction at site I. When RUi is uneven, DSi is nil except when RUi =3, in which instance DSi lists the three reproduction that participated in the most recent update from which a bulk is needed to let entree to informations.

Outline of the protocol:

Site I issues a Lock_Request to its local lock director.

If the lock is granted, site one sends a Vote_Request message to all the sites.

When a site J receives the Vote_Request message, it issues a Lock_Request to its local lock director. If the lock is granted, site J sends the values of VNj, RUj and DSj to site I.

From all the responses, site I decides whether it belongs to the distinguished divider, described shortly.

If site I does non belong to the distinguished divider [ 5 ] , it issues a Release_Lock petition to its local lock director and sends Abort messages to all the other sites that responded. A site, on having a Abort message, issues a Release_Lock petition to its local lock director.


If site I does non belong to the distinguished divider, it performs the update if its local transcript is current. Otherwise, site I obtain a current transcript from one of the other sites and so execute the update. Note that along with the reproduction update, VNi, RUi and DSi. It so issues a Release_Lock petition to the local lock director.

When a site J receives a commit message, it updates its reproduction, updates the variables VNj, RUj and DSj and issues a Release_Lock petition to the local lock director.

2.3 Dynamic Vote reassignment protocols

The existent thought was proposed by Gifford [ 2 ] but was discussed in item by Barbara, Garcia-Molina, and Spauster [ 16 ] .

Barbara et Al. [ 4,15 ] categorized the Dynamic ballot reassignment into two types:

Group consensus

The sites in the active group agree upon the new ballot assignment utilizing either a distributed algorithm or Bi choosing a coordinator to execute the undertaking. Since the outside the bulk group did n't have any ballots.

Because this method relies on active group engagement, the current system topology will be known before make up one's minding the ballot assignments [ 4,15,16 ] . by utilizing that information


Autonomous Reassignment

Each node makes its ain determination about altering its ballots and picking a new ballot value, without sing the remainder of the nodes [ 15,16 ] . Before the alteration is made concluding, though, the node must roll up a bulk of ballots.

The Protocols

The protocols for independent ballot reassignment [ 4,9,15,16 ] are what warrant common exclusion. Once a node picks a new ballot value, a ballot altering protocol is invoked to put in the alteration. The ballot altering protocol uses the ballot roll uping protocol to guarantee that adequate ballots have been collected to formalize the alteration. In add-on, the ballot roll uping protocol is used for all other operations necessitating bulk blessing.

Protocol P1. Vote increasing. The instigator ( node I )

Send the new ballot value along with [ 15,16 ] Vi and Ni to the remainder of the nodes with which node I can pass on.

Wait for a bulk of recognitions to get ( whether or non a bulk of ballots has been received by node I is determined by following protocol P2 [ 16 ] ) , and so put in the alteration in the local vote vector, that is update Vi [ I ] and increase the version figure Ni [ I ] by 1.

Protocol P2. Vote Roll uping

Assume node I is roll uping ballots to make up one's mind upon an event. In this instance, each vote


node J will direct one two vectors, the vote vector Vj and a version vector Nj. Another vector six is maintained where six [ J ] indicates the ballots of J as determined b site I upon the aggregation of ballots. An entry Ni [ J ] represents the version figure for the value Vi [ J ] at site i. Node I decide upon the ballots of node K ( ~6 ) utilizing the undermentioned regulations:

( a ) If one receives Vj and Nj, so vi [ J ] = Vj [ J ] . Besides, alteration Vi [ J ] to Vj [ J ] and Ni [ J ] to Nj [ J ] if either of the undermentioned two conditions applies:

Vj [ j ] & gt ; Vi [ J ] or Vj [ j ] & lt ; Vi [ J ] and Nj [ j ] & gt ; Ni [ J ] .

The first status is merely that of Scenario One. Vj [ j ] & gt ; Vi [ J ] indicates that J has increased its ballots since I last determined Vi [ J ] . The version figure is irrelevant in this instance, since it provides no extra information.

In the 2nd instance, Vj [ j ] & lt ; Vi [ J ] indicates that either J has decreased its ballots or an addition at K has non yet been approved or has been timed out. If, nevertheless, Nj [ j ] & gt ; Ni [ J ] , so Vj [ J ] reflects a ulterior lessening of ballots at K or a failed ballot addition effort, and this new information should be recorded.

( B ) If I does non have Vj, so vi [ J ] = Vk [ J ] for K such that Nk [ J ] = max { Np [ J ] : pa‚¬G } , where G is the set of all sites from which site I has received answers. That is, thousand assume the newest value among the vote group for the ballot value of node J. In add-on, one modify its entry Vi [ J ] to be Vk [ J ] and Ni [ J ] to be Nk [ J ] .

Protocol P3. Vote Decreasing The same as P1, except that:

The instigator sends Vi and Ni along with its ballot lessening. Upon successfully


roll uping a bulk of ballots, the instigator increases Ni [ I ] by one and sets the Vi [ I ] to the new value.


These policies were proposed by Barbara et Al. [ 16 ]

The Overthrow Technique

Vote increasing under the overthrow technique [ 16 ] is straightforward. See a system in which node ten has gone down, while the remainder of the nodes are still up. ( This can be considered as a divider of the system into two groups, with ten in one group and the remainder of the nodes in the other. ) Let V, be the figure of ballots that node ten has. Let TOT be the entire figure of ballots in the system and MAJ the bulk of ballots. Assuming TOT is uneven, MAJ = ( TOT + 1 ) /2 [ 16 ] . If node a is the node displacement Ten, the new figure of ballots for a, V: will hold to be such that it covers the voting power that a had before ( V, ) , plus the voting power of ten, plus the addition in the entire figure of ballots. If a increases its ballots by 2vx, the entire figure of ballots will be TOT ' = TOT + vx, and MAJ ' = MAJ + vx. It can be shown that all the bulk groups that used tens can be formed utilizing a alternatively:

The Alliance Technique

There are many fluctuations of the confederation technique [ 16 ] . We describe three here. In general, we want to give each node a fraction of the voting power of a node that has been excluded from the bulk group. As in the overthrow technique, we want to be certain to give out at least 2u, ballots in the bulk group, plenty to antagonize those ballots that node ten holds plus the figure of ballots node tens could


hold contributed if it were in the active group. Of class, we can ever delegate a excess of ballots to each node. One possibility is to delegate 2v ballots to every member of the active group ; or we can delegate vx ballots to each member of the active group, and assign 2u, ballots when there is merely one node left. Another possibility is to distribute 2v ballots out. Say N = figure of nodes in the bulk group. Then, give each node in the active group a”?2v/N a”? votes ( henceforth referred to merely as 2v/N ) . If need be, N can be estimated by the nodes. This may non be every bit good as possible in footings of resiliency to failures [ 16 ] , but is surely non unsafe. No affair what the scheme, we have to be careful when there are merely two nodes left in the bulk group. In that state of affairs, it is mindless to give each node the same figure of ballots, since if they lose communicating with each other, their excess ballots will merely call off each other out and no group may hold a bulk. Alternatively, it is better to pick one node and give it 2u, ballots. We can utilize a precedence mechanism to manage this instance

Group Based Voting

This vote mechanism is proposed by Agarwal and Jalote [ 6 ] .

In the old vote algorithm, the site originating the operation has to pass on with all the nodes incurring high communicating costs. In this algorithm [ 6 ] the sites are divided into crossing or overlapping groups. In the absence of failures the site originating the operation communicates with the sites of its group therefore cut downing the communicating costs. This algorithm suggests a method for building such logical groups and show that the message operating expense of any operation in a system of N nodes is O ( a?sn ) , when there are no or few failures in the system.


Logical group formation

Let the figure of groups be n. Let the n groups in the system be referred to as

Gi ( i=1aˆ¦n ) . Each group has the cardinality n-1. This formation ensures that the site has to pass on with its ain group members to hold a read or write operation in instance of no failures. Two Numberss are chosen from this group and signifier combinations. Assume that the figure of nodes be n ( n-1 ) /2.

Then one-one mapping [ 6 ] is performed from figure of nodes to figure of combinations generated. If a node is mapped to combination ( one, J ) , so it belongs to group I and J and in no other group. This ensures that the each group has the cardinality n-1 since there is merely n-1 combinations in the set 1aˆ¦n for incorporating figure I.

See 15 nodes in a system. These nodes can be grouped as follows. The groups obtained by this grouping are shown below.

Group 1: ( 1, 2, 3, 4, 5 )

Group 2: ( 1, 6, 7, 8, 9 )

Group 3: ( 2, 6, 10, 11, 12 )

Group 4: ( 3, 7, 10, 13, 14 )

Group 5: ( 4, 8, 11, 13, 15 )

Group 6: ( 5, 9, 12, 14, 15 )


Voting Algorithm

Let us discourse the read quorum status.

For this the bespeaking site should acquire the current version of the reproduction from the group. Therefore it should hold the entree to all the groups in the system which can be guaranteed if it can entree at least one member in each group.

A set of nodes R satisfies the read quorum if for all I ( i= 1... N ) , for some J, such that

Iij N” R. That is at least one site from each group participates in read quorum.

Clearly, if R is Gi, so R satisfies the read quorum.

Besides, a read quorum can be satisfied if ballot from one node from each group can be collected.

A set of nodes R satisfies the write quorum if for some Is such that for all J ( j = 1... N ) , Iij N” R, That is all the sites of peculiar group participates in the write quorum.

The write handiness can be improved if the site originating the operation can separate between the site failures and web dividers.

Suppose that a set of sites R is take parting in the operation and a set of sites F is reported to hold failed.

Then R and F together satisfy the write quorum if

A write set is available, that is, for some Is such that for all J ( j=1aˆ¦n ) , Iij N” ( RUF )


2. Roentgen satisfies the read quorum status.

Read Algorithm

Send read request to all nodes in Gi and delay for answers.

Let R be the set of node replied. If some of the crossing node of a peculiar group is non present in R so look for a node in the group of the losing intersecting nodes and send the read petition.

Read from the node holding the current transcript.

Write Algorithm

Send a write petition to all the nodes in the group. Let R be the nodes replied and F be the nodes that failed. Then T=RUF.

If the intersecting node is present in T so look into if it is losing in R. if it is losing in R, so look into for the nodes in the other group of the peculiar losing intersecting node and direct read petition and delay for answers.

If the intersecting node is non present in T so find the nodes of the other group of the losing intersecting node and direct write petition to all the nodes of that group and acquire all answers. If the write set is met so seek roll uping read quorum.

Write to all the operational node of the write set.


Performance Evaluation

Let the no of nodes be T in the system and we have n groups such that T = N ( n-1 ) /2. We have already seen [ 6 ] that the cardinality of each group is n-1.Now from the equation 1 work outing the quadratic equation we get

n = from which n = satisfies the equation

since cardinality is n-1 therefore the communicating cost is O ( n-1 ) i.e.

O ( ) = O ( a?sT )


Chapter 3




QualNet is a web simulation tool that simulates wireless and wired package manner communicating webs. QualNet Developer is a distinct event simulator used in the simulation of MANET, WiMAX webs, orbiter webs, and detector webs, among others. QualNet has theoretical accounts for common web protocols that are provided in beginning signifier and are organized around the OSI Stack.


Experiment Name

Maximal Simulation Time

Random Number Seed

Coordinate System

Terrain Corners

Terrain Dimensions

Irregular Terrain

Node Placement

Protocol Stack

Statisticss Filtering

Mobility Options

Mobility Position Granularity

Application Setup File


Topology simulation

3.1 Star topology


3.2 Ring Topology


3.3 Group Topology


3.4 Observations

TCP in Ring topology

TCP in Star topology


TCP in Group Topology

CBR in Ring Topology


CBR in Star topology

CBR in Group Topology


CBR receive in Ring topology

CBR receive in Star topology


CBR receive in group topology


Chapter 4



4. Algorithm

The Genetic Algorithm


A familial algorithm ( GA ) is a hunt technique used in calculating to happen exact or approximative solutions to optimisation and hunt jobs. Familial algorithms are categorized as planetary hunt heuristics. Familial algorithms are a peculiar category of evolutionary algorithms ( EA ) that use techniques inspired by evolutionary biological science such as heritage, mutant, choice, and crossing over.

This is the cardinal thought in work outing combinative optimisation jobs by this technique. Iterative betterment ( or greedy ) algorithms tend to `` dead-end '' in locally optimum solutions ; nevertheless, the familial algorithm attack makes it possible to come out of such dead-ends and expression for still better solutions

A typical familial algorithm requires:

a familial representation of the solution sphere,

a fittingness map to measure the solution sphere

Low-level formatting

Initially many single solutions are indiscriminately generated to organize an initial population. The population size depends on the nature of the job, but typically contains several 100s or 1000s of possible solutions.



During each consecutive coevals, a proportion of the bing population is selected to engender a new coevals. Individual solutions are selected through a fitness-based procedure, where fitter solutions ( as measured by a fittingness map ) are typically more likely to be selected. Certain selection methods rate the fittingness of each solution and preferentially choose the best solutions. Other methods rate merely a random sample of the population, as this procedure may be really time-consuming.


For each new solution to be produced, a brace of `` parent '' solutions is selected for engendering from the pool selected antecedently. By bring forthing a `` kid '' solution utilizing the above methods of crossing over and mutant, a new solution is created which typically portions many of the features of its `` parents '' . New parents are selected for each new kid, and the procedure continues until a new population of solutions of appropriate size is generated. Although reproduction methods that are based on the usage of two parents are more `` biological science divine '' , some research suggests more than two `` parents '' are better to be used to reproduce a good quality chromosome. These processes finally consequence in the following coevals population of chromosomes that is different from the initial coevals. By and large the mean fittingness will hold increased by this process for the population, since merely the best being from the first coevals are selected for genteelness, along with a little proportion of less fit solutions, for grounds already mentioned above.



This generational procedure is repeated until a expiration status has been reached. Common terminating conditions are:

A solution is found that satisfies minimum standards

Fixed figure of coevalss reached

Allocated budget ( calculation time/money ) reached

The highest superior solution 's fittingness is making or has reached a tableland such that consecutive loops no longer bring forth better consequences

Manual review

Combinations of the above

Fitness map

The chief aim in the ballot assignment job is to happen an assignment of ballots that maximizes the handiness. We shall presume that both read and compose quorums are every bit of import, and therefore each quorum is set equal to a bulk of the amount of all ballots. The vector whose handiness is maximal is selected as the solution of the job


A chromosome consists of a specific ballot assignment or a vector of n ballots ( V1, , V2, . . . , Vn ) here Vi is the ballot assigned to site I. A chromosome alteration is produced by choosing a brace of ballots ; state V and U, from this vector and executing one of the undermentioned two operations:



A common method of implementing the mutant operator involves bring forthing a random variable for each ballot in a sequence. This random variable tells whether or non a peculiar ballot will be modified. This mutant process, based on the biological point mutant, is called individual point mutant.

Crossing over:

A individual crossing over point on both parents ' ballot vectors and chromosome is selected. All informations beyond that point in either vector is swapped between the two parent vectors. The resulting vectors are the kids

For illustration, say N is 5, and the two ballot vector is V1 ( 2,2,1,1,1 ) and V2 ( 2,1,1,3,1 ) . By severally using the two operations above to V1 and V2, the undermentioned provinces are produced:

Mutant: VC1= mutated kid of V1

= ( 2,1,1,2,1 )

VC2= mutated kid of V2

= ( 2,3,1,1,1 )

Crossing over: crossing over kid of V1 and V2

= ( 2,1,1,1,1 ) , ( 2,2,1,3,1 )



public dual P [ ] = { 0.95,0.90,0.85,0.80,0.75,0.75,0.70,0.70 } ;

public TreeSet & lt ; String & gt ; popu ;

public String chromosome ;

public TreeSet & lt ; String & gt ; popu1 ;

public dual best_avail=0.0 ;

public String jazz band ;

public String temp_chromosome ;

public dual help ( String s ) {

Double help = 0 ;

int sum=0 ;

for ( int j=0 ; j & lt ; s.length ( ) ; j++ ) {

Sum=sum+ ( s.charAt ( J ) -48 ) ;


sum=sum/2 ;

System.out.println ( `` the twine called `` +s ) ;

System.out.println ( amount ) ;

dual product=0 ;

for ( int i0=0 ; i0 & lt ; =1 ; i0++ )

for ( int i1=0 ; i1 & lt ; =1 ; i1++ )

for ( int i2=0 ; i2 & lt ; =1 ; i2++ )

for ( int i3=0 ; i3 & lt ; =1 ; i3++ )

for ( int i4=0 ; i4 & lt ; =1 ; i4++ )


for ( int i5=0 ; i5 & lt ; =1 ; i5++ )

for ( int i6=0 ; i6 & lt ; =1 ; i6++ )

for ( int i7=0 ; i7 & lt ; =1 ; i7++ )

if ( ( i0*s.charAt ( 0 ) +i1*s.charAt ( 1 ) +i2*s.charAt ( 2 ) +i3*s.charAt ( 3 ) +i4*s.charAt ( 4 ) +i5*s.charAt ( 5 ) +i6*s.charAt ( 6 ) +i7*s.charAt ( 7 ) ) & gt ; amount ) {

merchandise = ( i0*p [ 0 ] + ( 1-i0 ) * ( 1-p [ 0 ] ) ) * ( i1*p [ 1 ] + ( 1-i1 ) * ( 1-p [ 1 ] ) ) * ( i2*p [ 2 ] + ( 1-i2 ) * ( 1-p [ 2 ] ) ) * ( i3*p [ 3 ] + ( 1-i3 ) * ( 1-p [ 3 ] ) ) * ( i4*p [ 4 ] + ( 1-i4 ) * ( 1-p [ 4 ] ) ) * ( i5*p [ 5 ] + ( 1-i5 ) * ( 1-p [ 5 ] ) ) * ( i6*p [ 6 ] + ( 1-i6 ) * ( 1-p [ 6 ] ) ) * ( i7*p [ 7 ] + ( 1-i7 ) * ( 1-p [ 7 ] ) ) ;

help = help + merchandise ;


return help ;


public nothingness mutate ( ) {

Iterator & lt ; String & gt ; itr = popu.iterator ( ) ;

Stringing p1, P ;

popu1.clear ( ) ;

While ( itr.hasNext ( ) ) {

p= itr. Next ( ) ;

p1 = p.replace ( p.charAt ( 2 ) , ( p.charAt ( 4 ) ) ) ;

p1 = p1.replace ( p.charAt ( 4 ) , ( char ) ( p.charAt ( 2 ) +1 ) ) ;

popu1.add ( p1 ) ;


itr = popu1.iterator ( ) ;

While ( itr.hasNext ( ) ) {


popu.add ( itr. Next ( ) ) ;


popu1.clear ( ) ;


public nothingness crossing over ( ) {

Iterator & lt ; String & gt ; itr = popu.iterator ( ) ;

Stringing p1 ;

Stringing p2 ;

While ( itr.hasNext ( ) ) {

p1= itr. Next ( ) ;

If ( itr.hasNext ( ) )

p2= itr. Next ( ) ;

else interruption ;

Stringing p3 = p1.substring ( 0, 3 ) +p2.substring ( 3 ) ;

Stringing p4 = p2.substring ( 0, 3 ) +p1.substring ( 3 ) ;

popu1.add ( p3 ) ;

popu1.add ( p4 ) ;


popu.clear ( ) ;

itr = popu1.iterator ( ) ;

while ( itr.hasNext ( ) ) {

popu.add ( itr. Next ( ) ) ;



public nothingness checkAvail ( ) {


Iterator & lt ; String & gt ; itr = popu.iterator ( ) ;

Stringing s ;

while ( itr.hasNext ( ) ) {

s=itr. Next ( ) ;

dual new_avail = help ( s ) ;

if ( new_avail & gt ; best_avail ) {

best_avail=new_avail ;

combo=s ;



System.out.println ( best_avail ) ;

System.out.println ( jazz band ) ;


The array P [ ] consists of the site chances. The popu information construction contains the entire population of the assorted vote constellation assignment to sites. The method help ( ) checks the handiness of the given constellation and shops best constellation in the best_avail variable. The method mutate ( ) performs the mutant operation for the familial attack. The method crossing over ( ) perform the crossing over operation for the familial attack.


Chapter 5



5. Experimental Consequences

5.1 Experimental consequences of Algorithm

We implemented the algorithm by coding it in Java and ciphering the handiness by changing the no. of transcripts and site dependabilities. We so compared our values with the randomised algorithm [ 7 ] and plotted the tabular array as below.

Table Comparison between the Genetic algorithm and the Randomized algorithm for 5 no. of transcripts

# of transcripts

Site Dependabilities




































Table Comparison between the Genetic algorithm and the Randomized algorithm for 6 no. of transcripts

# of transcripts

Site Dependabilities























Table Comparison between the Genetic algorithm and the Randomized algorithm for 7 no. of transcripts

# of transcripts

Site Dependabilities









0.89,0. 86,0.80,0.75,0.70,0.65,0.57















# of transcripts

Site Dependabilities















Table Comparison between the Genetic algorithm and the Randomized algorithm for 8 no. of transcripts

5.2 Experimental Results of Simulation

Based on the simulation of different topology like star, ring, group topology we found the maximal throughput in each of the instance and plotted the tabular array.

Table 5 Maximum Throughput


Transmission control protocol

Cosmic background radiation

CBR Receive

Star Topology




Ringing Topology




Group Topology





Chapter 6



6. Decision

From the table 5 we conclude that in utilizing TCP packages star topology shows the maximal throughput in comparing to pealing topology.The upper limit throughput in pealing topology is 3.5* 106 bits/sec where as the maximal throughput in star topology is 1.02*107 bits/sec. Besides we observed that utilizing CBR packets the throughput is about of equal value in all topologies. The group strategy has the maximal throughput of all the topologies due to its less operating expense of package reassigning to its vicinity. The group topology has 1.15*107 bits/sec as maximal throughput among the assorted nodes in operation.

The optimum assignment of ballots to sites so as to maximise overall handiness is an of import issue. From table 1-4 we found that a miniscule 1 % addition in handiness from 0.98 to 0.99 is rather big in footings of system handiness. On the other manus, it can besides be viewed as a lessening in the chance of the system being unaccessible from 0.02 to 0.01, reflecting a 50 % lessening in down clip. Viewed in this mode, the addition in handiness from 0.98 to 0.99 is a dramatic betterment. Hence, even little additions in handiness are utile. In this paper we described and tested a familial algorithm for ballot assignment. The algorithm runs really fast, and extended comparings with a random algorithm show that its public presentation is first-class. Although proving was restricted to 9 sites, this attack looks really promising even for a larger figure of sites.


Because it runs fast, a Familial ballot assignment algorithm like the one described here would do it possible to dynamically alter the assignment of ballots to sites as the web alterations, instead than keeping a certain fixed assignment.


Updated: Aug 17, 2021
Cite this page

Fault Tolerance In Distributed Systems Computer Science Essay. (2016, Jun 02). Retrieved from https://studymoose.com/fault-tolerance-in-distributed-systems-computer-science-new-essay

Fault Tolerance In Distributed Systems Computer Science Essay essay
Live chat  with support 24/7

👋 Hi! I’m your smart assistant Amy!

Don’t know where to start? Type your requirements and I’ll connect you to an academic expert within 3 minutes.

get help with your assignment