同期通信(synchronous communication)って言わないで!, Ethernet(66)

同期通信という用語が文書に出て来た。

時刻同期通信方式のことだと思ったら、
通信処理の同期処理のことについての説明の文章らしい。
同期処理では、待つのは通信とは限らない。通信は別に継続して、別の処理が待つこともあるかもしれない。たまたま、その処理が通信を待っているだけかもしれない。

通信にしろ、処理にしろ、人が決めることだから、いろいろな方式、両方を兼ね備えた方式などが考案できるかもしれない。

同期しているのが通信なのか、処理なのか、分かる表現だと嬉しい。自分は通信を待っているつもりでも、待っているのは処理の方で、処理が通信を待っているだけなのかも。

物理的な通信の仕組みには、物理的な規約があり、論理的な通信の仕組みには、論理的な通信の規約があり、それを計算機の処理でどう実現するかは、計算機の処理の世界の話。

連続量(analog)の同期と離散量(degital)の同期の違いを考える。

そこで、同期通信は、時刻同期通信という名称を使い、
通信処理の同期処理は、通信処理の同期処理という名称を使おうと思った。

英語で調べてみると、もっといろいろわかってきた。

synchronous communication

だと人と人の直接の意思疎通のことを意味する話題が優先的になる。

なるほど、英語でsynchronous communicationっていうと、人と人との直接の会話なんだ。

asynchronous communication
は、手紙やメールなどなのかも。

Synchronization of Digital Telecommunications Networks
https://onlinelibrary.wiley.com/doi/book/10.1002/0470845880

目次の一部を示す。（仮訳）

>1.1 Synchronization in Telecommunications 
1.1.1 Carrier Synchronization（搬送波同期） 
1.1.2 Symbol Synchronization（文字同期）
1.1.3 Frame Synchronization（枠組同期）
1.1.4 Bit Synchronization（二進数同期） 
1.1.5 Packet Synchronization（小包同期）
1.1.6 Network Synchronization（網同期）
1.1.7 Multimedia Synchronization（多媒体同期）
1.1.8 Synchronization of Real-Time Clocks（実時間時計同期）

通信関係の専門書は、

Data Networks
https://www.amazon.com/dp/0132009161/
とか、最初に示した書籍のように、Digital とかの用語がある。

communication ではなく transfar/transmissionを使うか、data, digitalなどの単語が入ればよい。

synchronous communicationを表題に追記。

| | |通信方式|時刻同期通信|非時刻同期通信|
|:----|:----|:----|:----|:----|
| | |transmission(communication) system|synchronous data  transmission|asynchronous data transmission|
|処理方式|processing system| |時刻同期信号を使った通信|時刻同期信号を使わない通信|
|通信処理を伴った同期処理|synchronous process with transmission(communication) process|通信の返事が返ってくるまで次の処理を待つ|Ethernetで通信した音声と画像を同期して流す(1)|非時刻同期通信でコマンドプロンプトの処理をする(2)|
|通信処理を伴った非同期処理|asynchronoous process with transmission(communication) process |通信の返事が返ってくるまえに次の処理をする|Ethernetでキャッシュを使った通信やUDP通信をする|非時刻同期通信で複数のキャッシュと経路の通信をする|

(1)  どちらか来たものだけ流し、間に合わないものは切り捨てると非同期処理が可能かも
(2)  マルチタスク処理でコマンドを投入すれば、非同期処理ができるかも。

ややこしいのは、同期処理も非同期処理もどちらもできる処理プログラムを書くことができるし、時刻同期通信と非時刻同期通信をする通信規約を作ることもできることかもしれない。

同期処理でも、待つのは通信以外の処理かもしれないのに、同期通信とかブロッキング通信とか言うのはどうなんだろう。処理ブロッキング通信ならまだわかるかもしれない。処理をブロックするのであって、通信をブロックするとは限らないかも。

単なる同期通信っていうのだけは止めてほしい。
何を意味しているか、文脈依存でもわからないことがある。

|水準|主題|
|:----|:----|
|通信（処理）|処理待有無|
|通信（論理）|受信確認・再送有無|
|通信（物理）|同期信号|

物理的に同期信号を使うかどうかが、通信屋にとっては、同期伝送の基本。
受信確認をするかどうか、受信確認できなかった場合に再送するかどうかは、通信規約（論理）で決めればいいこと。たとえば、UDPであれば、受信確認・再送処理はしない。そこで、OSEK(AUTOSAR) OSの処理に待ちのない基本タスクだけで実現できる。

物理的な同期伝送しているかどうかとは必ずしも関係がない。TCPであれば、受信確認・再送処理はするが、次のパケットは送ることができ、通信が待ちになるわけではない。処理が待ちになることと、通信が待ちになることは必ずしも１対１対応ではない。ただし、再送処理をするために、特定のパケットを送ったタスクを待ちにして、次のパケットは別タスクで送ることもできる。この処理はOSEK(AUTOSAR) OSのタスクの待ちがある拡張タスクで実現できる。

