You are on page 1of 15

February 2010

Bachelor of Science in Information Technology (BScIT) – Semester 5


BT0052 – Client Server Architecture – 2 Credits
(Book ID: B0036)
Assignment Set – 1 (30 Marks)

Answer all questions 6 x 5 = 30


1. Distinguish CISC and RISC.

CISC

Pronounced sisk, and stands for Complex Instruction Set Computer. Most PC's use CPU based on

this architecture. For instance Intel and AMD CPU's are based on CISC architectures.

Typically CISC chips have a large amount of different and complex instructions. The philosophy

behind it is that hardware is always faster than software, therefore one should make a powerful

instructionset, which provides programmers with assembly instructions to do a lot with short

programs.

RISC

Pronounced risk, and stands for Reduced Instruction Set Computer. RISC chips evolved around the

mid-1980 as a reaction at CISC chips. The philosophy behind it is that almost no one uses complex

assembly language instructions as used by CISC, and people mostly use compilers which never

use complex instructions. Apple for instance uses RISC chips.

Therefore fewer, simpler and faster instructions would be better, than the large, complex and slower

CISC instructions. However, more instructions are needed to accomplish a task.


The Distinguish between CISC and RISC are:

CISC RISC
Used by Intel and AMD processors Used by Apple
Slower than RISC chips when performing instructions Requires less registers therefore it is easier to design
More expensive to make compared to RISC Faster than CISC
Complex Instruction Set Architecture Reduced Instruction Set Computer
Pipelining implementation is not easy Pipelining can be implemented easily
Large amount of different and complex instructions Fewer, simpler and faster instructions
Atleast 75% of the processor use CISC architecture RISC architecture is not widely used
In common CISC chips are relatively slow (compared RISC chips require fewer transistors and cheaper to

to RISC chips) per instruction, but use little (less than produce. Finally, it's easier to write powerful optimized

RISC) instructions. compilers.


In CISC, software developers no need to write more RISC puts a greater burden on the software. Software

lines for the same tasks developers need to write more lines for the same tasks.
Mainly used in normal PC’s, Workstations and servers Mainly used for real time applications
CISC processors cannot have a large number of Large number of registers, most of which can be used

registers. as general purpose registers


CISC processor executes microcode instructions RISC processor has a number of hardwired instructions.

2. Write a short note on Asynchronous Transfer Mode of transmission.

Asynchronous Transfer Mode (ATM) is a technology that has developed since 1990 ATM is
a broadband multiplexing scheme which allows the multiplexing of widely differing types of
digital signals into a common digital stream. It provides primary mechanism for switching
broadband ISDN (BISDN) and hence, discussion of ATM inherently involves BISDN.
Unlike traditional packet switching, ATM uses a fixed-frame structure called a cell. The ATM
cell is 53 octets (in ATM bytes are called octets) long, of which 48 octets comprise the
message and 5 octets the header. The cell structure was chosen for two reasons. The
relatively small cell size reduces queuing delay for high priority cells in the event of
congestion. Fixed-size cells may be switched more efficiently since the switch need not
look for an end-of-cell indication.
The header consists of several portions:

• Generic flow control (GFC)—This is a flag, which allow the bidirectional


control of cell flow (data) to the network in the event the network becomes
congested. It allows the user to define the traffic characteristics of the data that
the network is to accommodate.

• Virtual path identifier (VPI)—This defines the virtual network path that
will be used for routing cells across the network.

• Virtual channel identifier (VCI)—This is identifies the specific virtual


channel/circuit (set of time slots) on which the cells will be carried between the
point where the VCI is assigned and the point at which it is terminated or
translated to new VCI.

• Payload type (PT)—This 1-bit field specifies whether the information


carried in the information field is user data or network data.

• Cell loss priority (CLP)—This 1-bit field provides information to the


network as to whether or not the cell may be discarded in the event of network
congestion CLP=1 indicates that the cell may be discarded; CLP=0 indicates the
cell may not be discarded unless to alternative exists

• Header error-control—A CRC field using the check polynomial

It is used error detection and provides capability for single error correction and
very low probability of undetected burst errors of magnitude greater than 1.
ATM Cell header field (user -to- network interface)
ATM cell header field (network -to- node interface)

Let us consider the concept of some what further. Virtual means that the connection is via
a time slot as opposed to a fixed pair of wires. A virtual channel connection (VCC)
connects to endpoints by means of the concatenation of a series of virtual Channel (VC)
links. A virtual channel link is identified a by a VCI. A new VCI is assigned whenever the
virtual channel link is switched. A virtual path connection (VPC) consists of the
concatenation of a series of virtual path (VP) links, each consisting of a group of virtual
channel link. Each virtual link is identified by a VPI, which is a common to all virtual
channels in virtual path link. Within the VPC, each VCC is identified by a unique VCI. VCCs
may have the same VCI within different VPCs. When a virtual path is switched, virtual
channel remain unchanged and when virtual channel is switched virtual channel is also
switched.

VP/VC link structure

• ATM Structure
• ATM is structured layer, as are many data transmission protocols. The ATM
protocol model is pictured like that.
ATM structure

• ATM services Classes


• ATM can be dividing by little service class like Class A, B, C, D in the basis of
bit rate, connection mode, Timing synchronization. In one chart it can be easily
describable.

• ATM categories—ATM has few categories like


• 1.Continues bit rate service with reserved peak bandwidth
• 2.Variable bit rte with reserved bandwidth.
• 3.Variable-bit-rate service without reserved bandwidth
• 4.Reserved burst bandwidth.

