Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Answer the following programming Questions. Use the information given below. (a) List and briefly describe other ways in which the syntax and the interpretation of

Answer the following programming Questions. Use the information given below.

(a) List and briefly describe other ways in which the syntax and the interpretation of query languages may vary.

(b) Describe with an example how the "Next" operator described above is implemented efficiently in modern information retrieval systems. Your answer should include a description of the data structure(s) necessary to support it.

(c) A search engine supports error correction in the following way: If an error is suspected in a query term, the system provides a link labelled "Did you mean X?", where X is the corrected term, in addition to its normal results. The link leads to a list of retrieved documents, corresponding to a variant of the original query, with X replacing the misspelled term.

(i) Explain why it is non-trivial to implement this feature efficiently.

(ii) Discuss methods for implementing this feature in a realistic setting.

(a) (i) Briefly describe the purpose of broadband fixed wireless access (FWA)

and give typical situations where it could be deployed.

(ii) What advantages does radio offer over traditional wired access?

(b) Explain how intersymbol interference (ISI) arises in a wireless communication

system and its effect on system performance.

(c) (i) Describe how

linear equalisation

orthogonal frequency division multiplexing (OFDM)

can be used to combat ISI. [4 marks]

(ii) Highlight a problem which can occur when using linear equalisation and

describe an alternative equalisation approach that can overcome this

problem. What problem can occur with this alternative approach?

(iii) Highlight problems that arise with the use of OFDM. In what situation

is OFDM preferred over the use of equalisation?

(a) Describe, with examples, the function of a naming service for a largescale distributed system. Include definitions for "name space" and "naming

domain".

(b) Discuss consistency versus availability for naming data in large-scale systems.

(d) Contrast the assumptions under which DNS was designed originally for the

Internet, with the properties of dynamically formed groups of mobile hosts

using wireless communication (MANETS). How might DNS-like services be

provided for MANETS?

5 Advanced Systems Topics

Modern peer-to-peer (P2P) systems are typically described as structured or

unstructured.

(a) Compare and contrast these two approaches. Include a discussion of the

general topology, membership management and query mechanisms. Use

examples to support your answer.

(b) Which approach is more resilient to churn? Justify your answer.

(c) One early criticism of P2P systems was that they did not consider network

latencies. Describe how one can add proximity awareness to:

(i) unstructured P2P systems

(ii) structured P2P systems.

(d) Swarming P2P systems like BitTorrent are designed for efficient (and incentive

compatible) download of large files. However, it is typically not possible to use

the file until it has downloaded in its entirety. Sketch the design of a swarming

P2P system which supports streaming video - that is, allows playback of video

to overlap the ongoing download of the remainder of the stream. Comment

on how efficient (in terms of network resources) your system would be in

comparison with a system like BitTorrent

Some banks issue their Automatic Teller Machine (ATM) card customers with

a randomly selected personal indentification number (PIN). Others issue their

customers with an initial PIN only, and let the customers choose their own PIN the

first time they use the card in an ATM. Describe the advantages and disadvantages

of these approaches. [5 marks]

(a) Make a table with three columns. The first column is all numbers from 0 to 14. The second is the residues of these numbers modulo 3; the third column is the residues modulo 5. What do you observe? (b) Prove that if p and q are distinct primes, then for every pair (j, k) with 0 j < p and 0 k < q, there is a unique integer 0 i < pq such that i j mod p and i k mod q. (Hint: Prove that no two different i's in this range can have the same (j, k), and then count.) (c) In this one-to-one correspondence between integers and pairs, it is easy to go from i to (j, k). Prove that the following formula takes you the other way: i = {j q (q1 mod p) + k p (p1 mod q)} mod pq. (d) Can you generalize parts (b) and (c) to more than two primes? 1.38. To see if a number, say 562437487, is divisible by 3, you just add up the digits of its decimal representation, and see if the result is divisible by 3. (5 + 6 + 2 + 4 + 3 + 7 + 4 + 8 + 7 = 46, so it is not divisible by 3.) To see if the same number is divisible by 11, you can do this: subdivide the number into pairs of digits, from the right-hand end (87, 74, 43, 62, 5), add these numbers, and see if the sum is divisible by 11 (if it's too big, repeat). How about 37? To see if the number is divisible by 37, subdivide it into triples from the end (487, 437, 562) add these up, and see if the sum is divisible by 37. This is true for any prime p other than 2 and 5. That is, for any prime p 6 = 2, 5, there is an integer r such that in order to see if p divides a decimal number n, we break n into r-tuples of decimal digits (starting from the right-hand end), add up these r-tuples, and check if the sum is divisible by p. (a) What is the smallest such r for p = 13? For p = 17? (b) Show that r is a divisor of p 1.

Discuss the good and bad points about such a file structure. Give an example of the use of a hierarchical file structure in a UNIX system by presenting a diagram, and use your example to describe the following terms: (a) home directory; (b) current directory; (c) full pathname; (d) relative pathname. Imagine that you have created a UNIX file structure in which your leaf nodes are very deep. How can you arrange to get to specific leaf nodes quickly? 12 A list in Modula-3 can be represented as a sequence of links. Each link is a record containing one value in the list and a reference to the rest of the list following the link. The following TYPE declaration specifies the required data structure: TYPE List = REF Link; Link = RECORD value:CARDINAL; rest: List:= NIL END; A test program which exploits lists of this kind includes: VAR start:List; BEGIN start:= NIL; Put(10,start); Put(100,start); Put(1000,start); Print(start); Print(Reverse1(start)); Print(reverse2(start)); The procedure call Put(1000,start) will add a link containing the value 1000 to the end of the list which already includes the values 10 and 100. The procedure Print writes out the values in a list in order. The procedures Reverse1 and Reverse2 reverse a list in two different ways, equivalent to the ML functions: fun Reverse1 [] = [] | Reverse1 (value::rest) = Reverse1 (rest) @ [value]; fun Reverse2 list = let fun rev ([],result) = result | rev (value::rest, resuverse2.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Project Management A Managerial Approach

Authors: Jack R. Meredith, Samuel J. Mantel,

7th Edition

470226218, 978-0470226216

More Books

Students also viewed these Programming questions

Question

Define rapport as it relates to a clinical interview.

Answered: 1 week ago