Architectural Design Goals
Instant Connect Enterprise has been written from the ground-up with these goals in mind:
Scalable, distributed media processing
Unlike most voice collaboration platforms, virtually all media processing performed by Instant Connect Enterprise is handled at the edge of the network rather than inside a centralized server. Audio mixing, vocoding, and encryption are processed by each user’s client device. The ICE Rallypoint, the component whose function is closest to a central media server, behaves like a network switch forwarding audio packets to clients who expect to receive them, without regard for their payloads.
This architecture has several benefits:
1. Enables a 'tactical' mode of operation in which ICE clients can communicate with one another without need for a provisioning server. In environments where IGMP multicast is available between users, then not even a Rallypoint is needed.
2. In environments employing an ICE Server, users can still communicate even when the server connection is lost. Further, when a channel is configured to use a Rallypoint and the connection to that Rallypoint is lost, the channel will failover to use multicast.
3. It makes large scale environments possible without complex or excessive server hardware.
Network simplicity
Instant Connect utilizes 'Internet friendly' protocols throughout its ecosystem. Clients connect to the ICE Server using HTTPS and to Rallypoints using SSL. Thus, most system operators who need to provide access to users outside of their firewall only need to open three ports: 443 for HTTPS, 7443 for Rallypoints and 8443 for Rallypoints used by ICE Desktop for Web.
Telephony functions that are available in ICE Desktop and ICE Mobile are performed entirely through these interfaces—there is no need for complex firewall rules, SIP session border controllers, STUN/TURN servers or similarly complicated network setups common to architectures that expose SIP or UDP traffic to users outside your firewall.
Platform ubiquity and longevity
Instant Connect is built upon modern, leading technology frameworks: platforms that we believe will become de-facto standards in the years to come, if they're not already. Doing so allows our software to run on virtually any hardware or operating system:
Docker and Kubernetes make cloud-scale applications a reality while providing a layer of abstraction between ICE Server and the operating system and hardware it's running on. Any compute platform capable of running Docker/Kubernetes can run ICE.
Electron, React and Redux offer a modern application framework for web and cross-platform desktop applications. Used by a rapidly-growing number of popular applications.
Dart and Flutter are the new kids on the block for cross-platform mobile development. A single codebase that can be shared between iOS and Android means that ICE has the same feature set and user experience across all devices. And a bug fixed on one platform is a bug fixed on both!
Flexibility in scale
Instant Connect’s ability to serve large-scale deployments is accomplished through the combination of a distributed media architecture; a message-oriented provisioning server that is not dependent on transactions and locks; and Kubernetes—an orchestration platform to grow and shrink the system in response to load. However, ICE was not designed exclusively for cloud-scale environments: A single server Kubernetes system can be deployed for small environments at little cost. And when using tactical mode over an IGMP multicast network, no server components whatsoever are needed.