0% found this document useful (0 votes)
3 views

BerkeleyAlgo

Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

BerkeleyAlgo

Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

Name:- Bhushan Manojkumar Bhujbal

Roll No:503
Pratical:- BerkeleyAlgo

//********************************************//
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
public class BerkeleyAlgo {
public static void berkeleyAlgo(String servertime, String time1, String time2)
{
System.out.println("Server Clock = " + servertime);
System.out.println("Client Clock 1 = " + time1);
System.out.println("Client Clock 2 = " + time2);
SimpleDateFormat sdf = new SimpleDateFormat("mm:ss");
try {
/* Converting time to Milliseconds */
long s = sdf.parse(servertime).getTime();
long t1 = sdf.parse(time1).getTime();
long t2 = sdf.parse(time2).getTime();
/* Calcuating time differences w.r.t server */
long str1 = t1 - s;
System.out.println("t1 - s = "+str1/1000);
long str2 = t2 - s;
System.out.println("t2 - s = "+str2/1000);
/* Fault tolerant Average */
long aveg = (str1 + str2 + 0) / 3;
System.out.println("(str1 + str2 + 0)/3 = "+aveg/1000);
//System.out.println("The average is:"+aveg);
/* Adjustment */
long adjserver = aveg+s;
long adj_t1 = aveg-str1;
long adj_t2 = aveg-str2;
System.out.println("t1 adjustment = "+adj_t1/1000);
System.out.println("t2 adjustment = "+adj_t2/1000);
/* sync clock */
System.out.println("Synchronized Server Clock = "+sdf.format(new
Date(adjserver)));
System.out.println("Synchronized Client 1 Clock = "+sdf.format(new
Date(t1+adj_t1)));
System.out.println("Synchronized Client 2 Clock = "+sdf.format(new
Date(t2+adj_t2)));
} catch (ParseException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("Enter Server Clock Time: ");
String T1=sc.nextLine();
System.out.println("Enter Clock 1 Time: ");
String T2=sc.nextLine();
System.out.println("Enter Clock 2 Time: ");
String T3=sc.nextLine();
berkeleyAlgo(T1, T2, T3);
}
}
//******************************************************//
/*output
it@it-HP-EliteDesk-800-G2-SFF:~/Desktop$ cd Bhushan
it@it-HP-EliteDesk-800-G2-SFF:~/Desktop/Bhushan$ ls
BerkeleyAlgo.java Tokenring.class Tokenring.java
it@it-HP-EliteDesk-800-G2-SFF:~/Desktop/Bhushan$ javac BerkeleyAlgo.java
it@it-HP-EliteDesk-800-G2-SFF:~/Desktop/Bhushan$ java BerkeleyAlgo
Enter Server Clock Time:
04:00
Enter Clock 1 Time:
03:50
Enter Clock 2 Time:
04:40
Server Clock = 04:00
Client Clock 1 = 03:50
Client Clock 2 = 04:40
t1 - s = -10
t2 - s = 40
(str1 + str2 + 0)/3 = 10
t1 adjustment = 20
t2 adjustment = -30
Synchronized Server Clock = 04:10
Synchronized Client 1 Clock = 04:10
Synchronized Client 2 Clock = 04:10
it@it-HP-EliteDesk-800-G2-SFF:~/Desktop/Bhushan$

*/

You might also like