cache protocol