Friday 6 December 2013

Net Sim

All resources of ns 
http://hpds.ee.ncku.edu.tw/~smallko/ns2/ 
 
How to measure the throughput, packet drop rate, and end-to-end delay for UDP-based application over wireless networks ?

[scenario]
        It consists of 8 mobile nodes: 4 source nodes and 4 destination node. Each source is a CBR source over UDP. The size of a transmitted packet is 512 bytes. Transmission rate of a node is 600 Kbps. We assumed that the nodes are in transmission range at a constant distance of 195 m. The simulation time lasted for 80 sec.

[TCL script] source from Joe Naoum-Sawaya
# ====================================================================
# Define Node Configuration paramaters
#====================================================================
set val(chan)           Channel/WirelessChannel    ;# channel type
set val(prop)           Propagation/TwoRayGround   ;# radio-propagation model
set val(netif)           Phy/WirelessPhy            ;# network interface type

set val(mac)            Mac/802_11                ;# MAC type
set val(ifq)            Queue/DropTail/PriQueue   ;# interface queue type

set val(ll)             LL                         ;# link layer type
set val(ant)            Antenna/OmniAntenna        ;# antenna model
set val(ifqlen)         50                         ;# max packet in ifq
set val(nn)             8                          ;# number of mobilenodes
set val(rp)             DSDV                       ;# routing protocol
set val(x)              500                        ;# X dimension of the topography
set val(y)              500                           ;# Y dimension of the topography

Mac/802_11 set RTSThreshold_  3000
Mac/802_11 set basicRate_ 1Mb
Mac/802_11 set dataRate_  2Mb

#=====================================================================
# Initialize trace file desctiptors
#=====================================================================
# *** Throughput Trace ***
set f0 [open out02.tr w]
set f1 [open out12.tr w]
set f2 [open out22.tr w]
set f3 [open out32.tr w]

# *** Packet Loss Trace ***
set f4 [open lost02.tr w]
set f5 [open lost12.tr w]
set f6 [open lost22.tr w]
set f7 [open lost32.tr w]

# *** Packet Delay Trace ***
set f8 [open delay02.tr w]
set f9 [open delay12.tr w]
set f10 [open delay22.tr w]
set f11 [open delay32.tr w]

# *** Initialize Simulator ***
set ns_              [new Simulator]

# *** Initialize Trace file ***
set tracefd     [open trace2.tr w]
$ns_ trace-all $tracefd

# *** Initialize Network Animator ***
set namtrace [open sim12.nam w]
$ns_ namtrace-all-wireless $namtrace $val(x) $val(y)

# *** set up topography object ***
set topo       [new Topography]
$topo load_flatgrid 500 500

# Create  General Operations Director (GOD) object. It is used to store global information about the state of the environment, network, or nodes that an
# omniscent observer would have, but that should not be made known to any participant in the simulation.

create-god $val(nn)

# configure nodes
        $ns_ node-config -adhocRouting $val(rp) \
                         -llType $val(ll) \
                         -macType $val(mac) \
                         -ifqType $val(ifq) \
                         -ifqLen $val(ifqlen) \
                         -antType $val(ant) \
                         -propType $val(prop) \
                         -phyType $val(netif) \
                         -channelType $val(chan) \
                         -topoInstance $topo \
                         -agentTrace ON \
                         -routerTrace ON \
                         -macTrace OFF \
                         -movementTrace OFF                   

# Create Nodes

        for {set i 0} {$i < $val(nn) } {incr i} {
                set node_($i) [$ns_ node]
                $node_($i) random-motion 0            ;# disable random motion
        }

# Initialize Node Coordinates

$node_(0) set X_ 5.0
$node_(0) set Y_ 5.0
$node_(0) set Z_ 0.0

$node_(1) set X_ 200.0
$node_(1) set Y_ 5.0
$node_(1) set Z_ 0.0