• Application of ATM
• Perhaps the most significant application of ATM is broadband ISDN (BISDN).
The two technologies have developed in close parallel. Other applications include
video-on-demand, SMDS, video conferencing, and DS3 switching.
3. Explain various client/server applications using Java.

4. How will you develop a simple web client in Java using Sockets?

5. Explain TCP/IP Protocol in detail.

6. Explain Remote Procedure Call in detail.


61.

62. Client Server Architecture


63. BT0052
64. try
65. {DataOutputStream
66. outbound=new
67. DataOutputStream(cSock.getOutputStream());
DataInputStream inbound=new DataInputStream(cSock.getInputStream());
Outbound.writeBytes(“Get /~cslab/cpsc591/test.htmHTTP/1.0\r\n\r\n”);
String responseLine;
68. while((responseLine=inbound.readLine()) !=null)
69. {System.out.println(responseLine);
70. If(responseLine.indexOf(“</HTML>”) !=-1)
71. Break;
72. }outbound.close();
73. inbound.close();
74. cSock.close();
75. }
76. Catch(IOException ioe)
77. {
78. System.out.println(“IOException: “ + ioe);
79. }
80. }
81. }5. Explain TCP/IP Protocol in detail.
82. Ans: TCP, an acronym for Transmission Control Protocol, corresponds to the fourth layer of
OSI reference model. IP corresponds to the third layer of the same model. Each of these
protocols has the following features:
83. TCP: It provides a connection type services. That is a logical connection must be established
prior to communication. Because of this, continuous transmission of large amount of data is
possible. It ensures a highly reliable data transmission for upper layer using IP protocol. This is
possible because TCP uses positive acknowledgement to confirm the sender about the proper
reception of data.
84. Data Segment 1
85. Time
86. Acknowledgment 1
87. Data Segment 2
88. Acknowledgement 2
89. Cybotech Campus
90. Page 3
91.
92.

93. Client Server Architecture


94. BT0052
95. A
96. B
97. TCP establishes virtual circuits
98. A negative acknowledgement implies that the failed data segment needs to be
99. retransmitted.
100. The TCP header includes both source and destination port fields for identifying the
applications for which the connection is established. The sequence and acknowledgement
Number fields underlie the positive acknowledgement and retransmission techniques. Integrity
checks are accommodated using the checksum field.
101. The data segment format of the TCP protocol
102. IP: It is connectionless type service and operates at third layer of OSI reference model.
That is, prior to transmission of data. No logical connection is needed. This type of protocol is
suitable for the sporadic transmission of data to a number of destinations. This has no
functions like sequence control, error recovery and control, flow control but this identifies, the
connection with the port number.
103. 6. Explain Remote Procedure Call in detail.
104. Ans: Remote Procedure Call (RPC) is a client/server infrastructure that increases the
interoperability, portability, and flexibility of an application by allowing the application to be
distributed over multiple heterogeneous platforms. It reduces the complexity of
105. Cybotech Campus
106. Page 4
107. Source Port
108. Destination
109. Port
110. Sequence Number
111. Acknowledgement Number
112. Header
113. Length
114. Preserved
115. Code Bits
116. Window
117. Checksum
118. Urgent
119. Pointer
120. Option (if any)
121. Padding
122.
123. Client Server Architecture
124. BT0052
125. developing application that span multiple operating systems and network protocols by
insulating the application developer from the details of the various operating system and
network interfaces-function calls are the programmer’s interface when using RPC.
126. To access the remote server portion of an application, special function calls, RPCs, are
embedded, within the client portion of the client/server application program. Because they are
embedded, RPC do not stand alone as a discreet middleware layer.
127. RPC increases the flexibility of an architecture by allowing a client component of an
application to employ a function call to access a server on remote system. RPC allows the
remote component to be accessed without knowledge of the network address or any other
lower-level information. Most RPCs use a synchronous, request-reply (sometimes referred to
as “call/wait”) protocol which involves blocking of the client until the server fulfils its request.
Asynchronous (“call/wait”) implementations are available but are currently the exception.
128. In two ways RPC can be implemented:
129. 1. Within a broader, more encompassing propriety product
130. 2. By a programmer using a proprietary tool to create client/server RPC stubs.
131. RPC is appropriate for client/server applications in which the client can issue a request and
wait for the server’s response before continuing its own processing. Because most RPC
implementations do not support peer-to-peer, or asynchronous, client/server interaction, RPC
is not well-suited for applications involving distributed objects or object-oriented programming.
132. Asynchronous and synchronous mechanisms each have strength and weaknesses that
should be considered when designing any specific application. In contrast to asynchronous
mechanisms employed by Message-Oriented Middleware, the use of a synchronous request-
reply mechanism in RPC requires that the client and server are always available and
functioning. In order to allow a client/server application to recover from a blocked condition, an
implementation of a RPC is required to provide mechanisms such as error, messages, request
timer, retransmission, or redirection to an alternate server. The complexity of the application
using a RPC is dependent on the sophistication of the specific RPC implementation. RPCs that
implement asynchronous mechanisms are very few and are difficult to implement.
133. Cybotech Campus
134. Page 5
135.
February 2010
Bachelor of Science in Information Technology (BScIT) – Semester 5
BT0052 – Client Server Architecture – 2 Credits
(Book ID: B0036)
Assignment Set – 2 (30 Marks)

Answer all questions 6 x 5 = 30


1. Explain the different types of Client / Server Architectures.

2. Explain hierarchical vs localized file server deployment.

3. Explain WAN Connectivity in detail.

4. Write a Java Program to implement a simple web server.

5. Explain Booth Multiplication Algorithm with a suitable example.

6. What is meant by Remote Method Invocation? Explain with a suitable example.

You might also like