HAI Use Case: Limit response size for non-authenticated users: Difference between revisions
No edit summary |
|||
(6 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
== Summary == | == Summary == | ||
When a user makes a data request the server | When a user makes a data request the server checks to see if they are authenticated. If they are not then the server determines the size of the requested data object, and if it is larger than a configurable threshold then the server will return a response object with an error and instructions on how to limit the response size. | ||
== Actors == | == Actors == | ||
Line 26: | Line 26: | ||
# The server receives the request. | # The server receives the request. | ||
# The server checks to see if the user is authenticated and determines that the user is not authenticated. | # The server checks to see if the user is authenticated and determines that the user is not authenticated. | ||
# The server | # The server determines the size of the requested data object. | ||
# The server compares the size of the requested data object to a threshold value, and finds the data request to be larger | # The server compares the size of the requested data object to a threshold value, and finds the data request to be larger | ||
# The server returns an error object that either contains or references | # The server returns an error object that either contains or references instructions on how to reduce the size of the requested data object. | ||
== Alternate Flow == | |||
== | === Non-authenticated user makes successful request === | ||
# The user makes a large data request of a Hyrax server. | # The user makes a large data request of a Hyrax server. | ||
# The server receives the request. | # The server receives the request. | ||
# The server checks to see if the user is authenticated and determines that the user is not authenticated. | # The server checks to see if the user is authenticated and determines that the user is not authenticated. | ||
# The server | # The server determines the size of the requested data object. | ||
# The server compares the size of the requested data object to a threshold value, and finds the data request to be smaller | # The server compares the size of the requested data object to a threshold value, and finds the data request to be smaller | ||
# The server returns the regular data object for the request.. | # The server returns the regular data object for the request.. | ||
=== Authenticated user makes request === | |||
# The user makes a large data request of a Hyrax server. | |||
# The server receives the request. | |||
# The server checks to see if the user is authenticated and determines that the user is authenticated. | |||
# The server returns the regular data object for the request.. | |||
== Post Conditions == | == Post Conditions == |
Latest revision as of 21:17, 16 November 2010
Point Of Contact: Nathan Potter
Description
Limit data response sizes.
Goal
Reduce server loading by limiting response sizes for non-authenticated users. This limitation may be extended to authenticated users in certain roles in the future.
Summary
When a user makes a data request the server checks to see if they are authenticated. If they are not then the server determines the size of the requested data object, and if it is larger than a configurable threshold then the server will return a response object with an error and instructions on how to limit the response size.
Actors
- User
- Hyrax
Preconditions
A user wants to access data held at a running Hyrax sever.
Triggers
A user attempts to access data held at a running Hyrax server.
Basic Flow
- The user makes a large data request of a Hyrax server.
- The server receives the request.
- The server checks to see if the user is authenticated and determines that the user is not authenticated.
- The server determines the size of the requested data object.
- The server compares the size of the requested data object to a threshold value, and finds the data request to be larger
- The server returns an error object that either contains or references instructions on how to reduce the size of the requested data object.
Alternate Flow
Non-authenticated user makes successful request
- The user makes a large data request of a Hyrax server.
- The server receives the request.
- The server checks to see if the user is authenticated and determines that the user is not authenticated.
- The server determines the size of the requested data object.
- The server compares the size of the requested data object to a threshold value, and finds the data request to be smaller
- The server returns the regular data object for the request..
Authenticated user makes request
- The user makes a large data request of a Hyrax server.
- The server receives the request.
- The server checks to see if the user is authenticated and determines that the user is authenticated.
- The server returns the regular data object for the request..
Post Conditions
Here we give any conditions that will be true of the state of the system after the use case has been completed.
Activity Diagram
Here a diagram is given to show the flow of events that surrounds the use case.
Notes
There is always some piece of information that is required that has no other place to go. This is the place for that information.
Resources
In order to support the capabilities described in this Use Case, a set of resources must be available and/or configured. These resources include data and services, and the systems that offer them. This section will call out examples of these resources.
Resource | Owner | Description | Availability | Source System |
name | Organization that owns/ manages resource | Short description of the resource | How often the resource is available | Name of system which provides resource |