VCRTS is a distributed cloud computing system that leverages parked vehicles' computational resources to create a static cloud computing environment. The system enables vehicle owners to monetize their parked vehicles' computing power while providing clients with computational resources for their jobs.
- User registration and authentication
- Job submission interface
- Real-time job status monitoring
- Resource usage tracking
- Cloud controller administration
- Resource allocation management
- Job scheduling and monitoring
- System status dashboard
- Vehicle Owner registration/login
- Job Submitter (Client) registration/login
- Cloud Controller administration
- Vehicle registration with specs (VIN, computational power, storage)
- Residency time tracking
- Resource availability monitoring
- FIFO job scheduling
- Automated completion time calculation
- Job status tracking
- Priority-based job management
- Backend: Java
- Frontend: Java Swing
- Database: MySQL
- Authentication: Custom implementation with database integration
- Users (Vehicle Owners, Job Submitters, Cloud Controllers)
- Vehicles (Resources)
- Jobs
- Vehicle Assignments
- Java JDK 11+
- MySQL 8.0+
- Environment variables configured:
url: Database URL sqlusername: Database username password: Database password
- Clone the repository
git clone https://github.com/yourusername/VCRTS.git
- Import SQL schema
mysql -u root -p < VCRTS-TablesV1.sql
- Compile Java files
javac *.java
- Start the server
java TheServerGUI
- Start the client
java TheClientGUI
VCRTS/ ├── *.java # Source files ├── *.class # Compiled classes ├── jobs/ # Job submission records ├── resources/ # Resource configuration
User
: Base class for system usersVehicleOwner
: Manages vehicle registration and ownershipJobSubmitter
: Handles job submission and trackingVehicle
: Represents computational resourcesCloudController
: Manages resource allocationAuthentication
: Handles user authenticationTheClientGUI/TheServerGUI
: User interfaces
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature
) - Commit changes (
git commit -m 'Add some AmazingFeature'
) - Push to branch (
git push origin feature/AmazingFeature
) - Submit Pull Request
- Bryan Fung
- Tomas Santos Yciano
- Albert Legacki
- Allan Ilyasov
- Mathew Martinez