物理的規約と、論理的規約と、それらをどう処理するかは処理の設計の問題である。処理に従属した通信規約を作ることはかまわない。命名の時には、物理的規約、論理的規約の名称とまぎらわしくない命名にするとよいかも。

# 参考資料(reference)
通信の「同期」が重要なワケ
https://thinkit.co.jp/story/2015/04/17/5793

クロック同期式、調歩同期式
http://arduinopid.web.fc2.com/M54.html

調歩同期(非同期)
https://www.lineeye.co.jp/html/term_Async.html

シリアル通信について
http://www.maroon.dti.ne.jp/koten-kairo/works/dsPIC/serial1.html

## 参考資料 on Qiita
Pythonの非同期プログラミングを完全理解
https://qiita.com/kaitolucifer/items/3476158ba5bd8751e022

【同期通信、非同期通信】
https://qiita.com/JunInaba1/items/feba4d5da6ac0301cdd1

お盆休みにIEEE Ethernet規格(英文：個人利用無料)を読もう。１日１０００ページ目標。
https://qiita.com/kaizen_nagoya/items/e1a3155a950e799a17f5

# 参考文献(reference books)
コンピュータネットワーク 
第5版 2013/9, [Andrew S. Tanenbaum/アンドリュー・S・タネンバウム](https://ja.wikipedia.org/wiki/アンドリュー・タネンバウム), デイビッド・J・ウエザロール 
<img width="200" alt="61spCRPEsUL._SX386_BO1,204,203,200_.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51423/8b62bb75-0587-f7f7-a627-659352160d8e.jpeg">
https://www.amazon.co.jp/dp/482228476X/
https://bookmeter.com/books/7166017
https://booklog.jp/item/1/482228476X
>現代のオペレーシングシステムは、ネットワーク対応が基本だと思います。その視点で、タネンバウムのオペレーティングシステムと、このネットワークは、ちょうど
UNIXとTCP/IP
のように、対になっていると考えるとよいかもしれない。基本的な枠組みを提示している。英語の原典を読むとよい。日本語訳は、英語がわからないところを調べるために辞書のように利用するとよい。翻訳の質が悪いと思ったら、翻訳者や出版社に変更案を送ると、次の印刷から変更してくれることがある。その際、最新版を送ってくれることは１度や２度ではない。もし、気がついたことがあれば、気軽に翻訳者や出版社にメールを送ろう。
感想歌 MINIXネットワークは基本ですUnixでもLinuxでも　TCP/IP学ぶ前準備ネットの勉強ここから始めるとよいかも。


# 自己参照
物理記事　上位100
https://qiita.com/kaizen_nagoya/items/66e90fe31fbe3facc6ff

数学関連記事１００
https://qiita.com/kaizen_nagoya/items/d8dadb49a6397e854c6d

言語・文学記事　１００
https://qiita.com/kaizen_nagoya/items/42d58d5ef7fb53c407d6

医工連携関連記事一覧
https://qiita.com/kaizen_nagoya/items/6ab51c12ba51bc260a82

通信記事１００
https://qiita.com/kaizen_nagoya/items/1d67de5e1cd207b05ef7

自動車　記事　１００
https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5

日本語（０）一欄
https://qiita.com/kaizen_nagoya/items/7498dcfa3a9ba7fd1e68

仮説（0）一覧（目標100現在40）
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df

安全（0）安全工学シンポジウムに向けて: 21
https://qiita.com/kaizen_nagoya/items/c5d78f3def8195cb2409

OSEK OS設計の基礎　OSEK(100)
https://qiita.com/kaizen_nagoya/items/7528a22a14242d2d58a3

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

Ethernet 記事一覧　Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794

Wireshark 一覧 wireshark(0)、Ethernet(48) 
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0

線網（Wi-Fi）空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

資料集 [あなたもdocker私もdocker一覧] docker(0) to 166+61=227
https://qiita.com/kaizen_nagoya/items/45699eefd62677f69c1d

Error一覧 error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
This article is an individual impression based on the individual's experience. It has nothing to do with the organization or business to which I currently belong.
### 文書履歴(document history)
ver. 0.01 初稿　20200818
ver. 0.02 英語表現変更 20200819
ver. 0.03 英語文献Synchronization of Digital Telecommunications Networks, Data Networks２つ追加。synchronous communicationを表題に追記。20200920
ver. 0.04 参考文献追加20200821
### 最後までおよみいただきありがとうございました。
いいね　💚、フォローをお願いします。
####  Thank you very much for reading to the last sentence.
Please press the like icon 💚　and follow me for your happy life.