The following 183 use cases are grouped by area. Click on the link icons in the tables below for more information about each use case.
All computer systems need ways to identity the people who use them, limit/control their use, and ensure that community rules and expectations are honored.
Identity management describes how people identify themselves to applications and systems. Group management describes how people organize and name groups of individuals. Finally, Allocation management describes how a community authorizes and/or limits the use of community services by specific individuals or groups.
Group Management:These use cases describe how individuals need to manage and use group definitions. In its simplest form, a group definition is a list of people that needs to be maintained and used for some ongoing purpose. Groups can be used to coordinate research teams (e.g., authorizing use of a resource), for communication (e.g., managing an email list), or for project management (e.g., task assignments).
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
GRP-01 | Researcher manages membership of a project group | ||||
GRP-02 | Manually create a group | ||||
GRP-03 | Manually view or manage the configuration or membership of a group | ||||
GRP-05 | Invite members to a group | ||||
GRP-06 | Request membership in a group | ||||
GRP-09 | Synchronize an external group | ||||
GRP-10 | Automate a group's configuration | ||||
GRP-12 | Use groups to control access within a resource | ||||
GRP-14 | Use a group to control access within an application | ||||
GRP-15 | Use a group for task assignments within an application | ||||
GRP-16 | Use a group for email distribution | ||||
GRP-17 | Drive project membership with an email message |
Identity Management:
These use cases describe how researchers, scientists, and other community members register themselves with computer systems, prove their identities when using applications, and manage their identity data (user profiles).
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
IDM-01 | Register with a community | ||||
IDM-02 | Login to a community’s user portal with a community username and password | ||||
IDM-03 | Change a community user profile | ||||
IDM-04 | Login to a community’s user portal with an identity from another organization | ||||
IDM-05 | Link or unlink an identity from another organization | ||||
IDM-06 | Login to a web application or science gateway with a community identity | ||||
IDM-07 | Login to a locally installed application with a community identity | ||||
IDM-08 | Login to a locally installed application with an SSH/X.509 key | ||||
IDM-11 | Use a community identity for InCommon authentication | ||||
IDM-12 | Single sign-on across community OpenStack resources | ||||
IDM-13 | Authenticate to a resource’s OpenStack API | ||||
IDM-14 | SSH access using a community identity for education | ||||
IDM-15 | Lookup affiliated institutions for a community identity | ||||
IDM-16 | Obtain affiliated institutions when an individual logs in to a service | ||||
IDM-17 | Obtain a high-assurance X.509 certificate |
Allocation Management:
The use cases in this area describe ways a community manages access to its resources, including: project solicitations, proposal submissions, proposal reviews, and allocating resources to specific projects.
Research computers are powerful, but the demand to use them is larger than the capacity they offer. Access to these resources must be based on community priorities. The allocation system described in these use cases is used by the XSEDE system but is available to others as well. A central allocation system--one that researchers can use to request access to many resources--is important to ensure the easiest access by researchers.
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
P2-01 | Establish an Allocations Process | ||||
P2-02 | Establish allocation review panel | ||||
P2-03 | Add resources to allocations process | ||||
P2-04 | Establish an allocation Submission Opportunity | ||||
P2-05 | Submission of Allocation Request | ||||
P2-06 | Manage review of Submissions to an Allocations Opportunity | ||||
P2-07 | Submission of a Review | ||||
P2-08 | Award or reject allocation request | ||||
P2-09 | Allocation data reporting and access | ||||
P2-10 | Customize allocation request data fields |
Community Building use cases describe how participation in research computing is being broadened beyond individual, highly focused (and often quite small) research projects. These include offering services that can be used by a wider range of researchers (e.g., science gateways), helping research communities coordinate their own activities (e.g., research coordination), and providing opportunities for new service providers to offer their services to the research community (e.g., campus bridging, community infrastructure, and service provider integration).
Campus Bridging:These use cases describe how campus information technology (IT) administrators and campus-based research projects: (a) treat external resources (other campuses or national providers) as extensions of their campus environments, (b) offer services at their campuses to others in the research community, and (c) deliver new services to their campuses leveraging the wider community's experiences and solutions.
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
CB-01 | InCommon-based Authentication | ||||
CB-02 | Share the public research computing “environment” with campus resources | ||||
CB-03 | Remote desktop services for researchers | ||||
CB-04 | Access campus research data from a community resource | ||||
CB-05 | Workflow automation combining community and campus resources | ||||
CB-06 | Sharing computational facilities among campuses | ||||
CB-07 | Support for commercial service providers | ||||
CB-08 | Use a community login service with campus login servers | ||||
CB-09 | Access a community data collection from campus | ||||
CB-10 | Synchronize research data between campus and community resources | ||||
CB-11 | Archive research data on a community resource | ||||
CB-12 | Setup monitoring and usage reporting for a campus HPC resource | ||||
CB-13 | Provide a simple interface to access any of the high-throughput computing queues available to a campus | ||||
CB-14 | Submit tasks to any of the high-throughput computing queues available to a campus | ||||
CB-15 | Develop an application or gateway that submits tasks to any of the high-throughput computing queues available to a campus | ||||
CB-16 | Build a cluster using a community guide or toolkit | ||||
CB-17 | Obtain a list of individuals at a specific campus who have allocations | ||||
CB-18 | Obtain a list of individuals at a specific campus who have used science gateways |
Community Infrastructure:
The public research computing environment should be open and extensible: a "community infrastructure." In order to use and participate in this environment, community members (researchers, application developers, service providers, campus IT administrators) must be able to access details about the system’s design, implementation status, and the driving user needs.
Note: In these use cases, the terms “service” and “service provider” are used broadly. Any of the following would be examples of “services” if they are shared with researchers: a computer system, a website or web-based application, a computer system with a specific software application installed for use, a high-capacity data storage device, a long-term data archiving service, a virtual machine (IaaS) host, a software repository, or an identity provider.
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
CI-01 | Access system information | ||||
CI-02 | Manually publish system information | ||||
CI-03 | Automate changes to system information | ||||
CI-04 | Publish current and desired system capabilities, their availability, and their implementation status | ||||
CI-05 | Discover current and desired system capabilities, their availability, and their implementation status | ||||
CI-06 | Rate the priority or quality of a community need or contribution | ||||
CI-07 | Discuss a community activity | ||||
CI-08 | Conduct an engineering review of a community contribution | ||||
CI-09 | Discover and inspect system capabilities currently under development | ||||
CI-10 | Discover and review engineering documents for a specific capability or component | ||||
CI-11 | Manage the source code, documentation, and installable packages for a capability | ||||
CI-12 | Learn about a community | ||||
CI-13 | Learn about a community's resources for researchers | ||||
CI-14 | Learn how to provide services within a community | ||||
CI-15 | Access a directory of people and groups within a community | ||||
CI-16 | Publish batch hardware, configuration, and status information | ||||
CI-17 | View usage data for community resources |
OSG/LHC Integration:
These use cases describe how to make shared computing resources behave similarly to the Open Science Grid's (OSG's) Compute Elements (CEs) and Storage Elements (SEs), enabling them to be added to the set of services available to OSG Virtual Organizations (VOs). (Note: The Federation & Interoperation use cases resulted from generalizing these OSG/LHC-specific use cases.)
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
FCI-01 | VO authentication (myProxy services) | ||||
FCI-02 | Pilot job submission (set up CE) | ||||
FCI-03 | Software installation (CVMFS) | ||||
FCI-04 | Data management (set up SE) | ||||
FCI-05 | Set up full PanDA site (incl. DB access) | ||||
FCI-06 | Use as ATLAS production site |
Federation and Interoperability:
These use cases describe how scientific projects make use of resources from more than one public research computing community, and how a given community can support such projects. A public research computing community is an organized set of resources and processes that work together coherently to serve the needs of a community of researchers. Many such communities exist worldwide, such as XSEDE and PRACE. Each community has computing resources (e.g., an HPC cluster or an archival storage service) and a set of services that add value to the community’s resources (e.g., a community login service or a user support service).
Although each use case describes an activity that uses resources from multiple communities, the use cases themselves are written from the point of view of a single community. The goal is to express what a single community must offer to support the activity.
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
FI-01 | Conduct a high-throughput computing project using resources from multiple communities | ||||
FI-02 | Supply an organization’s research information technology information to an aggregation service | ||||
FI-03 | Build a research information technology discovery service that lists services from multiple organizations | ||||
FI-04 | Discover research information technology offered by multiple organizations |
Research Coordination:
Beyond supporting individual research projects, the research community can also serve as a gathering point for researchers who share common research topics or methods. The use cases in this area describe how researchers can organize themselves as research communities and coordinate their activities for the greater good.
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
RC-01 | Participate in a research discussion forum | ||||
RC-02 | Manage usage within an allocation | ||||
RC-03 | Install software on a resource for use by a research community | ||||
RC-04 | Find where a specific application or service is available within the system | ||||
RC-05 | Request a software installation | ||||
RC-06 | Find a software container that will help set up a specific runtime environment | ||||
RC-07 | Use a container to create a specific runtime environment on a resource | ||||
RC-08 | Access a repository of files from a compute resource administered by a service provider | ||||
RC-09 | Access a repository of files from a cloud resource administered by the researcher | ||||
RC-10 | Create or modify the contents of a repository that will be accessed on many resources |
Science Gateways:
These use cases describe how research communities use community computing resources to power their "science gateways," supporting the specialized needs of research fields, communities of practice, and joint initiatives. Science gateways are applications—most often web-based—that are used by groups of researchers with similar needs. Each gateway is developed and operated by one or more leaders in the research field who applies for an allocation to serve the community. Gateways can also help researchers who have their own allocations by providing a more customized, user-friendly interface.
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
SGW-01 | Acquire credentials that allow use of community resources | ||||
SGW-02 | Transfer files to and from a community resource | ||||
SGW-03 | Run an application on a community resource | ||||
SGW-04 | Enable gateway users to transfer files to or from a community resource | ||||
SGW-05 | Obtain information about a community resource | ||||
SGW-06 | Estimate when a job submitted to a community resource is likely to finish | ||||
SGW-07 | Retrieve user specific information using user credentials |
Service Provider Integration:
These use cases describe how Service Providers (SPs) integrate their resources with a broader research computing community.
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
SPI-01 | Resource integration console | ||||
SPI-02 | Guided resource discovery | ||||
SPI-03 | View all resource information | ||||
SPI-04 | Access resource information from an application | ||||
SPI-05 | Active account information | ||||
SPI-06 | Emergency account suspension | ||||
SPI-07 | Enable a research community to install software on a resource | ||||
SPI-08 | Register availability of a specific application or service for use | ||||
SPI-09 | Test a system for vulnerabilities using an automated service | ||||
SPI-10 | Obtain expert help with resolving a system vulnerability | ||||
SPI-11 | Host a repository of files so it can be accessed on many resources and manually populated by authorized individuals | ||||
SPI-12 | Host a repository of files so it can be accessed on many resources and automatically populated | ||||
SPI-13 | Configure a service to use high-assurance X.509 certificates for user access | ||||
SPI-14 | Report resource usage against allocations | ||||
SPI-15 | Configure notifications regarding resource allocations and individual users | ||||
SPI-16 | Scan a moderated service provider forum for a solution to a problem other SPs are likely to have had | ||||
SPI-17 | Push an alert or information to resource users via a web interface | ||||
SPI-18 | Offer a web interface for a community resource |
Technical support:
Research computing usually involves advanced systems, applications, and methods. Technical support is necessary for researchers, students, and educators to make effective use of the services and resources available to the community and continuously advance the leading edge of what is possible.
These use cases describe how scientists analyze large amounts of scientific data. The data is typically large in volume (larger than one would use on a personal or business computer), but is organized and stored in different ways for different kinds of research. Data might be generated by a single source (a large simulation, for example) or it might come from many sources (observational results from many different instruments or different research teams). The methods of analysis also vary from field to field and problem to problem.
Data Analysis:These use cases describe how scientists analyze large amounts of scientific data. The data is typically large in volume (larger than one would use on a personal or business computer), but is organized and stored in different ways for different kinds of research. Data might be generated by a single source (a large simulation, for example) or it might come from many sources (observational results from many different instruments or different research teams). The methods of analysis also vary from field to field and problem to problem.
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
DA-01 | Discover data analysis resources and documentation | ||||
DA-02 | Prepare data for analysis | ||||
DA-03 | Analyze data from research instruments | ||||
DA-04 | Analyze data generated by a simulation | ||||
DA-05 | Steer a large computation while it runs | ||||
DA-06 | Time-critical data analysis | ||||
DA-07 | Run an interactive data science application using a community resource for back-end computation |
These are the “enabling functions” provided by the XSEDE system architecture. They are the common ingredients that enable XSEDE to satisfy the use cases in every other category. Each public research computing community has its own enabling use cases: some that overlap with XSEDE’s, others that are distinct characteristics of the community.
The purpose of enabling functions is to provide a common set of system-wide features that can be used when satisfying other use cases. Enabling functions arise from reviewing a large set of use cases from different types of community members and identifying the common features they share. For example, most use cases—whether from High-Performance Computing, Data Management, Campus Bridging, or Science Gateways—assume there’s a community-wide “login” feature that allows individuals to register, obtain credentials, and then use those credentials to login. Rather than design a custom login feature for every use case, we instead define an enabling function and assume most, if not all, use cases will use it.
XSEDE maintains descriptions of our enabling functions for several reasons. First, they support the introduction of new services from community members and partners by identifying features that must be carefully integrated in order to provide a smooth experience for XSEDE community members. Second, these descriptions allow XSEDE to consider new and better ways to provide each enabling function without unintentionally losing important features in the process. Finally, they support partnership and transition discussions by providing a basis for comparison with other systems.
Each of these enabling functions, with the exception of CAN-05, was originally written as an individual document during the XSEDE-1 project between 2012 and 2015 using a more technical format and terminology. These previous versions are linked in the References section.
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
CAN-01 | Run a remote job | ||||
CAN-02 | Managed data transfer | ||||
CAN-03 | Remote File Access | ||||
CAN-04 | Open a command shell on a login server | ||||
CAN-05 | Record and summarize the use of a service | ||||
CAN-06 | Authenticate with an application | ||||
CAN-07 | Subscribe to resource status information | ||||
CAN-08 | Search for resource information | ||||
CAN-09 | Establish and manage a community identity | ||||
CAN-11 | Publish resource status updates | ||||
CAN-12 | Update resource information |
Scientific computing use cases describe how researchers access and use computing resources. Each category in this area (high-performance computing, high-throughput computing, cloud computing, and workflows) focuses on a type of computing resource used by researchers and the most common interactions with that resource type.
High Performance Computing:These use cases describe the most common ways in which researchers use high-performance computing (HPC) resources. Each HPC resource is designed, constructed, and operated by a service provider (SP) organization, such as the Pittsburgh Supercomputing Center (PSC) or University of Michigan. An HPC resource may contribute services to one or more public research computing communities, such as XSEDE or Open Science Grid (OSG).
These use cases focus on the experiences researchers in a given community have with the HPC resources in that community. Using an HPC resource is most often part of a larger research process, so these use cases also mention the community’s website and documentation, registration and account management services, allocation services, and tools to help move code and data into and out of individual HPC resources.
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
HPC-01 | Use a single HPC resource for a research project | ||||
HPC-02 | Use two or more HPC resources for a research project | ||||
HPC-03 | Use a workflow system to conduct a project on HPC resources | ||||
HPC-04 | Submit jobs to a discounted job queue where they might be interrupted | ||||
HPC-05 | Review performance metrics for one’s own use of a community resource | ||||
HPC-06 | Submit and manage jobs on a community resource using a web-enabled device | ||||
HPC-07 | Upload, download, and edit files on a community resource using a web-enabled device | ||||
HPC-08 | Discover batch hardware, configuration, and status information |
High Throughput Computing:
These use cases describe the most common ways that researchers use high-throughput computing (HTC) resources. Also known as "capacity computing," high-throughput computing allows researchers to run a very large number of modeling, simulation, or data analysis tasks in a short amount of time. The resources required by each task can be small (similar to what one could run on a basic computer) or very large (requiring more active memory or CPU cycles than "normal" computers provide). What makes HTC unique is the fact that many runs of the same application are required to complete a research project. HTC resources allow researchers to complete projects faster than they could if they were limited to the computers available in their own offices, labs, or research institutions.
Each HTC resource is designed, constructed, and operated by a service provider (SP) organization, such as the Pittsburgh Supercomputing Center (PSC) or University of Michigan. An HTC resource may contribute services to one or more public research computing communities, such as XSEDE or Open Science Grid (OSG). These use cases focus on the experiences researchers in a given community have with the HTC resources in that community. Using an HTC resource is most often part of a larger research process, so these use cases also mention the community’s website and documentation, registration and account management services, allocation services, and tools to help move applications and data into and out of individual HPC resources.
Infrastructure-as-a-Service:
These use cases describe the ways in which researchers use Infrastructure-as-a-Service (IaaS or "cloud") computing resources. They include: how IaaS services are used by end users, how IaaS services are shared within a research community, and how application and science gateway developers can automate use of IaaS services via APIs.
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
IAAS-01 | Request to use an IaaS host for research | ||||
IAAS-02 | Self-service acquire and use a virtual computer system | ||||
IAAS-03 | Self-service acquire and use a hosted storage volume | ||||
IAAS-04 | Request and use a virtual cluster | ||||
IAAS-05 | Publish a virtual computer system or storage volume | ||||
IAAS-06 | Discover a relevant computer system or storage volume | ||||
IAAS-07 | Create an instance of a published computer system or storage volume | ||||
IAAS-08 | Dynamically acquire and manage hosted computer systems and/or storage volumes | ||||
IAAS-09 | Reliably acquire and manage hosted computer systems and/or storage volumes | ||||
IAAS-10 | Add a science gateway operator to an API-enabled IaaS allocation | ||||
IAAS-11 | Protect a virtual cluster by creating a bastion host |
Scientific Workflows:
These use cases describe how researchers use workflow tools to automate complex research computing processes. There are at least two motivations for automation: first, to improve research productivity by freeing researchers from time-consuming tasks that can be automated; second, to make the research process reproducible, capturing and recording every step of the process so other researchers can inspect and validate the process behind the researcher’s conclusions.
Research computing processes are extremely diverse. Consequently, there are a variety of workflow tools in use. The public research computing community enables workflow tools by providing APIs for basic computing services, such as: job submission and management, data movement, and resource configuration and status information. Using these APIs, a workflow tool can automate the execution of a research computing process. Another important community function is coordinating the execution environments across resources: making them as similar as possible so individual research jobs can be run on a wider variety of computing resources.
Today's research increasingly relies on generating, collecting, organizing, and analyzing large amounts of data. Researchers often find themselves needing to work with more data than personal or laboratory computers are equipped to handle, and in some cases, the same scales used by large corporations and government agencies. Scientific Data use cases explain how researchers work with data, including analysis, data management, and data sharing.
Data Analysis:These use cases describe how scientists analyze large amounts of scientific data. The data is typically large in volume (larger than one would use on a personal or business computer), but is organized and stored in different ways for different kinds of research. Data might be generated by a single source (a large simulation, for example) or it might come from many sources (observational results from many different instruments or different research teams). The methods of analysis also vary from field to field and problem to problem.
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
DA-01 | Discover data analysis resources and documentation | ||||
DA-02 | Prepare data for analysis | ||||
DA-03 | Analyze data from research instruments | ||||
DA-04 | Analyze data generated by a simulation | ||||
DA-05 | Steer a large computation while it runs | ||||
DA-06 | Time-critical data analysis | ||||
DA-07 | Run an interactive data science application using a community resource for back-end computation |
Data Management:
These use cases describe how researchers manage collections of data for shared use or for their own re-use over time. The use cases range from a single research project managing and organizing its own data, to several related projects using each other's data, or to data being prepared for future use in applications that haven't been imagined yet.
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
DM-01 | Create and share a data collection | ||||
DM-02 | Coordinated computing with a shared data collection | ||||
DM-03 | Automate data ingestion from a set of sensors or instruments | ||||
DM-04 | Migrate data to a new resource | ||||
DM-05 | Manually create metadata for a data object | ||||
DM-06 | Run a researcher-supplied tool to generate metadata for data objects | ||||
DM-07 | Automatically extract metadata from data objects | ||||
DM-08 | Store metadata for later use | ||||
DM-09 | Search metadata for specific objects of interest | ||||
DM-10 | Add metadata search features to an application | ||||
DM-11 | Post-allocation data access | ||||
DM-12 | Large-scale data transfer | ||||
DM-13 | Small-scale data transfer | ||||
DM-14 | Scrape public websites to gather data | ||||
DM-15 | Transfer data between a researcher's cloud storage and a community storage system |
Visualization:
These use cases describe the most common scientific data visualization methods. This is an evolving field of work, since the ability of desktop computers to visualize data is improving rapidly. But it is still common for researchers to need to visualize data at scales that exceed their local resources, requiring them to use high-performance and high-throughput computing resources to advance their work. Large-scale visualization resources must often be used remotely over a research network with the results shown on a local display.
Advanced visualization resources are designed, constructed, and operated by a service provider (SP) organization, such as the Texas Advanced Computing Center (TACC) or University of Utah. A visualization resource may be used in one or more public research computing communities, such as XSEDE or Open Science Grid (OSG).
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
VIS-01 | Visualize research data using streaming video | ||||
VIS-02 | Visualize research data using streaming geometry data | ||||
VIS-03 | Generate visualization data for later viewing | ||||
VIS-04 | Visualize and steer a simulation running on a remote resource | ||||
VIS-05 | Visualize a simulation as it runs on a remote resource | ||||
VIS-06 | Visualize research data using a web application |
These use cases describe how researchers use workflow tools to automate complex research computing processes. There are at least two motivations for automation: first, to improve research productivity by freeing researchers from time-consuming tasks that can be automated; second, to make the research process reproducible, capturing and recording every step of the process so other researchers can inspect and validate the process behind the researcher’s conclusions.
Research computing processes are extremely diverse. Consequently, there are a variety of workflow tools in use. The public research computing community enables workflow tools by providing APIs for basic computing services, such as: job submission and management, data movement, and resource configuration and status information. Using these APIs, a workflow tool can automate the execution of a research computing process. Another important community function is coordinating the execution environments across resources: making them as similar as possible so individual research jobs can be run on a wider variety of computing resources.
Use Case ID | Title | Use Case Description | CDP | Start Date | End Date |
---|---|---|---|---|---|
SW-03 | Share an existing scientific workflow with other researchers |