Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support batched submissions in DAP #647

Open
akoshelev opened this issue Jan 23, 2025 · 1 comment
Open

Support batched submissions in DAP #647

akoshelev opened this issue Jan 23, 2025 · 1 comment
Labels

Comments

@akoshelev
Copy link

There is currently interest from the PPA group to use DAP as the main protocol to aggregate measurement results. However, there is a significant difference in how reports are submitted to the MPC: Rather than coming from end user devices, they are collected by an intermediary and later submitted to the Leader in bulk. The PPA group concluded that network bandwidth savings are worth having a DAP extension that enables bulk uploads.

In w3c/ppa#36, @cjpatton expressed support to have this functionality implemented in DAP, so this issue is open to see if there is appetite from this group to support it.

The formal proposal to change DAP can be found here (aside from section 4.1 that is I believe is addressed in dap-13)

Previous work

This issue has been discussed in #64 and #78. This group concluded that the complexity of supporting batch submissions (particularly handling partial failures) was not worth the network savings obtained from grouping request metadata in one header.

@cjpatton
Copy link
Collaborator

cjpatton commented Jan 24, 2025

My main recollection from previous discussions: we concluded that if batched uploading could be handled at the HTTP level, than we would perhaps better serve higher level applications to force them to do just that.

If the reports your batch-uploading have fields in common, then you can in theory save a little bandwidth:

  1. the task ID (32 bytes per upload)
  2. any public extensions that have identical payloads (savings vary based on the contents of extensions)
  3. the taskprov advertisement, if you're using that extension and using it to provision tasks (savings vary, perhaps a 100 or so bytes per report)

How "big" might report extensions get for PPA? Would the payloads be the same across all or at least many of the reports?

Regardless of how much we might save, I think if sending a very large HTTP request instead of many small HTTP requests is convenient for PPA, then we should support it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants