Fork me on GitHub

Ice Services


Locate, Deploy, and Manage Ice Servers

DNS for Ice

DNS allows you to give memorable names to IP addresses, and to reassign these names as needed. IceGrid provides a comparable service for Ice: it allows Ice clients to lookup Ice objects through simple names.

An Ice client can reach an Ice object in a server by providing the full addressing information for this object, for example chatRoom1:ssl -h -p 10000. This direct addressing is simple but lacks flexibility, since you need to select a fixed port number for the Ice server (port 10000 in our example), and moving this Ice server to a different host requires an update of its clients. IceGrid gives you the option to use symbolic names for this addressing information, such as chatRoom1@chatRoomHost. When an Ice client tries to reach the object in chatRoomHost, it asks IceGrid to provide the direct address associated with this symbolic name. For example, IceGrid could return -h -p 65431. The client then directly and transparently connects to the server, and IceGrid is no longer involved.


In order to use DNS resolution, you need to specify the IP addresses of your DNS servers. Likewise with IceGrid, you give your Ice clients the direct address of your IceGrid server(s), typically through configuration.

Server Deployment

With direct addressing, when an Ice client attempts to connect to a server that is not running, the connection attempt simply fails. With symbolic or indirect addressing, IceGrid has the opportunity to check if the target server is running, and to start or restart this server when it's not. You can configure IceGrid to start your servers in various ways: manual (through an admin command), on-demand (whenever the server is requested but not running), or always (IceGrid keeps the server running at all times).

Server Replication

IceGrid allows you deploy to multiple replicas of the same server, and to configure the strategy it uses to resolve the symbolic name to this replicated server. You can load-balance your clients across all of your replicas, or use a master-backup configuration where your clients use exclusively the master server as long as it remains available.

Administration and Monitoring

IceGrid's admin tools give you complete control over your deployed applications. Activities such as starting a server or modifying a configuration setting are just a mouse click away.

IceGrid Admin

IceGrid Replication

Like a DNS server, IceGrid itself can be replicated to ensure continuous operation in the event that the primary IceGrid's host crashes or becomes unreachable.