COMP2211-WE01
Networks and Systems
2022
Section A Databases
Question 1
(a) Consider the XML document below.
<?XML VERSION = "1.0" STANDALONE = "yes"?>
<Collection>
<MusicCD price = "22" SongsNumber = "14" category = "Rock">
<title> Silver Stone </title>
<artist> Anton Vardis </artist>
<artist> John Dalaras </artist>
<year> 2012 </year>
<type> live </type>
</MusicCD>
<MusicCD price = "35" SongsNumber = "8" category = "Classic">
<title> Spring Rose </title>
<artist> Maria Callas </artist>
<year> 2005 </year>
<type> concert </type>
</MusicCD>
<MusicCD price = "28" SongsNumber = "10" category = "Jazz">
<title> Flying Tiger </title>
<artist> John Dalaras </artist>
<artist> Nicky Leandros </artist>
<year> 2015 </year>
<type> studio recorded </type>
</MusicCD>
</Collection>
In what follows, assume that the above XML code is stored in the file ”music.xml” .
i. Write an XPath query for the following:
“Select the prices of the Music CDs which either have at least 12 songs or are published after 2010 (or both)” .
Provide also the output of your query. [4 Marks]
ii. Write a query in XQuery for the following:
“Find the title nodes, the names of the first artists and the prices of the Music CDs which have price at least 19 and John Dalaras as one of the artists” .
Provide also the output of your query. [5 Marks]
iii. Write a query in XQuery for the following:
“Find the titles of all Music CDs whose price is larger than the average price of the Music CDs of John Dalaras” .
Provide also the output of your query. [6 Marks]
(b) In the following schedule, we follow this notation: stk means “transac- tion Tk starts”; rk (X) means “transaction Tk reads data item X”; wk (X) means “transaction Tk writes data item X”; comk means “transaction Tk commits” .
st1 , st2 , st3 , st4 , w1 (A), com1 , w4 (A), com4 , r3 (A), com3 , w2 (A), com2
Describe and explain what happens at every step of each of the following variations of the timestamp protocol for the above schedule:
i. Multi-version timestamp protocol. [6 Marks]
ii. Classical timestamp protocol, without Thomas’ rule. [4 Marks]
iii. Classical timestamp protocol, with Thomas’ rule. [4 Marks]
(c) Consider the following transaction schedules at sites S1 , S2 , S3 . Describe how the distributed deadlock detection method works, starting at site S1 . For the transaction schedule given, is there a distributed deadlock? Jus- tify your answer and show all your work in detail, including any required diagrams.
[21 Marks]
Section B Distributed Systems
Question 2
Boris plans to offer a video-on-demand (VoD) system (like Netflix) to all Level 2 Durham CS students. He has 3 powerful computers and would like to use them to implement a suitable distributed system supporting a robust and efficient VoD service. Suppose 30% of videos are far more popular than the rest.
(a) Analyse the suitability of applying active and passive replication methods to implement the required system. Based on your analysis, help Boris decide which replication method should be used for implementation. [13 Marks]
(b) With respect to your choice in (a), describe how to utilise the 3 computers for constructing the required distributed system. Draw a block diagram to depict the corresponding system architecture. [16 Marks]
(c) Suggest a suitable middleware technology which can enhance the video delivery performance of the VoD system. Justify your answer. [7 Marks]
(d) Due to an increase in users, many students experience connection drop- off while receiving video streams. Analyse whether forward or backward recovery should be applied to address the problem. Describe how the chosen recovery operation can be implemented and how user experience will be affected. [6 Marks]
(e) Suppose Boris has upgraded the system to comprise 30 computers aiming to serve significantly more users. Based on your chosen replication method in (a), describe how you can incorporate a load balancing algorithm to help the upgraded system tackle heterogeneous system workload. In your solution, discuss how you allocate responsibilities to the 30 computers. [8 Marks]