$node_(2) set X_ 5.0
$node_(2) set Y_ 50.0
$node_(2) set Z_ 0.0

$node_(3) set X_ 200.0
$node_(3) set Y_ 50.0
$node_(3) set Z_ 0.0

$node_(4) set X_ 5.0
$node_(4) set Y_ 100.0
$node_(4) set Z_ 0.0

$node_(5) set X_ 200.0
$node_(5) set Y_ 100.0
$node_(5) set Z_ 0.0

$node_(6) set X_ 2.0
$node_(6) set Y_ 150.0
$node_(6) set Z_ 0.0

$node_(7) set X_ 200.0
$node_(7) set Y_ 150.0
$node_(7) set Z_ 0.0

# Setup traffic flow between nodes
# UDP connections between node_(0) and node_(1)

# Create Constant four Bit Rate Traffic sources

set agent1 [new Agent/UDP]             ;# Create UDP Agent
$agent1 set prio_ 0                   ;# Set Its priority to 0
set sink [new Agent/LossMonitor]  ;# Create Loss Monitor Sink in order to be able to trace the number obytes received
$ns_ attach-agent $node_(0) $agent1     ;# Attach Agent to source node
$ns_ attach-agent $node_(1) $sink ;# Attach Agent to sink node
$ns_ connect $agent1 $sink            ;# Connect the nodes
set app1 [new Application/Traffic/CBR]  ;# Create Constant Bit Rate application
$app1 set packetSize_ 512               ;# Set Packet Size to 512 bytes
$app1 set rate_ 600Kb                    ;# Set CBR rate to 200 Kbits/sec
$app1 attach-agent $agent1             ;# Attach Application to agent

set agent2 [new Agent/UDP]             ;# Create UDP Agent
$agent2 set prio_ 1                   ;# Set Its priority to 1
set sink2 [new Agent/LossMonitor]         ;# Create Loss Monitor Sink in order to be able to trace the number obytes received
$ns_ attach-agent $node_(2) $agent2     ;# Attach Agent to source node
$ns_ attach-agent $node_(3) $sink2        ;# Attach Agent to sink node
$ns_ connect $agent2 $sink2                  ;# Connect the nodes
set app2 [new Application/Traffic/CBR]  ;# Create Constant Bit Rate application
$app2 set packetSize_ 512               ;# Set Packet Size to 512 bytes
$app2 set rate_ 600Kb                    ;# Set CBR rate to 200 Kbits/sec
$app2 attach-agent $agent2             ;# Attach Application to agent

set agent3 [new Agent/UDP]             ;# Create UDP Agent
$agent3 set prio_ 2                   ;# Set Its priority to 2
set sink3 [new Agent/LossMonitor]         ;# Create Loss Monitor Sink in order to be able to trace the number obytes received
$ns_ attach-agent $node_(4) $agent3     ;# Attach Agent to source node
$ns_ attach-agent $node_(5) $sink3        ;# Attach Agent to sink node
$ns_ connect $agent3 $sink3                  ;# Connect the nodes
set app3 [new Application/Traffic/CBR]  ;# Create Constant Bit Rate application
$app3 set packetSize_ 512               ;# Set Packet Size to 512 bytes
$app3 set rate_ 600Kb                    ;# Set CBR rate to 200 Kbits/sec
$app3 attach-agent $agent3             ;# Attach Application to agent

set agent4 [new Agent/UDP]             ;# Create UDP Agent
$agent4 set prio_ 3                   ;# Set Its priority to 3
set sink4 [new Agent/LossMonitor]         ;# Create Loss Monitor Sink in order to be able to trace the number obytes received
$ns_ attach-agent $node_(6) $agent4     ;# Attach Agent to source node
$ns_ attach-agent $node_(7) $sink4        ;# Attach Agent to sink node
$ns_ connect $agent4 $sink4                  ;# Connect the nodes
set app4 [new Application/Traffic/CBR]  ;# Create Constant Bit Rate application
$app4 set packetSize_ 512               ;# Set Packet Size to 512 bytes
$app4 set rate_ 600Kb                    ;# Set CBR rate to 200 Kbits/sec
$app4 attach-agent $agent4             ;# Attach Application to agent

