Subscribe by Email


Showing posts with label Service. Show all posts
Showing posts with label Service. Show all posts

Saturday, August 10, 2013

Shortest Path Routing - a type of routing algorithm

- The usage of the re-configurable logic has been increasing day by day both in scope as well as number. 
- Re-configurable computing combines both the hardware speed and the flexibility of the software. 
- This is the result of the combination of the highspeed computing and re-configurability.
- Tough requirements are posed up on the routing in a network by the increased QoS i.e., the quality of service. 
- This increase in the complexity of the computational capabilities bears an exponential relation with the increased QoS. 
- However, additional computational resources are needed for achieving a network performance level that is acceptable. 
- Re-configurable computing offers a promising solution to the issues of the computations in the routing process.
There are 3 major aspects of the shortest path routing as mentioned below:
Ø Path selection: This involves the various algorithms such as the Dijkstra’s and bellman – ford algorithms and shortest path and minimum – hop routing.
Ø Topology change: Changes in the topology are detected using the beacons.
Ø  Routing protocols: This involves routing protocols such as the link state routing protocols and distance vector protocols.
- Forwarding and routing are two different things. 
- In forwarding, the data packet is directed towards an outgoing link and an individual router is used that also maintains a forwarding table.
- Routing computes the paths that have to be followed by the packets. 
- Routers exchange the path information between themselves and the forwarding table is created by each and every router in the chain.

Routing is important for the following three main reasons:
Ø  End-to-end performance: The user performance is affected by the path quality, throughput, packet loss and delay in propagation.
Ø  Use of the network resources: The traffic has to be balanced between the several links and routers. The traffic is directed towards the links that are lightly loaded for avoiding the congestion.
Ø  Transient disruptions during changes: These disruptions include the load balancing problems, maintenance, failures etc. the packet loss as well as the delay has to be limited while the changes take effect.


- Shortest path routing is based up on a path selection model that gives more preference to the destination. 
- This type of routing is insensitive to load as in it involves the static link weights.
- Here, either the sum of the link weights or the minimum hope is considered. 
In a shortest path problem, the link costs are given for a network topology. 
- For example, C(x,y) denotes the cost of the node x to node y. 
- If the two nodes x and y are not adjacent to each other the cost is taken to be infinity. 
- The least cost paths linking all the nodes are computed from a node taken as the source. 
- Dijkstra’s shortest path algorithm is one of the algorithms used in the shortest path routing. 
- A central role is played by the problems involving finding the shortest paths in the designing and the analyzation of the networks.
- A majority of the routing problems can be taken as the shortest path problems and solved if each link in the network has appropriate cost assigned to it. 
- This cost even reflects the bandwidth as well as the bit error ratio if required. - A number of algorithms are available for computing the shortest path.
- But these algorithms are applicable only if a single non – negative additive metric characterizes every edge in the network.
- Out of these algorithms, the Dijkstra’s algorithm is the most famous one. 
- This algorithm find its use in the OSPF (open shortest path first) routing procedure of the internet. 
- In this algorithm the number of operations carried out are proportional to the number of nodes in the network and the iteration is carried for n-1 times. 


Wednesday, February 3, 2010

Overview of Distributed File Systems (DFS)

A distributed file system or network file system is any file system that allows access to files from multiple hosts sharing via a computer network. This makes it possible for multiple users on multiple machines to share files and storage resources.
In order to understand the structure of a distributed file system, the terms service, server and client should be defined. A service is a software entity running on one or more machines and providing a particular type of function. A server is the service software running on a single machine. A client is a process that can invoke a service using a set of operations that forms its client interface.
A distributed file system (DFS) is a file system whose clients, servers, and storage devices are dispersed among the machines of a distributed system. A service activity has to be carried out across the network, and instead of a single centralized data repository, there are multiple and independent storage devices. the distinctive features of a DFS are the multiplicity and autonomy of clients and servers in the system.
A DFS should look to its clients like a conventional, centralized file system. The client interface of a DFS should not distinguish between local and remote files. The most important performance measurement of a DFS is the amount of time needed to satisfy various service requests. In a DFS, a remote access has the additional overhead attributed to the distributed structure. This overhead includes the time needed to deliver the request to the server, as well as the time for getting the response across the network back to the client. DFS manages a set of dispersed storage devices which is the DFS's key distinguishing feature.


Tuesday, July 29, 2008

An example of unrealistic expectations in the service industry

This is a true example from around 6 years back when I was working for an IT software solutions provider (the firm did software projects for different customers). This was a decent sized company that had something like 12000 people on the rolls, doing everything from development to testing to requirements analysis, and so on. I was more into the area of a business analyst, translating the requirements document into a form that the developers working on the project would understand.
This was a new project with a new medium sized bank in the Midwest, and the hope was that we would be able to do this project well enough and give them a system that would work so well for them that they would continue with the company and be the start of a long and serious (and profitable) relationship. Sounds good, right ? Well, read on.
Around this time, our company, that was a publicly listed company was getting on just like the other service companies of that time, doing okay, but not generating great figures. Management was getting hit by analysts, and passed on a directive that every project needs to meet the company defined margin. Exceptions only when pleaded before the executive committee, and not otherwise. Implicit was the expectation that anybody who does a project that does not promise enough margin would need to explain the project.
Now, since our project was with a new customer with whom we had high hopes for the future, we could not charge our expected rates; after all, why would the customer then select us ? So, our account manager along with the Vice-President of the unit went ahead and quoted a rate that was atleast 20% lower (getting fewer people assigned to the project than necessary). Guess what ? Pretty soon, the strains and missing people started to show.
Ego also plays a part. For a Vice-President to go before the committee and plead for more money (a reduction in margin) would reflect adversely. The members of the committee, who might be expected to provide an experience of being able to handle these kind of situations and offer some latitude did not do so since they were never offered this project for review. Pretty soon, somebody senior in the team had the bright idea that weekends could be converted into work hours (maybe 1 weekend in 3 could be off), and this idea was implemented with gusto.
You can guess the rest. People from outside the project did not want to join, quality reviews of the project were hesitant because of the many exceptions, and eventually the customer could make out that the quality was not as desired. Project over, account over, and pretty soon the project manager and other senior team members quit and went to other companies.
This was a disaster caused by the management reacting adversely to poor numbers, and unwilling to exercise the due diligence in doing a project (after all, the first criteria for a project should be to make it successful).

How many of you have similar experiences ?


Facebook activity