Adsence

Saturday, August 17, 2019

Software Engineering

1. Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.
2. (IEEE) Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software (2) the study of approaches as in (1).
3. Software Engineering is an engineering discipline which is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.

Objectives of database


  • The general objective is to make information access easy, quick, inexpensive and flexible for the user.
  • Several objectives: 
    1. Controlled redundancy 
    2. Ease of learning and use 
    3. Data independence 
    4. More information at low cost 
    5. Accuracy and integrity. 
    6. Recovery from failure 
    7. Privacy and security 
    8. Performance. 

Database Design


§Database is recognized as a standard of MIS. In a database environment, common data are available and used by several users.
§Instead of each program managing its own data, data across applications are shared by authorized users  with the database software managing data as an entity.
§An application program requests data through DBMS.

Database


A database is a collection of interrelated data stored with minimum redundancy.

Wednesday, August 14, 2019

Routing Protocol Vs Routing Algorithm

Routing Protocol
Routing  Algorithm  
A routing protocol uses software and routing algorithms to determine optimal network data transfer and communication paths between network nodes.
A Routing Algorithm is a method for determining the routing of packets in a node.
Routing protocols facilitate router communication and overall network topology understanding.

A Routing Algorithm is not facilitate router communication and overall network topology understanding.

The protocol  should not lead to a consistent routing, that is to say without loop
The algorithm should lead to a consistent routing, that is to say without loop
For each node of a network, the protocol does not determines a routing table,
For each node of a network, the algorithm determines a routing table, which in each destination, matches an output line

Routing Algorithm


A Routing Algorithm is a method for determining the routing of packets in a node. For each node of a network, the algorithm determines a routing table, which in each destination, matches an output line. The algorithm should lead to a consistent routing, that is to say without loop. This means that you should not route a packet a node to another node that could send back the package.

Classification of Routing Protocols


Classification of routing protocols
Although there are many types of routing protocols, three major classes are in widespread use on IP networks:
  • Interior gateway protocols type 1, link-state routing protocols, such as OSPF and IS-IS
type 2, distance-vector routing protocols, such as Routing Information Protocol, RIPv2, IGRP.

  • Exterior gateway protocols are routing protocols used on the Internet for exchanging routing information between Autonomous Systems, such as Border Gateway Protocol (BGP), Path Vector Routing Protocol. Exterior gateway protocols should not be confused with Exterior Gateway Protocol (EGP), an obsolete routing protocol.

Characteristics of Routing Protocol


Characteristics of routing protocol
The specific characteristics of routing protocols include the manner in which they avoid routing loops, the manner in which they select preferred routes, using information about hop costs, the time they require to reach routing convergence, their scale-ability and other factors.

Routing Protocol



A routing protocol uses software and routing algorithms to determine optimal network data transfer and communication paths between network nodes. Routing protocols facilitate router communication and overall network topology understanding.

A routing protocol is also known as a routing policy.

A routing protocol specifies how routers communicate with each other, distributing information that enables them to select routes between any two nodes on a computer network. Routing algorithms determine the specific choice of route. Each router has a priory knowledge only of networks attached to it directly. A routing protocol shares this information first among immediate neighbors, and then throughout the network. This way, routers gain knowledge of the topology of the network.

Computer vs. Human Brain

- The brain can fire all the neurons in a single step.

- Computers require hundreds of cycles to simulate a firing of a neuron.

- Serial computers require billions of cycles to perform some tasks but the brain takes less than a second.

Neural Network

A neural network can be defined as a model of reasoning based on
the human brain. The brain consists of a densely interconnected set
of nerve cells, or basic information-processing units, called neurons.

Neuron
- The cell that perform information processing in the brain.


Neural Networks can be :

- Biological models

- Artificial models

Monday, March 31, 2014

Direct and Indirect Delivery

Forwarded IP packets use at least one of two types of delivery based on whether the IP packet is forwarded to the final destination or whether it is forwarded to an IP router. These two types of delivery are known as direct and indirect delivery.