# defines the node size in Network Animator

for {set i 0} {$i < $val(nn)} {incr i} {
    $ns_ initial_node_pos $node_($i) 20
}

# Initialize Flags
set holdtime 0
set holdseq 0

set holdtime1 0
set holdseq1 0

set holdtime2 0
set holdseq2 0

set holdtime3 0
set holdseq3 0

set holdrate1 0
set holdrate2 0
set holdrate3 0
set holdrate4 0

# Function To record Statistcis (Bit Rate, Delay, Drop)

proc record {} {
        global sink sink2 sink3 sink4 f0 f1 f2 f3 f4 f5 f6 f7 holdtime holdseq holdtime1 holdseq1 holdtime2 holdseq2 holdtime3 holdseq3 f8 f9 f10 f11 holdrate1 holdrate2 holdrate3 holdrate4
       
        set ns [Simulator instance]
       
    set time 0.9 ;#Set Sampling Time to 0.9 Sec

        set bw0 [$sink set bytes_]
        set bw1 [$sink2 set bytes_]
        set bw2 [$sink3 set bytes_]
        set bw3 [$sink4 set bytes_]

        set bw4 [$sink set nlost_]
        set bw5 [$sink2 set nlost_]
        set bw6 [$sink3 set nlost_]
        set bw7 [$sink4 set nlost_]

        set bw8 [$sink set lastPktTime_]
        set bw9 [$sink set npkts_]

        set bw10 [$sink2 set lastPktTime_]
        set bw11 [$sink2 set npkts_]

        set bw12 [$sink3 set lastPktTime_]
        set bw13 [$sink3 set npkts_]

        set bw14 [$sink4 set lastPktTime_]
        set bw15 [$sink4 set npkts_]
       
    set now [$ns now]
       
        # Record Bit Rate in Trace Files
        puts $f0 "$now [expr (($bw0+$holdrate1)*8)/(2*$time*1000000)]"
        puts $f1 "$now [expr (($bw1+$holdrate2)*8)/(2*$time*1000000)]"
        puts $f2 "$now [expr (($bw2+$holdrate3)*8)/(2*$time*1000000)]"
        puts $f3 "$now [expr (($bw3+$holdrate4)*8)/(2*$time*1000000)]"

        # Record Packet Loss Rate in File
        puts $f4 "$now [expr $bw4/$time]"
        puts $f5 "$now [expr $bw5/$time]"
        puts $f6 "$now [expr $bw6/$time]"
        puts $f7 "$now [expr $bw7/$time]"

        # Record Packet Delay in File
        if { $bw9 > $holdseq } {
                puts $f8 "$now [expr ($bw8 - $holdtime)/($bw9 - $holdseq)]"
        } else {
                puts $f8 "$now [expr ($bw9 - $holdseq)]"
        }

        if { $bw11 > $holdseq1 } {
                puts $f9 "$now [expr ($bw10 - $holdtime1)/($bw11 - $holdseq1)]"
        } else {
                puts $f9 "$now [expr ($bw11 - $holdseq1)]"
        }

        if { $bw13 > $holdseq2 } {
                puts $f10 "$now [expr ($bw12 - $holdtime2)/($bw13 - $holdseq2)]"
        } else {
                puts $f10 "$now [expr ($bw13 - $holdseq2)]"
        }

        if { $bw15 > $holdseq3 } {
                puts $f11 "$now [expr ($bw14 - $holdtime3)/($bw15 - $holdseq3)]"
        } else {
                puts $f11 "$now [expr ($bw15 - $holdseq3)]"
        }
       
        # Reset Variables
        $sink set bytes_ 0
        $sink2 set bytes_ 0
        $sink3 set bytes_ 0
        $sink4 set bytes_ 0

        $sink set nlost_ 0
        $sink2 set nlost_ 0
        $sink3 set nlost_ 0
        $sink4 set nlost_ 0

        set holdtime $bw8
        set holdseq $bw9

        set  holdrate1 $bw0
        set  holdrate2 $bw1
        set  holdrate3 $bw2
        set  holdrate4 $bw3

    $ns at [expr $now+$time] "record"   ;# Schedule Record after $time interval sec
}


