Asynchrone Kommunikation
Unter asynchroner Kommunikation versteht man in der Informatik und Netztechnik einen Modus der Kommunikation, bei dem das Senden und Empfangen von Daten zeitlich versetzt und ohne Blockieren des Prozesses durch bspw. Warten auf die Antwort des Empfängers (wie bei synchroner Kommunikation der Fall) stattfindet.
Die asynchrone Kommunikation ist nicht zu verwechseln mit dem Begriff asynchrone Datenübertragung; dieser bezieht sich auf Medienzugriffsverfahren.
Beispiele für asynchrone Kommunikation zwischen Menschen sind
- E-Mail, SMS, und Chat-Konversationen,
- Newsletter oder Mailing-Listen sowie
- Einträge in Diskussionsforen bzw. Newsgroups.
Viele Groupwaresysteme verfügen über proprietäre Dienste zum Versenden und Empfangen von Nachrichten.
Insbesondere im beruflichen Kontext bietet asynchrone Kommunikation das Potenzial von Effizienzsteigerungen gegenüber synchroner Kommunikation. Der Informationsempfänger benötigt die Informationen häufig nicht in dem Moment, in dem sie durch den Sender zur Verfügung gestellt werden. In einer asynchronen Kommunikationsform werden die Informationen zentral zur Verfügung gestellt (z. B. durch ein Enterprise-Content-Management) und durch den Empfänger bei Bedarf abgefragt. Dieses Konzept bietet die Möglichkeit z. B. die Anzahl von Meetings zu reduzieren.
Implementierung
Select(/poll)-Schleifen
Unter Unix- und BSD-Betriebssystemen kann der Syscall select verwendet werden, der einen Prozess anhält, bis eine Ressource zugänglich geworden ist. Einige Unix-Derivate bieten besser skalierende Funktionen, wie z. B. epoll unter Linux, kqueue unter FreeBSD, und /dev/poll bei Solaris.
Callback-Funktionen
Verfügbar unter Mac OS, VMS und Windows
Leichte Prozesse
Light-weight processes (LWPs) stammen ursprünglich von Plan 9
Channel I/O
Verfügbar bei Großrechnern, bei denen der Koprozessor die Interrupts übernimmt.
Registered I/O
Verfügbar unter Windows Server 2012 und Windows 8
Literatur
- Ralf Reichwald (Hrsg.): Mobile Kommunikation. 1. Auflage, Verlag Th. Gabler, Wiesbaden 2002, ISBN 978-3-409-11865-1.
- Klaus Beck: Computervermittelte Kommunikation im Internet. R. Oldenbourg Verlag, München 2006, ISBN 978-3-486-57891-1.
- Martina Dittler: Computervermittelte Kommunikation in netzbasierten Lernszenarien. Herbert Utz Verlag, München 2002, ISBN 3-8316-0131-3.
- Gernot Starke: Effektive Softwarearchitekturen. 7. überarbeitete Auflage, Carl Hanser Verlag, München 2015, ISBN 978-3-446-44361-7.
- Peter Mandl, Andreas Bakomenko, Johannes Weiss: Grundkurs Datenkommunikation. 2. Auflage, Vieweg + Teubner Verlag, Wiesbaden 2010, ISBN 978-3-8348-0810-3.
Siehe auch
- Nicht-blockierende Synchronisation
Weblinks
- Asynchronous I/O Support in Linux 2.5
- https://www.qmbase.com/asynchrone-kommunikation/
- Gekoppelte (synchrone) oder nicht gekoppelte (asynchrone) Kommunikation und einfache oder komplexe Messaging-Funktionen in Zusammenhang mit einem Enterprise Service Bus. (abgerufen am 7. August 2017)
- Verteilte Systeme -Kommunikationsmodelle (abgerufen am 7. August 2017)
- Middleware-Konzepte (abgerufen am 7. August 2017)
- Warum das Telefongespräch verschwindet