Direct delivery occurs when the IP node (either the sending node or an IP router) forwards a packet to the final destination on a directly attached network. The IP node encapsulates the IP datagram in a frame format for the Network Interface layer (such as Ethernet or Token Ring) addressed to the destination's physical address.
Indirect delivery occurs when the IP node (either the sending node or an IP router) forwards a packet to an intermediate node (an IP router) because the final destination is not on a directly attached network. The IP node encapsulates the IP datagram in a frame format, addressed to the IP router's physical address, for the Network Interface layer (such as Ethernet or Token Ring).
IP routing is a combination of direct and indirect deliveries.

In Figure 1.14, when sending packets to node B, node A performs a direct delivery. When sending packets to node C, node A performs an indirect delivery to Router 1. Router 1 performs an indirect delivery to Router 2. Router 2 performs a direct delivery to node C.

Address Resolution Protocol/Reverse Address Resolution Protocol (ARP/RARP)



The basic function of the ARP protocol is to resolve IP addresses to Media Access Control (MAC) addresses. When a system attempts to contact another host, IP first determines whether the other host is on the same network it is on by looking at the IP address. If IP determines that the destination is on the local network, it consults the ARP cache to determine whether it has a corresponding entry.


If there is not an entry for the host in the ARP cache, IP sends a broadcast on the local network, asking the host with the target IP address to send back its MAC address. The communication is sent as a broadcast because without the target system's MAC address, the source system is unable to communicate directly with the target system.

The Reverse Address Resolution Protocol (RARP) performs the same function as ARP, but in reverse. In other words, it resolves MAC addresses to IP addresses. RARP makes it possible for applications or systems to learn their own IP address from a router or DNS server. Such a resolution comes in handy for tasks such as performing reverse lookups in DNS.

Handover process

In cellular telecommunications, the term handover or handoff refers to the process of transferring an ongoing call or data session from one channel connected to the core network to another channel. In satellite communications it is the process of transferring satellite control responsibility from one earth station to another without loss or interruption of service.

What do you mean by multicasting and multiple unicasting

Unicast

Unicast is a one-to one connection between the client and the server. Unicast uses IP delivery methods such as Transmission Control Protocol (TCP) and User Datagram Protocol (UDP), which are session-based protocols. When a Windows Media Player client connects using unicast to a Windows Media server, that client has a direct relationship to the server. Each unicast client that connects to the server takes up additional bandwidth. For example, if you have 10 clients all playing 100-kilobits per second (Kbps) streams, those clients as a group are taking up 1,000 Kbps. If you have only one client playing the 100 Kbps stream, only 100 Kbps is being used.

Multicast
Multicast is a true broadcast. The multicast source relies on multicast-enabled routers to forward the packets to all client subnets that have clients listening. There is no direct relationship between the clients and Windows Media server. The Windows Media server generates an .nsc (NetShow channel) file when the multicast station is first created. Typically, the .nsc file is delivered to the client from a Web server. This file contains information that the Windows Media Player needs to listen for the multicast. This is similar to tuning into a station on a radio. Each client that listens to the multicast adds no additional overhead on the server. In fact, the server sends out only one stream per multicast station. The same load is experienced on the server whether only one client or 1,000 clients are listening 

What is the difference between a bus backbone and a stat backbone

 Bus backbone
In a bus backbone, the topology of the backbone is a bus. The backbone itself can use
One of the protocols that support a bus topology such as lOBase5 or lOBase2.
In a bus backbone, the topology of the backbone is a bus.
Bus backbones are normally used as a distribution backbone to connect different
Buildings in an organization. Each building can comprise it her a single LAN or
Another backbone (normally a star backbone). A good example of a bus backbone is
One that connects single-or multiple-floor buildings on a campus. Each single-floor
Building usually has a single LAN. Each multiple-floor building has a backbone (usually a star) that connects each LAN on a floor. A bus backbone can interconnect these
LAN sand backbones. Figure15.12 shows an example of a bridge-based backbone with
Four LANs.