# Start Recording at Time 0
$ns_ at 0.0 "record"

$ns_ at 1.4 "$app1 start"                 ;# Start transmission at time t = 1.4 Sec

$ns_ at 10.0 "$app2 start"               ;# Start transmission at time t = 10 Sec

$ns_ at 20.0 "$app3 start"               ;# Start transmission at time t = 20 Sec

$ns_ at 30.0 "$app4 start"               ;# Start transmission at time t = 30 Sec

# Stop Simulation at Time 80 sec
$ns_ at 80.0 "stop"

# Reset Nodes at time 80 sec

for {set i 0} {$i < $val(nn) } {incr i} {
    $ns_ at 80.0 "$node_($i) reset";
}

# Exit Simulatoion at Time 80.01 sec
$ns_ at 80.01 "puts \"NS EXITING...\" ; $ns_ halt"

proc stop {} {
        global ns_ tracefd f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11

        # Close Trace Files
        close $f0 
        close $f1
        close $f2
        close $f3

        close $f4 
        close $f5
        close $f6
        close $f7

        close $f8
        close $f9
        close $f10
        close $f11

        # Plot Recorded Statistics
        exec xgraph out02.tr out12.tr out22.tr out32.tr -geometry 800x400 &
        exec xgraph lost02.tr lost12.tr lost22.tr lost32.tr -geometry 800x400 &
        exec xgraph delay02.tr delay12.tr delay22.tr delay32.tr -geometry 800x400 &
       
        # Reset Trace File
        $ns_ flush-trace
        close $tracefd
       
        exit 0
}

puts "Starting Simulation..."
$ns_ run


[simulation results]

Throughput:
Analysis: Node 1 starts transmitting at time T =1.4 sec while Node 2 starts transmitting at time T=10 sec. During the period of time [1.4 sec, 10 sec] Node 1 is the only transmitting node using the entire available bandwidth. This justifies the high performance of Node 1 during the specified interval of time. At time T=10 sec, Node 2 starts transmission hence sharing channel resources with Node 1. This explains the heavy reduction of bit rate. In addition, the bit rate plot experiences heavier oscillations and reduction as the number of transmitting nodes increases. Oscillations are reflected in heavy disorders in network performance.

Packet Drop Rate:
Analysis: This figure shows a high packet drop rate whenever the number of nodes sharing network resources increases. It can be shown that the packet drop rate in the interval [1.4 sec, 10 sec] is 0. This can be easily justified since only one node is using the network during this time interval. However this high-quality performance is deteriorated as more nodes start sharing the network resources.

Average Packets End to End Delay:
Analysis: When the number of nodes that are sharing the network resources, the delay significantly increases and readjusting CW of each node takes longer time.

[Reference]
J. Naoum-Sawaya, B. Ghaddar, S. Khawam, H. Safa, H. Artail, and Z. Dawy, "Adaptive Approach for QoS Support in IEEE 802.11e Wireless LAN," in  IEEE International Conference on Wireless and Mobile Computing , Networking and Communications (WiMob 2005), Montreal, Canada, August 2005

Job crunch hits engineering postgraduates badly

There are few takers for engineering postgraduates these days. The slowdown in the economy has dampened prospects in manufacturing so much so that the industry is shy about hiring them. Another major attraction was academics. In fact, many engineering graduates did master's with an eye on teaching jobs. There was indeed a time when a master's degree assured one a teaching job. That too has changed.

