JNQ and NPM protocols; client-side threading