关键词 > SCC.311

SCC.311 Coursework Stage 3 Specification

发布时间:2021-12-08

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit


SCC.311 Coursework Stage 3 Specification


Level 6:  Design (15%)

This element of the coursework relates to your overall design to date and how well-argued it is.  You will need to present an architecture diagram as a PDF during your marking session (which should also be submitted along with your code).  During the marking session we will ask you a set of questions about the rationale behind your design decisions.

Level 7: Active Replication (15%)

To ensure dependability of the auctioning system, you are required to enhance availability by using replication techniques.

You should implement an active replication system to meet these requirements, thereby increasing dependability. Please refer to the lectures for the definition of active replication. Auction data (such as the list of available auction items, the current highest bid for each item, etc.) are held by replicas.

The server implementation should have at least three replicas and allow the user to easily add a new replica.  All replicas must maintain a consistent view of the auction data.  JGroups can be a useful tool for this purpose, and is our recommended solution for relative ease of use (we suggest the specific version we provide on Moodle).  However, you are free to employ any other means to implement group communication or other forms of reliable indirect communication among replicas.

Level 8:  Fault Tolerance (15%)

Servers may crash unexpectedly due to either hardware or software faults. Your solution should be able to handle such failures.  As long as one replica remains alive, the auctioning system should continue to function correctly.  You should be prepared to justify your choice of design for failure detection and handling.

For demonstration purposes, your solution must allow the marker to kill an arbitrary replica, either via sending a command to a replica manager or by closing the console window where a particular replica process runs.  Ideally, you want your system to start with 3 replicas (say A, B, and C), add another replica (D), kill all original replicas (A, B, C) and have the system continue to function properly.

Mark Scheme

Level 6

Architecture diagram — 5 marks

Design rationale — 5 marks

Use of layering and tiering — 5 marks

Level 7

3 working replicas — 5 marks

Effective use of JGroups / other IC — 5 marks

Ability to add another replica — 5 marks

Level 8

Handle single replica failure — 5 marks

Handle multiple replica failures — 5 marks

Handle complete replica turnover — 5 marks