The tide turned against PGs when engineering colleges spotted an opportunity in the shortage of qualified hands to teach and lobbied with All India Council for Technical Education (AICTE) to liberalise norms to start post graduate courses. In less than a decade, the shortage became a surplus. If just about a thousand PG seats were on offer a decade ago, by 2012 the number of seats had risen to 13,000.

Colleges that once complained of lack of eligible candidates for faculty recruitment now talk about a glut in applications. "Apart from in civil and mechanical engineering disciplines, there are too many applicants in other branches for lecturer's posts," says V Lakshmi Prabha, principal, Government College of Technology (GCT).

A few academics TOI spoke to mirror her view. When jobs prospects in the IT sector started to decline, many engineering students started to look beyond graduation. Work in IT firms have become more demanding and many workers, especially those involved in back office operations, began to explore other options. Several of them, especially women, started enrolling for post graduation in the hope of landing a teaching job. The lure of getting a teaching job, which offer a pay packet comparable to a corporate job and the flexible working hours, was what made most of them to opt for post graduation, says Lakshmi Prabha. Soon, there were too many applicants for teaching jobs.

"If a few years back, a college struggled to get a single applicant for a teaching post, now we get 50 to 100 applications of ME graduates," adds T D Eswaramoorthy, general secretary of Coimbatore-based Engineering Colleges Affiliated under Anna University. This, according to him, has helped improve the quality of faculties.

But why is it that businesses prefer engineering graduates to PGs?

R Ramachandran, president of Coimbatore District Small Industries Association (CODISSIA), says training a post-graduate is a difficult job. "Most of the post-graduates lack floor training. This makes it difficult on the party of industries to train them. So most of the industries are not interested to recruit post-graduates," he says. Moreover, ME graduates should be paid more than a BE, which again makes it unattractive to recruit a post-graduate. Moreover, there is a perception that those who go for PG are those who did not have other options after their graduation, he said.

An HR person from a leading IT firm puts it bluntly. "Who needs to pay more for a person who is less competent? An undergraduate will do the same job for less salary. This rules out recruiting post-graduates," he says, on the condition of anonymity since he was not authorised to speak to the media. Though there are firms which do give preference for PG students, they are less in number, he adds.

The result is that many engineering post graduates are left in the lurch like S Rajendran (name changed), who completed his ME in Communication in 2012 from a Coimbatore college. "I had applied to many of the institutions and even to some firms. But till now I have been unable to get a job," he says.

Source : TOI

Indian IT Industry to give smaller salary increments in 2013: Report

Aon Hewitt today announced the results of the 17th edition of the Annual Salary Increase Survey. Reflecting the economic growth expectations of 5%, India Inc projects an average salary increase of 10.3% for 2013, while the IT sector is likely to dole out lower increments than in 2012.

Margin compression, a cautious outlook in terms of the global economic state and large bench strength have led to IT service organisations projecting a conservative salary increase of 9.6%. On the other hand, IT product organisations, fuelled by growth opportunities in the domestic market and greater penetration in Tier II cities posted relatively higher salary increase of 11.2%.

For the Indian ITeS industry, the average increase in salary for 2013 has been projected at 10.1%. BFSI captives and other captives are projecting salary increase at 10.2%. Third party service providers posted an average salary increase of 8.9% on account of tough global economic conditions, depreciating rupee and huge cost pressures.

A dip in sales for consumer devices as well as the shift to smarter devices and tablets has dampened the mood for the semiconductor industry, which reported salary increase of 11.3%, down from 12.1% in 2012. The high-tech industry posted an average salary increase of 10.5%.

Despite a year in which India's growth came to a decade low, corporate India reported an average overall attrition of 19.3% for 2012. While the attrition was second highest in ITeS industry, telecom sector had the second lowest rate of exits in 2012. Organisations are reshaping their strategies to safeguard this talent group. This is also reflected in the lower average attrition number for key talent at 5.7%.

