Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 29.545.088 Times

Time::Skew 0.1

  Date Added: January 11, 2010  |  Visits: 743

Time::Skew

Report Broken Link
Printer Friendly Version


Product Homepage
Download (76 downloads)



Time::Skew is a Perl module that computes local clock skew with respect to a remote clock. SYNOPISI use Time::Skew # Init Convex Hull and timing data my $hull=[]; my $result={}; # Iterate data point introduction Time::Skew::convexhull($result,$datapoint,$hull); This module supports the computation of the skew between two clocks: the (relative) skew is the speed with which two clocks diverge. For instance, if yesterday two clocks, at the same time, showed respectively 10:00 and 10:05, while today when the former shows 10:00 the latter shows 10:04, we say that their relative skew is 1 minute/24 hours, roughly 7E-4. The module contains one single subroutine, which accepts as input a pair of timestamps, associated to a message from host A to host B: the timestamps correspond to the time when the message was sent, and to the time when message is received. Each timestamp reflects the value of the local clock where the operation takes place: the clock of host A for the send, the clock of B for the receive. Please note that the module does _not_ contain any message exchange facility, but only the mathematics needed to perform the skew approximation, once timestamps are known. The subroutine takes as argument: a reference to a hash where values related to the timing of the network path from A to B; a 2-elems array (a data point in the sequel) containing the timestamp of the receive event, and the differece between the send timestamp and the receive timestamp for one message; a stack containing some data points, those that form the convex hull. The usage is very simple, and is illustrated by the following example: #!/usr/bin/perl -w use strict; use Time::Skew; # Initialize data my $hull=[]; my $result={}; while ( 1 ) { # Exchange message and acquire a new data point my $datapoint = acquire(); # Call the convexhull subroutine Time::Skew::convexhull($result,$datapoint,$hull); # After first message some results are still undefined ( defined $result->{skewjitter} ) || next; # here you can use the results }; } The data returned in the "result" hash is the following: result->{skew} the clock skew; result->{skewjitter} the variance of the skew estimate, used to estimate convergence; result->{jitter} difference between the current delay and the previous delay; result->{delay} the communication delay, decremented by a constant (yet unknown) value, used to compute communication jitter; result->{elems} the number of data points in the convex hull; result->{select} the index of the data point in the convex hull used to compute the skew; result->{itimestamp} the timestamp, first element in the data point just passed to the subroutine; result->{delta} the timestamp difference, second element in the data point just passed to the subroutine; The data returned in the "hull" stack is a series of data points, selected from those passed to successive calls of the subroutine. The number of data points in the "hull" stack usually does not exceed 20 units. The algorithm is very fast: each call consists in scanning at most all data points in the "hull" stack, performing simple arithmetic operations for each element. The algorithm must be fed with a sequence of data points before returning significant results. The accuracy of the estimate keeps growing while new data points are passed to the subroutine. A rough rule of thumb to evaluate estimate accuracy is to observe the skew jitter, and assume it corresponds to the skew estimate accuracy. Paths with quite regular communication delay (small jitter) converge faster..

Requirements: No special requirements
Platforms: Linux
Keyword: Clock Clock Skew Convex Hull Data Data Point Data Points Hull Libraries Module Perl Module Points Respect To Skew Timeskew
Users rating: 0/10

License: Freeware Size: 45.06 KB
USER REVIEWS
More Reviews or Write Review


TIME::SKEW RELATED
Libraries  -  Data::Type::Docs 0.01.15
Data::Type::Docs is a Perl module with the manual overview. MANUALS Data::Type::Docs::FAQ Frequently asked questions. Data::Type::Docs::FOP Frequently occuring problems. Data::Type::Docs::Howto Point to point recipes how to get...
70.66 KB  
Libraries  -  Pod::PlainText 1.34
Pod::PlainText is a Perl module that can convert POD data to formatted ASCII text. SYNOPSIS use Pod::PlainText; my $parser = Pod::PlainText->new (sentence => 0, width => 78); # Read POD from STDIN and write to STDOUT....
96.26 KB  
Libraries  -  Data::Page::Viewport 1.02
Data::Page::Viewport is a Perl module to scroll thru data a page, or just an item, at a time. Synopsis This is a complete, tested, runnable program. #!/usr/bin/perl use strict; use warnings; use Data::Page::Viewport; #...
8.19 KB  
Libraries  -  Data::Encrypted 0.07
Data::Encrypted is a Perl module to transparently store encrypted data via RSA. SYNOPSIS # functional interface: use Data::Encrypted file => "./.$0-encrypted-data", qw(encrypted); # note: login and password are not *really* the login and #...
7.17 KB  
Libraries  -  Data::Phrasebook::Loader::XML 0.12
Data::Phrasebook::Loader::XML Perl module can abstract your phrases with XML. SYNOPSIS use Data::Phrasebook; my $q = Data::Phrasebook->new( class => Fnerk, loader => XML, file => phrases.xml, dict => Dictionary, # optional ); OR my...
17.41 KB  
Libraries  -  Test::Data 1.20
Test::Data is a Perl module to test functions for particular variable types. SYNOPSIS use Test::Data qw(Scalar Array Hash Function); Test::Data provides utility functions to check properties and values of data and variables. Functions...
8.19 KB  
Libraries  -  Data::Stag 0.10
Data::Stag is a Perl module with structured tags datastructures. SYNOPSIS # PROCEDURAL USAGE use Data::Stag qw(:all); $doc = stag_parse($file); @persons = stag_find($doc, "person"); foreach $p (@persons) { printf "%s, %s phone: %sn",...
440.32 KB  
Libraries  -  Data::CTable 1.03
Data::CTable is a Perl module that helps you read, write, manipulate tabular data. SYNOPSIS ## Read some data files in various tabular formats use Data::CTable; my $People = Data::CTable->new("people.merge.mac.txt"); my $Stats =...
153.6 KB  
Libraries  -  Data::FormValidator::Constraints 4.40
Data::FormValidator::Constraints is a Perl module with basic sets of constraints on input profile. SYNOPSIS use Data::FormValidator::Constraints qw(:all); In an Data::FormValidator profile: constraint_methods => { email => email(), fax =>...
88.06 KB  
Libraries  -  Data::PropertyList 1998.1217
Data::PropertyList is a Perl module that can convert arbitrary objects to/from strings. SYNOPSIS use Data::PropertyList qw(astext fromtext); $hash_ref = { items => [ 7 .. 11 ], key => value }; $string = astext($hash_ref); # ... $hash_ref...
8.19 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB  
Libraries  -  App::SimpleScan::Substitution::Line 2.02
App::SimpleScan::Substitution::Line is a line with optional fixed variable values. SYNOPSIS my $line = App::SimpleScan::Substitution::Line->new(" this "); # Use only this value when substituting " ". $line->fix(substituite =>...
54.27 KB