Real-time communication (RTC) is a category of software protocols and communication hardware media that gives real-time guarantees, which is necessary to support real-time guarantees of real-time computing. Real-time communication protocols are dependent not only on the validity and integrity of data transferred but also the timeliness of the transfer. Real-time communication systems are generally understood as one of two types: Hard Real-Time (HRT) and Soft Real-Time (SRT). The difference between a hard and soft real-time communication system is the consequences of incorrect operation. Safety-critical systems capable of causing catastrophic consequences upon a fault, such as aircraft fly-by-wire systems, are designated as hard real-time, whereas non-critical but ideally real-time systems, such as hotel reservation systems, are designated as soft real-time. The designation of a real-time communication system as hard or soft has significant influence on its design.
Hard Real-Time Systems
Hard real-time communication systems are frequently electromechanically linked to a physical mechanism, often one that interfaces directly with people or property, which often contributes to or defines the potential danger of a fault. Due to their safety-critical nature, the communication protocols defined in a hard real-time system generally must be deterministic. Hard real-time communication systems are particularly common in the transportation, industrial, and medical sectors. Common applications include control systems, automotive controllers, medical devices, and critical safety systems such as airbag firing computers.
- The spacecraft communication network SpaceWire supports real-time communication.
- Time-Triggered Ethernet supports real-time synchronous communication in complex multi-hop Ethernet networks.
Soft Real-Time Systems
Unlike hard real-time communication systems, soft real-time communication systems generally do not have the capacity to cause catastrophic harm upon a fault, which allows for non-deterministic, less rigorous network infrastructure. This allows soft real-time communication systems to operate over consumer networks such as residential internet connections and cellular networks. A large amount of soft real-time systems are telecommunications products such as VOIP systems and certain video calling platforms such as Discord and Google Meet. Data transmitted over a soft real-time communication system is not stored in a centralized server, and peers are connected directly to one another rather than through a server, although intermediary connecting nodes between peers are allowed when a direct link cannot be established.
- WebRTC, an open-source real-time communication framework for mobile applications and web browsers, is the current most prominent implementation of real-time communication in the web-oriented telecommunications space.
- Sharad Sundaresan; Riccardo Bettati. "Distributed Connection Management for Real-Time Communication over Wormhole-Routed Networks". 1997.
- Doyle, Paula (May 2004). "Introduction to Real-Time Ethernet 1" (PDF). the Extension. 5: 4 – via Contemporary Control Systems, Inc.
- "IE304: Real Time Ethernet, Part 1". www.industrialethernetu.com. Retrieved 2022-03-26.
- Livani, M.A (1998). "Scheduling Hard and Soft Real-Time Communication in the Controller Area Network" (PDF). IFAC Proceedings Volumes. 31: 13 – via ScienceDirect.
- Dr Barry M Cook; Paul Walker. "Ethernet over SpaceWire - software issues". 2007.
- Saravanan, R.; Ramaraj, N. (2009-01-31). "Providing Reliability in Replicated Middleware Applications". Journal of Computer Science. 5 (1): 11–22. doi:10.3844/jcssp.2009.11.22. ISSN 1552-6607.
- "How Discord Handles Two and Half Million Concurrent Voice Users using WebRTC". discord.com. Retrieved 2022-03-26.
- "How does Hangouts use WebRTC? webrtc-internals analysis". webrtcHacks. 2014-07-29. Retrieved 2022-03-26.
- "What is Real-Time Communications (RTC)?". SearchUnifiedCommunications. Retrieved 2022-03-26.
- Bubley, Dean (June 2018). "Emerging RTC use-cases" (PDF). Disruptive Analysis.