With shrinking salary budgets, organisations are creating sharp differentiation in salary increases between their key talent and the rest of the population. Over the years this gap is widening. This year, key talent (hi-potentials, hi-performers & critical talent) is projected to get an average increase of 14.1%. The report also said that technology and outsourcing sectors have been among the most volatile and will be cautious in the coming year.

Sandeep Chaudhary, partner - talent & rewards at Aon Hewitt India commented, "Though business sentiment is strengthening on account of inflation reaching a three year low and stock markets rising upwards, the cautious streak is evident in the projected salary increase numbers."

Source : TO

Mobile App Development industry to employ 10 million globally: Report

The mobile industry will invest $1.1 trillion by 2017 and the ecosystem around it is expected to employ 10 million people globally, said a report released by global industry body GSM Association said.

"For the period through 2017, the mobile industry will invest $$2.6 trillion to public funding. Importantly, in 2017, companies across the ecosystem will employ nearly 10 million people globally," 'The Mobile Economy 2013' report prepared Developed by GSMA and consulting major AT Kearney said.

The report said revenue from total mobile ecosystem revenues reached $1.6 trillion -- around 2.2 per cent of the global Gross Domestic Product ( GDP).

"To fully realise this future and to enable the mobile industry to maximise its investments, it is essential that we establish a light-touch regulatory environment, based predominantly on competition, and develop new business models that will allow all ecosystem participants to benefit from the mobile economy," GSMA Director General Anne Bouverot said.

The report said it expects a further 700 million subscribers will be added by 2017 and the 4 billion-subscriber milestone will be reached in 2018 across the globe.

At the end of 2012, there were 6.8 billion mobile connections worldwide and the study expects it to grow to 9.7 billion by the end of 2017.

High speed internet on mobile phone accounted for 1.6 billion of these connections in 2012, increasing to 5.1 billion in 2017, including 920 million LTE connections, the report said.

Mobile subscriber penetration globally stood at 45 per cent while mobile connection penetration is currently 94 per cent.

As per GSM Association Wireless Intelligence, the variance between the number of mobile subscribers and the number of mobile connections is related to multiple sim ownership as well as inactive sims.

Source : TOI

Slow-down hits online hiring activity: Report

Online hiring activity registered a decline of nearly 4% in July over the same month a year ago amid weak economic conditions, according to a research by job portal Monster.com.

On a month-to-month basis, the index witnessed even a sharper decline as it was down by 6.10% to 123 in July from 131 it registered in June.

"The decline in annual growth is reflective of the prevailing challenging economic conditions. Keeping in mind the uncertain economic/ political scenario, companies are adopting a cautious approach while hiring which is reflected in the index," Monster.com (India/ Middle-East/South-East Asia) Managing Director Sanjay Modi said.

A sectoral analysis shows that 12 of the 27 industry sectors monitored by the Monster Employment Index registered expansion in online recruitment activity between July 2012 and July 2013.

While hiring in telecom/ISP sector improved by 20% followed by BPO/ITeS sector (up 18%), chemicals/ plastic/ rubber, paints, fertiliser/ pesticides (down 13%) showed steepest annual decline.

Online demand improved in six of 13 occupational groups monitored by the Monster Employment Index between July 2012 and July 2013.

The most substantial annual gains amongst occupational groups was registered in customer service (up 18 per cent) followed by hospitality and travel (up 10%).

Among occupation groups, senior management exhibited the steepest annual decline (down 56%).

Online recruitment activity was up on the year in six of 13 locations monitored by the index.

Kolkata (up 21%) followed by Chandigarh (up 15%) led all cities in annual growth, while, among major metro-areas, Kolkata (up 21%) followed by Hyderabad (up 2%) registered the highest annual growth.

The Monster Employment Index India is a monthly gauge of online job posting activity based on a real-time review of millions of employer job opportunities culled from a large representative selection of career Web sites and online job listings across India.

Source : TOI

 

