Secure Grading Containers for Programming Assignments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

On-demand online courses face challenges in real-time grading of programming assignments due to the need for continuous availability and security, especially when students submit code that may violate security criteria or access sensitive resources.

Innovation Solution

A computer-implemented method and system that creates a custom grader container, evaluates the grader application within a secure environment, modifies it to prevent violations of predetermined criteria, and uses it for grading programming assignments, ensuring real-time feedback and security by isolating each student's submission and limiting resource access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If custom grader applications are allowed to execute student submissions with full access to system resources, then grading functionality and flexibility are improved, but security risks increase as malicious code may access sensitive resources or affect other students' submissions

Engineering Contradiction:
Improvegrading functionalityVSAvoidsecurity risks
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system segments the execution environment by creating isolated containers for each student submission. Each container has its own filesystem, process space, and resource allocations, preventing malicious code from affecting other submissions or the host system while maintaining full grading functionality within each isolated environment

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a container runtime and management system as an intermediary between the grader application and student submissions. This intermediary layer enforces security policies, manages resource allocations, and mediates all access requests, allowing flexible grading while maintaining security boundaries

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the system evaluates and modifies custom grader containers to prevent security violations, then security is improved, but the complexity of the grading system increases due to additional evaluation and modification steps

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary evaluation of custom grader containers before they are deployed for actual grading. Security policies, resource limits, and filesystem configurations are predetermined and applied in advance, allowing the system to ensure security without adding complexity during the actual grading process

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates disposable container images that can be rapidly instantiated and destroyed. These temporary containers are used for evaluation and grading, then discarded afterward. This approach reduces security complexity by ensuring each grading operation starts with a clean, known-good state without carrying over potential security issues

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Loss of time

If real-time grading is implemented for on-demand courses, then student feedback speed is improved, but the system requires continuous availability which increases operational complexity and resource requirements

Engineering Contradiction:
Improvefeedback delayVSAvoidoperational complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The container-based grader system is designed to be universal and stateless, allowing the same infrastructure to handle multiple grading operations simultaneously across different courses and students. This multi-functionality enables real-time feedback without requiring separate dedicated systems for each grading task, reducing operational complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11749135B2Secure computer-implemented execution and evaluation of programming assignments for on demand courses
Publication Date: 2023.09.05 COURSERA INC
  • US11749135B2 patent drawing
  • US11749135B2 patent drawing
  • US11749135B2 patent drawing

AI summary

A computer system includes a course repository and a server. The course repository includes a video of an online course, an instructor provided output for a programming assignment associated with the online course, and a submission script for generating student provided output for the programming assignment. The server includes a submission module that receives and verifies the student provided output for the programming assignment. The server further includes one or more built-in grader applications that compare the student provided output with the instructor provided output to determine a grade for the programming assignment.