On 4/4/19 at 11:22 PM, john.matts...@ericsson.com (John
Mattsson) wrote:
I think "this requires both endpoints to adopt the change
simultaneously" is a problem as it makes it impossible to
introduce this mechanism in many existing deployments. I would
expect a solution that can be introduced gradually (some nodes
at a time) in existing deployments supporting RFC 8446 and/or
RFC 5246.
Having seen a successful deployment and migration to a new
incompatible version of a protocol, I think we too rapidly
dismiss the possibility. In security protocols, we gain a lot of
simplicity, and therefore security, by not having a
compatibility mode. I wrote a short paper about this deployment
for an amateur radio publication which I have included below.
Cheers - Bill
-----------------------------------------------------
Flag Day with FT8
Bill Frantz, AE6JV
West Valley Amateur Radio Association
Northern California DX Club
Northern California Contest Club
Abstract
Recently a community of over 20,000 users did a conversion
between release 1 and release 2 of a amateur radio digital
communications protocol called FT8. The old version of the
protocol was not compatible with the new version, resulting in a
"flag day" event for users. However, the conversion was rapid
and proceeded smoothly. Lessons from this conversion should be
useful for other software projects.
--------------------------------------------------
Introduction
The new FT8 digital transmission mode has taken the amateur
radio world by storm. Adoption has been overwhelmingly rapid,
going from nothing at its first release in July 2017 to the most
popular mode for many uses in December 2018.
FT8 is the invention of Steven Franke, K9AN, and Joe Taylor,
K1JT. (Joe won the Nobel Prize in Physics laureate for his
discovery with Russell Hulse of a "new type of pulsar, a
discovery that has opened up new possibilities for the study of
gravitation."[1]) It is a "weak signal" mode using 50 Hz
bandwidth for each signal, and can decode stations that are 24
dB below the voice signal bandwidth noise level.
It is an evolving protocol and has recently been through a major
change, from 75 bit messages to 77 bit messages. When you make a
major change in a computer protocol, and indeed, FT8 is a
computer protocol, there are two ways to introduce the change.
(1) You can code the new protocol to inter-operate with the old
protocol, or (2) you can have a "Flag Day" where everyone
changes to the new protocol at the same time. (A "flag day" is
when everyone has to adopt the new protocol at about the same
time or lose connection with those who have adopted it.)
Historically, computer engineers have avoided flag days like the
plague. Getting everyone to change at the same time is almost
impossible, and it is easier to design inter-operation. The FT8
implementors made the other choice; to have a flag day. It is
interesting examine why they made that choice and how they
succeeded with that choice.
Bill Somerville, G4WJS reported on January 16, 2019 [2]
"The situation with the 75-bit to 77-bit update of the FT8
protocol has
several constraints that are uncommon elsewhere and particularly
uncommon when they are all combined, including:
"1) It is a communications protocol where every user wishes
to be able
to communicate with any other, 2) the old version will not understand
the new protocol, at least without an upgrade, 3) WSJT-X is FOSS
[Freee Open Source Software] with no charges for use or
upgrade, 4)
the core WSJT development team is tiny and has no wish to support
multiple GA [General Availability] versions.
"Given these constraints and a desire not to consume extra valuable
digital modes bandwidth, any opportunity for old protocol
users who do
not wish to upgrade should be avoided. Having a new version
that still
talks the old protocol just exacerbates the potential schism
of users
since it allows those reluctant to upgrade to continue using
the old
protocol, at least until the number of indecipherable signals which
are QRM [interference] to their decoder overwhelms them."
Joe Taylor reported on January 17, 2019 [2]:
"1. We published a schedule, three months in advance,
specifying target
dates for intermediate candidate releases for beta testing. We
publicized this schedule as widely as possible, and we stuck
to it.
"2. The first three candidate releases included "bi-lingual" capability
for the old and new protocols. This helped to encourage beta testing
and feedback from interested users, and helped to show users that
upgrading was a simple drop-in replacement.
"3. Candidate releases 4 and 5 were "new protocol only".
They allowed
us to eliminate large amounts of obsolete code and fix most
of the
bugs introduced by these wholesale changes."
Operations are usually a lot more pleasant when everyone is
running the same version of a protocol. As Bill Somerville notes
above, keeping the community of users together has a significant
long-term value.
Inter-operation logic tends to be buggy as noted by Joe Taylor
above, and those problems "just go away" with a flag day. A flag
day also allows a development team to concentrate on more
valuable tasks.
Also, with only 77 bits in a message, spending a bit or several
on a message format ID is very expensive. Considering that it
takes 15 seconds to send each of these messages, and another 15
seconds to receive the reply, every bit is precious.
Another consideration is that the old and new formats can
coexist operating on different frequencies. They just can't talk
to each other. People who haven't converted can still
communicate with others who haven't converted, somewhat easing
the need for everyone to change "at once". However seeing a lot
of strong signals that can't be decoded is a significant
incentive to find out what the problem is and fix it.
--------------------------------------------------
Changeover Time Line
So what was the result when the team announced they would have
Release 2.0 available on December 10, 2018 and expected everyone
to convert by January 1, 2019? In a word, success! From the
wsjt-x developer email list:
Joe Tailor reported [3]:
"Monitoring 20 meters just 3 hours after WSJT-X 2.0 had been released,
I found that nearly half of the active stations were already
using it.
I made 18 QSOs [contacts] in about half an hour.
"According to PSK Reporter* statistics, at least 1620
callsigns have
been making QSOs with the new version. This is now ~7.5
hours after
the v2.0 GA release."
Dwight NS9I reported [4]: 70 q's [contacts] and all is well ...
amazed at the activity, including DX [foreign stations] on all
the bands.
On December 12, Tom OH6VDA reported [5]: And right now
aproximately 8000 V2.0 users of a total of 21 000 WSJT-X users,
according to Pskreporter.info#. :)
On December 12, Richard KF5OIM reported [6]: wjstx 2.0.0 has
landed in the Fedora testing repositories for Fedora 28, 29,
Rawhide and Fedora EPEL 7 (CentOS,SL,etc)
On December 12, Ted K9IMM reported [7]:
I have a multi-band FT8 skimmer. It skims 7 bands from 160M-15M
(excluding 60M).
I converted the skimmer to V2.0.0 yesterday about this time.
Ordinarily, my V1.9.1 spot rate was about 10,000-12,000 spots
per day.
In the last 24 hours my V2.0.0 spot rate is 7700/day.
So...Either there are a huge amount of new FT8 users running V2.0.0,
or users are converting to the new version at a very satisfyingly
rapid rate.
Pretty amazing for a release 2 days old.
On December 14, Joe Taylor reported [8]:
This morning I ran an instance of WSJT-X v1.9.1 in parallel with
WSJT-X 2.0. An informal count of decodes in the old and new protocols
shows far more activity using the new 77-bit messages. Here
are the
rough statistics, given as the ratio of new- to old-style decodes:
For FT8:
-----------
17m: 10:1
20m: 3:1
30m: 6:1
40m 20:1
On December, 14, Charlie WD5BJT reported [9]: I mostly operate
on the 6 meter band using FT-8. Of the many operators on the
band last night, I decoded only two users of the old protocol.
On January 2, 2019, a late adopter reported [10]: My version of
WSJT-X is 1.8.0 I don't decode anything, WF [Waterfall, a way
of seeing all the signals on a band] clearly has big signals on
it that come and go every 15 sec. Do I need to upgrade?
--------------------------------------------------
Conclusions
This change was a very successful flag day. There is almost no
one using the old version after the end of the cut-over period.
There are almost no complaints about the need to change.
Things that made this success possible:
Most of the usage of FT8 is concentrated in a small
percentage of the users. This small percentage of users were
early adopters. As a result, nearly half to the signals on one
band were in the new format only 3 hours after the release of
the new version.
There were a number of features in the new version of the
software that would attract users to convert. These included
better classification of a received station's location (for
people interested in long distance communication) and support
for more kinds of on-the-air ham radio activities.
Conversion was a simple drop-in replacement without a lot of
effort required from the user.
File data formats did not change except for the details of
some debugging information. Information about contacts made with
the old version were available to the new version.
A use could easily switch back and forth between the old and
new version, easing concerns of early adopters.
Software developers with similar advantages should give more
consideration to having a flag day instead of including
inter-operation code in their applications. A flag day might be
particularly attractive if there is a strong desire to keep from
splitting the user community, or if the development team is small.
--------------------------------------------------
* PSK Reporter is a world-wide amateur radio service which
listens for digital signals and reports which ones it hears via
the Internet. See: <https://pskreporter.info/> and <https://pskreporter.info/cgi-bin/pskstats.pl>
# PSK Reporter can take up to a week to notice that a station is
using the new version.
--------------------------------------------------
Acknowledgements
Thanks to Joe Taylor K1JT and Bill Somerville G4WJS for their
comments. Their insite into the development process was very
valuable in developing this paper.
Thanks to Wolfgang Meister OE1MWW for information about PSK
Reporter and other software supporting FT8.
Thanks to Gary Hinson ZL2iFB's "FT8 Operating Guide"
<http://www.g4ifb.com/FT8_Hinson_tips_for_HF_DXers.pdf> for some
of the early history of FT8
--------------------------------------------------
References
[1] <https://en.wikipedia.org/wiki/Joseph_Hooton_Taylor_Jr.>
[2] <https://sourceforge.net/p/wsjt/mailman/message/36519613/>
[3] <https://sourceforge.net/p/wsjt/mailman/message/36490442/>
[4]
<https://sourceforge.net/p/wsjt/mailman/wsjt-devel/thread/35619a06-08ca-a82e-2b96-5784c5aa9285%40bayland.net/#msg36490399>
[5]
<https://sourceforge.net/p/wsjt/mailman/wsjt-devel/thread/1419952134.2738348.1544608313582%40mail.yahoo.com/#msg36491719>
[6]
<https://sourceforge.net/p/wsjt/mailman/wsjt-devel/thread/CAN3TeO2DJFcNO_XeK9jZSZtJJDNk0u_E3VkHqc2byg58PddjKA%40mail.gmail.com/#msg36492022>
[7]
<https://sourceforge.net/p/wsjt/mailman/wsjt-devel/thread/003901d49258%24139b4ff0%243ad1efd0%24%40offex.com/#msg36492293>
[8]
<https://sourceforge.net/p/wsjt/mailman/wsjt-devel/thread/49fe71f4-bf4c-4c9c-33ee-7d73c6620046%40princeton.edu/#msg36494001>
[9]
<https://sourceforge.net/p/wsjt/mailman/wsjt-devel/thread/2015959274.4026.1544810692848%40wamui-dingo.atl.sa.earthlink.net/#msg36494040>
[10] Post to the Northern California Contest Club reflector on
January 2, 2019 at 1533 PDT.
-----------------------------------------------------
---------------------------------------------------------------------------
Bill Frantz |"After all, if the conventional wisdom was
working, the
408-356-8506 | rate of systems being compromised would be
going down,
www.pwpconsult.com | wouldn't it?" -- Marcus Ranum
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls