The dataflow between these units can be summarized as follows: upon receiving a certain request, the service access interface sends it to a request validation unit. If it is found to be a valid request, it proceeds to an authentication module; otherwise, if the request is found to be invalid, it is dropped and the service access interface is notified to reject the request. Next, depending on the source of the request, the authentication unit either uses an HTTPS session-based for browser based requests (user clients) or a key-based authentication for non-browser based requests (i.e. device clients).