Does a Specification Exist for the Query Call Cache?

Hi everyone,
In the ‘STEP3 Classic architecture for query calls’ and ‘STEP4 Classic architecture for query calls’ sections of the article A Technical Overview of the Internet Computer, the terms ‘query cache’ and ‘query call cache’ are mentioned. Are these defined as part of a specific specification? Could you provide any further information on this?

I’m not completely certain, but it appears that cache is active in cross-canister query call requests. Is there no caching in place for the front-end itself between the browser and the front-end canister? Therefore, has the Internet Computer deemed a typical CDN cache server unnecessary? There are 13 nodes operating as origin servers, with one of them being subject to DNS lookup, so a cache server might not be necessary. However, it might be worth considering if there is a high level of load.

ATM there are two caches on the IC:

  1. Replica-side cache. Transparent and coherent query cache, hence there is nothing to worry about or to configure from the dev’s perspective. It’s not part of the IC specification, as it’s an implementation detail.

  2. Boundary node cache. It caches query responses between the IC and the Internet up to 1s. Boundary nodes also not part of the specification, but there is a wiki page mentioning this functionality.

Now, answering the rest of your questions:

it appears that cache is active in cross-canister query call requests

Is there any visible caching effects? if so, what are the steps to reproduce a visible caching effect?

Is there no caching in place for the front-end itself between the browser and the front-end canister?

There is a boundary node cache as described above.

@berestovskyy

Sorry for the late reply.

I am advocating Internet Computer as an engineer in Japan. I will introduce Internet Computer as a decentralized PaaS. In order to give an accurate presentation, I am asking questions.

Thank you, I did not know about Boundary node cache.

I have a question. Are there multiple boundary nodes? Does the boundary node closest to the end user return the cache?

Is there any visible caching effects? if so, what are the steps to reproduce a visible caching effect?

I think it would work for multiple calls to the same query call in a short period of time. However, I have never actually tried it.

1 Like

Are there multiple boundary nodes? Does the boundary node closest to the end user return the cache?

Yes and yes. Please have a look at the How it works and the Wiki

I think it would work for multiple calls to the same query call in a short period of time. However, I have never actually tried it.

Ah ok. It’s expected the queries are cached for a bit, but please report if you see it’s more than just that.

1 Like

@berestovskyy
Thank you for your reply.