Its purpose is to find out the most appropriate location to retrieve a requested object in the situation where multiple caches are in use at a single site.
The function of ICP is to use the caches as efficiently as possible, and to minimize the number of remote requests to the originating server.
Parents usually sit closer to the internet connection than the child.
The ICP protocol was designed to be lightweight in order to minimize round-trip time between caches.
This approach can reduce numbers of server retrievals, and also prevent the storage of multiple copies of an instance of data, but leads to the potential drawback of increased intercache communication, which can slow the system down.