In Figure15.12, if a station in a LAN needs to send a frame to another station in the same LAN, the corresponding bridge blocks the frame; the frame never reaches the backbone. However, if a station needs to send a frame to a station in another LAN, the bridge passes the frame to the backbone, which is received by the appropriate bridge and is delivered to the destination LAN. Each bridge connected to the backbone has a table that shows the stations on the LAN side of the bridge. The blocking or delivery of a frame is based on the contents of this table.
Star Backbone
In a star backbone, sometimes called a collapsed or switched backbone, the topology of the backbone is a star. In this configuration, the backbone is just one switch (that is why it is called, erroneously, a collapsed backbone) that connects the LANs. In a star backbone, the topology of the backbone is a star; the backbone is just one switch. Figure15.13 shows a star backbone. Note that, in this configuration, the switch does the job of the backbone and at the same time connects the LANs.

Star backbones are mostly used as a distribution backbone inside a building. In a multi floor building, we usually find one LAN that serves each particular floor. A star backbone connects these LANs. The backbone network, which is just a switch, can be installed in the basement or the first floor, and separate cables can run from the switch to each LAN. If the individual LAN shave a physical star topology, either the hubs (or switches) can be installed in a closet on the corresponding floor, or all can be installed close to the switch. We often find a rack or chassis in the basement where the backbone switch and all hubs or switches are installed.

Connection-Oriented vs. Connectionless networks


Connection-oriented communication includes the steps of setting up a call from one computer to another, transmitting/receiving data, and then releasing the call, just like a voice phone call.  However, the network connecting the computers is a packet switched network, unlike the phone system's circuit switched network.  Connection-oriented communication is done in one of two ways over a packet switched network:  with and without virtual circuits.
Without virtual circuits: This is what TCP does in the Internet.  The only two machines in the Internet that are aware a connection is established are the two computers at the endpoints.  The Internet itself--its routers and links--have no information about the presence of a connection between the two computers.  This means that all of the packets flowing between the two computers can follow different routes.  One benefit of establishing the connection is that the flow of packets from the source to the destination can be slowed down if the Internet is congested and speeded up when congestion disappears. Another benefit is that the endpoints can anticipate traffic between them, and agree to cooperate to ensure the integrity and continuity of the data transfers. This allows the network to be treated as a "stream" of data, as we will study later.
Virtual circuit:  This is not used in the Internet, but is used in other types of networks (eg. the "X.25" protocol, still popular in Europe).  The routers within the network route all packets in one connection over the same route.  The advantage is that video and voice traffic are easier to carry, because routers can reserve memory space to buffer the transmission.
Connectionless:
Connectionless communication is just packet switching where no call establishment and release occur.  A message is broken into packets, and each packet is transferred separately.  Moreover, the packets can travel different route to the destination since there is no connection. Connectionless service is typically provided by the UDP (User Datagram Protocol), which we will examine later.  The packets transferred using UDP are also called datagrams. 
Comparison between Connection-oriented and Connectionless Communication
Feature
Connectionless
Connection-oriented
How is data sent?
one packet at a time
as continuous stream of packets
Do packets follow same route?
no
virtual circuit:  yes 
without virtual circuit:  no
Are resources reserved in network?
no
virtual circuit:  yes 
without virtual circuit:  no
Are resources reserved in communicating hosts?
no
yes
Can data sent can experience variable latency?
yes
yes
Is connection establishment done?
no
yes
Is state information stored at network nodes?
no
virtual circuit:  yes 
without virtual circuit:  no
What is impact of node/switch crash?
only packets at node are lost
all virtual circuits through node fail
What addressing information is needed on each packet?
full source and destination address
virtual circuit:  a virtual circuit number
without virtual circuit:  full source and destination address
Is it possible to adapt sending rate to network congestion?
hard to do
virtual circuit:  easy if sufficient buffers allocated 
without virtual circuit:  harder to do

Computer Networks Vs. Distributed Systems


• Computer Networks:
  • A computer network is an interconnected collection of autonomous computers able to exchange information.
  •  A computer network usually require users to explicitly login onto one machine, explicitly submit jobs remotely, explicitly move files/data around the network.


• Distributed Systems:
  • The existence of multiple autonomous computers in a computer network is transparent to the user.
  • The operating system automatically allocates jobs to processors, moves files among various computers without explicit user intervention.

