We ran into this exact issue last year with our mobile simulation workflow. The problem isn’t just timeouts - it’s the combination of network reliability, server configuration, and the mobile app’s upload implementation in R2020x.
Here’s what we implemented to solve large file upload reliability:
Server Timeout Configuration:
Increase these parameters in your 3DSpace configuration:
wt.httpgw.timeout=900000
wt.method.server.timeout=900000
com.matrixone.servlet.timeout=900000
Also configure your web server (Apache/IIS) timeout to at least 15 minutes for upload endpoints.
Chunked Upload Support:
R2020x mobile doesn’t natively support resumable uploads, but you can implement it via custom REST service:
// Pseudocode - Chunked upload implementation:
1. Client splits file into 10MB chunks with metadata
2. POST each chunk to /resources/v1/modeler/documents/files/chunks
3. Include headers: X-Chunk-Number, X-Total-Chunks, X-Upload-ID
4. Server stores chunks in temp location with upload session ID
5. Final POST assembles chunks into complete file
6. Server validates checksum and creates document object
// Requires custom MQL service - see ENOVIA Customization Guide 8.3
Mobile App Configuration:
Modify the mobile app’s config file (iOS: config.plist, Android: config.xml) to increase client-side timeout:
- Set network timeout to 600 seconds minimum
- Enable retry logic with exponential backoff
- Configure chunk size if using custom implementation
Network Optimization:
For cellular connections:
- Implement upload queue with WiFi preference
- Add pre-upload file size warning (>100 MB)
- Enable background upload capability so app switching doesn’t cancel transfer
- Use compression for simulation result files (as mentioned by sim_data_specialist)
Monitoring and Diagnostics:
Add logging to track upload progress:
- Client-side: Log chunk completion percentage
- Server-side: Monitor temp file assembly and cleanup
- Alert on repeated failures for specific users/files
We also upgraded to R2022x six months later which includes native support for resumable uploads via the tus.io protocol. If you’re planning upgrades, that’s the cleanest long-term solution. For R2020x, the chunked upload approach with increased timeouts solved our reliability issues - we went from 40% failure rate to under 5% for files up to 500 MB.
The key is addressing all three aspects: server timeout configuration for reliability, chunked upload support for large files, and proper mobile app settings for network resilience. Test thoroughly on cellular networks since that’s where most failures occur.