개발 Dev/en) Synchronization

1. Understanding Time Synchronization: Exploring the Methods and Principles of Time Alignment in Data Communication

BoBooBoo 2024. 3. 23. 18:28
반응형

I'm starting this blog with the aim of providing information in as simple language and style as possible, especially focusing on data communication and time, as well as frequency synchronization. I'm not sure how long I can keep this up, but I'll strive to share content regularly, as long as I have the will to study, especially in my ongoing role as a developer.

I pondered a lot on how to start this first post.
Clicking on this post already presupposes some basic knowledge on the topic, I believe...

Before diving into the specifics, let's briefly understand about time synchronization.

What is Time Synchronization?


Let's imagine two people, A and B, each having their own clocks.

B, after a while, takes out a clock from the cupboard, doubting whether it shows the correct time or not.

B: "I'm not sure if my clock is correct. I think I need to reset it. Hey, A, what time is it now?"
A: "My clock shows 3 o'clock!"
B: "Thanks. I'll adjust it to 3 o'clock."

 

The above conversation is a very simple process of adjusting B's clock. While there might be a difference of 1 to 2 seconds in accuracy, it's sufficient for everyday life.

In more technical terms, this process can be referred to as time synchronization with sub-second accuracy.

However, upon closer inspection, some curious questions arise.

 

Q. How can B trust that A's clock is accurate?

  • Can B trust that A's clock is indeed accurate?
  • What clock did A refer to while setting the time?

 

To address such issues, there exists an internationally recognized standard time known as Coordinated Universal Time (UTC). All time-keeping devices adhere to this standard. Therefore, if B knows that A is synchronized with UTC, B can trust A's time.


In reality, thanks to the efforts of scientists and engineers, we already have clocks that are considered the most accurate. Unbeknownst to us, we all synchronize our time with these clocks.

 

However, we might wonder: 

Q. Can't B adjust his clock more accurately?

 

The process of synchronizing time inherently introduces some degree of error.

Let's explore one such reason through the following dialogue:

B: "I'm not sure if my clock is correct. I think I need to reset it. Hey, A, what time is it now?"
A: "My clock shows 3 o'clock!"
(1) A checks his own clock and
(2) perceives the time, then
(3) informs B, after which
(4) B learns about A's time.

B: "Thanks. I'll adjust it to 3 o'clock."
---> B adjusts his clock.


Naturally, there's a delay of at least 1 second between A checking the time and informing B. So, when B hears "3 o'clock," it actually means "3 o'clock 1 second." Consequently, even if we assume no other processes, B ends up setting his clock 1 second slower than A's.

To achieve more accurate time adjustment, it's necessary to minimize this 1-second delay.
This "1-second delay" is termed as "delay," and the process of reducing it is called "delay compensation."

Q. Will adjusting B's clock once ensure accuracy in the future?

Based on our experience, certainly not, right?
You might have heard stories like, "My clock gains 1 second every month." Why does this happen?

 

Let's assume that it takes a certain amount of time for each clock to tick once.

Would A's clock tick exactly the same as B's? 

No, it would be slightly faster or slower. Consequently, even if they synchronize their clocks once a day, their clocks would gradually drift apart.

 

So, synchronizing clocks to the same time every day isn't sufficient!

The requirement is to:

(1) synchronize their clocks to the same time every day, and
(2) synchronize the tick-tocks (frequencies) of their clocks.

 

Therefore, A needs to inform B as follows:
"My clock shows 3 o'clock, and My one second is like 'tick-tock.'"

The one-second of a clock, 'tick-tock,' is termed as frequency.
Aligning the frequency is termed as frequency synchronization.

 


In summary, in this post, we briefly explored some key terms that we'll often mention:

 

  • Time Synchronization
  • Sub-second Accuracy
  • Coordinated Universal Time (UTC)
  • Delay
  • Delay Compensation
  • Frequency
  • Frequency Synchronization

 

You might wonder why we're discussing such complicated matters just to adjust one clock...

But we haven't even started yet...

Let's delve into it one step at a time.

 

The End.

반응형