Wednesday, July 24, 2013

OpenGL(R) 1.1 Release for Windows(R) 95

OpenGL(R) 1.1 Release for Windows(R) 95
---------------------------------------

1.  OpenGL Functionality Notes
2.  Redistributable components for Windows 95


1.  Functionality Notes
-----------------------

The OpenGL API is supported on a variety of graphics hardware; the
software in this release provides support for graphics hardware including
basic emulation on any video adapter that is supported with the operating
system, and accelerated graphics hardware that is supported by an OpenGL
mini-client driver (MCD) or an OpenGL installable client driver (ICD).
This release of OpenGL will run on all supported hardware under
Windows 95, including VGA and Super VGA 16 color mode displays.

The OpenGL runtime libraries for Windows 95 are not bundled with the
Windows 95 operating system currently, but application developers may freely
redistribute from this SDK along with their applications to other Windows 95
systems.  In addition, the runtime libraries have been bundled with the
Windows 95 operating system in the OEM system release 2, so OEM Windows 95
systems shipping later in 1996 will begin appearing with the OpenGL runtime
libraries included.

To achieve good shaded rendering with OpenGL applications, you should use a
color graphics mode with 256 or more colors.  Reasonable shading is
possible for most OpenGL applications with 256 colors.

The Windows NT 4.0 and Windows 95 releases of OpenGL includes new functionality
and performance enhancements.  These include:

1) A complete implementation of OpenGL 1.1.  OpenGL 1.1 contains several
functions, including vertex array, polygon offset, logic ops, and several new
functions for handling textures.  The vertex array and texture calls are
particularly significant, as they may enable order of magnitude performance
improvements in some applications.

2) Overlay planes extensions.  These Microsoft OpenGL extensions permit
applications to manage and render into overlay planes where supported
in the graphics hardware.  This permits applications to bring up dialog boxes
and other UI features without overwriting 3D renderings.

3) Extended metafile support.  Applications may encapsulate OpenGL calls and
data in GDI extended metafiles.  This, together with NT 4.0 print spooler
enhancements for remote metafile rendering, makes it possible to print OpenGL
graphics at high resolution on the print server.  This feature is limited to
the Windows NT release.

4) Microsoft extensions.  The Microsoft OpenGL implementation also supports
these performance extensions: GL_WIN_swap_hint, GL_EXT_bgra, and
GL_EXT_paletted_texture.  They improve the performance of some applications
significantly.

5) Performance.  The software renderer has been tuned for this release.
Performance tuning has been carried out for the front end of the OpenGL
pipeline as well as for rendering particular primitives, especially
anti-aliased lines and texturing.  Software rendering is generally 2-4x
faster.

6) OpenGL hardware acceleration.  This release of OpenGL supports a simpler
mini-client driver (MCD) model to accelerate 3D graphics operations.  In
particular, Windows NT 4.0 includes a Matrox Millennium mini-client driver
that accelerates OpenGL functions.  A corresponding driver for Windows 95
is expected to be available later this year.


2. Redistributable components for Windows 95
--------------------------------------------

The OpenGL redistributable components for Windows 95 are in the DLL
directory.  It contains the runtime dynamic-link libraries for OpenGL and
GLU.  We recommend either of two methods for redistributing these libraries
with your application on Windows 95 (for Windows NT, the libraries are
bundled with the operating system and should not be redistributed):

  1) In your setup program, install these libraries in the
     application directory along with your application.  This gives you
     greater control over the version of OpenGL that your application
     will link to (an issue if other applications install other versions
     of the library), but also gives you greater responsibility for
     updating your customers' libraries if and when that is required
     to address defects, add functionality, improve performance, etc.
  2) In your setup program, install these libraries in the windows
     system directory.  If you do this, you should use the Win32 setup
     API call VerInstallFile to help prevent installing an older version
     of the libraries over another application's installation of a more
     recent version of the libraries.

OpenGL is a registered trademark of Silicon Graphics, Inc.
Windows is a registered trademark of Microsoft Corporation.