nasa / utm-apis

The collection of APIs for NASA's UTM project in the form of OpenAPI documents.
55 stars 35 forks source link

Byte size limit on Operation #140

Open nasajoey opened 5 years ago

nasajoey commented 5 years ago

Should we impose a maximum data size for an Operation Plan? Trying to exchange many MBs may be problematic for some servers. There are many checkpoints along the way to processing an operation plan, some of which may reject payload that is over a certain size.

So some questions:

  1. Should we limit payload size to some max value?
  2. If yes for 1, what should that limit be?
  3. If yes for 1, should it be the same limit for all data models?
  4. If yes for 1, any guidance on how to handle detailed plans that may exceed that max?

Thanks.

AmazingMech2418 commented 5 years ago

I'm not completely sure on how the servers handle requests for an Operation Plan, but I would suggest using payload size limits for specific servers. It may be possible to log the exchange of data from each server and make sure that the exchange doesn't exceed a specific value that would be problematic for that server. If a server can't handle a specific request, it may be possible to divide the load among different servers. A way to achieve this would be to send a request to main servers that would handle small requests to decide the plan to divide the load among the servers. After the main servers receive the requests, they would send a plan to achieve the wanted request by sending different requests to different servers. I think the "plan strategy" would work best if it uses requests with certain character limits in the parameters for the requests rather than by sending requests to individual servers. Then, the servers can send data which would be concatenated by the device sending the request to the servers, in order to receive the full payload. This means that the answer to question 1 is yes, the answer for question 2 would depend on the server, the answer for question 3 is no, and the answer for question 4 is the "plan strategy". A way that may make it easier to explain the "plan strategy" is that there was an original "request" to build the International Space Station. Then, space agencies from around the world, including NASA, set up missions to build the International Space Station in over 30 launches, similar to the "plan" sent back from the server. Then, the space agencies launched rockets and space shuttles to achieve the construction of the ISS. I know that this analogy is not the best since the space agencies would play the role of both the servers and clients (devices sending requests), but it shows how one goal can be accomplished from a plan comprised of smaller goals, which is the basis of the "plan strategy".