No wage hike in IT sector yet: Report

The improved demand environment for the Indian IT sector has neither resulted in higher attrition level nor led to a hike on wages, says a report.

The usual acceleration in wage pressure that accompanies improving demand seems absent this time around as attrition has remained low and wage inflation remains in single digit, Credit Suisse said in a research note.

"Unlike earlier years, an improving demand environment has not caused any accelerated pressure on the supply-side as yet," IT added

Attrition has remained low. Offshore wage inflation also remains relatively low --- both for experienced employees and entry-level engineers.

"The bargaining power of companies with respect to the latter is at its peak with real wages at their lowest point in more than 15 years," it added.

Credit Suisse noted that "while some of the reasons for this may be cyclical and could reverse, we believe that part of the reason is structural, too".

Mid-sized companies such as Tech Mahindra and Hexaware have been able to postpone wage hikes without any significant increase in attrition, the report said, adding that TCS's guidance of entry-level hiring is the same as FY 2009 despite twice the overall employee base and a vastly different outlook (more positive) on the demand environment.

Moreover, Indian companies have also stepped up overseas hiring.

The companies have entered new areas of IT services where local talent and expertise become important. Also, given potential immigration issues and the difficulty in getting visas, companies have ramped up hiring onsite at the cost of local hires.

"While this may create margin issues, it does ease the pressure on wages domestically," Credit Suisse added. Moreover, there is a significant improvement in supply of engineering talent.

Engineering college capacity has seen an over 20% compound annual growth rate over the past several years. While the quality of some of this increased capacity may be varied, the bargaining power of companies has increased, the report said.

Source : TOI

FB

Facebk recruits more freshers from non-IIT colleges this year

Facebook, the recruiter every campus awaits, has not just looked beyond the Indian Institutes of Technology (IIT) this year but offered jobs to more candidates from non-IIT engineering institutes. It has picked up three of nine IITians and four of five non-IITians who interned at its Menlo Park headquarters in the US from May to August.

They will join after their graduation in 2014. Each will earn $1,00,000 (Rs 62,39,000) as annual base salary, $75,000 (approximately Rs 46,80,000) as a one-time signing bonus and FB stocks worth $1,00,000 that would be handed out over four years.

Of the four non-IITians selected, three — Anish Shankar, Shubhanshu Aggarwal and Rohit Girdhar — are from an autonomous university, the International Institute of Information Technology, Hyderabad (IIIT-H). They have accepted the pre-placement offer.M

Last year, FB had not accepted IIIT-H's invitation to participate in campus recruitment but had recruited only from the premier IITs. This time, FB did not come to India, but T V Devidas, the campus placement faculty in-charge at IIIT-H, said four students were chosen as interns. Three of them have been selected.

The fourth non-IITian who has made it, also by way of a pre-placement offer, is Ranjith Mudaliyar from the National Institute of Technology, Trichy.

During his time at FB, Mudaliyar, son of a Chennai businessman, was responsible for automating a few processes that were earlier done manually, thus increasing their efficiency and turnaround time.

The three IITians selected are Sabarinath N, Kanishk Parihar and Lakhwinder Gaba.

A computer science undergraduate student from IIT-Madras, Sabarinath N said, "What I loved about working at FB was that there was no hierarchy. We were all treated on a par with the full-timers."

IIT-Bombay's Parihar said he found during his internship period that people at the social networking site were "cool" and not "hung up on the Cumulative Grade Point Average (a ranking/evaluation method)." He added, "I was keen on learning a lot of things going on there, and people were more than happy to show me around and explain."

Gaba, who will graduate from IIT-Roorkee, said there were no structures at FB and it was a flat organization. Son of an engineer from the Delhi Transport Corporation, he said his parents were happier to learn about his acceptance to the internship programme than when he got the job offer later. "I'll learn a lot at FB and give my best. I'll think of getting a master's degree after a few years," he said.

Source : TOI