CSC5110 Project By Nick Yip (04732563)
Problems We Are Facing • Softwares are usually seen as independent-self individuals which do their own designed tasks. • It leads to the following situations. – Programs are not always updated. – When fatal errors occurred, great amount of time is usually needed for maintainers to fix the bugs or find replacement solutions. – Even development and maintenance of simple solutions may take unexpectable amount of time.
What’s it about? Two parts: • A mother server – Have a custom framework which automates the update, repair, and replacement processes of program slices. – Acts as a platform allowing • easy development and • providing well-indexed pool of program segments for quick code reuse. • Allows users to search for applications, and fetch them from the mother server.
What’s it about? • End-user virtual machine – A virtual machine on user-end to initiate the automation processes. • Updating modules – Scheduled updating module – Patching module – Program slices replacing module
• Error handling modules – – – –
Health monitoring module Error reporting module Error fixing module History rollback module
– Errors will not cause fatal system downtime as all codes run on the custom virtual machine.
Scenario: Error Occurs • Errors reported by – User’s report – Notice from health monitoring module
• User-end VM sends – error dumps, – error screenshots, and – brief system information to mother server.
Scenario: Error Occurs • The system of the mother server analyzes the details and compares it to other known ones, – if known solution is found, a specific patch fitted to the end-user's system will be returned. – If known solution is not found, the system will search for alternative piece of equivalent or similar software component for replacement in the mother server's index. • After replacing related component, if no further error returned by end-user for the alternative component, the id of the alternative component will be recorded for further reference of the system and human software maintainer. • Error dumps, screenshots, and brief details of end-user's system will be saved for software maintainers' further reference.
Scenario: Error Occurs • Even all fail, user can still – use rollback function to make the program return to normal, or – disable the specific component.