<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5962113662886431497</id><updated>2012-01-03T10:01:57.851+05:30</updated><category term='SNMP'/><category term='Additional P-TMSI'/><category term='Customer service'/><category term='20-20'/><category term='Olympics'/><category term='Bell Labs'/><category term='sctp'/><category term='munnar'/><category term='Telecommunication Service Availability'/><category term='Evolved Packet Core'/><category term='chinnar'/><category term='Sports in India'/><category term='Idle mode signaling reduction'/><category term='Java'/><category term='Google'/><category term='HA Middleware'/><category term='Entrepreneurship'/><category term='Additional GUTI'/><category term='COTS Middleware'/><category term='infrastructure'/><category term='BSNL'/><category term='sksctp'/><category term='operations'/><category term='SAForum'/><category term='solaris'/><category term='ATCA'/><category term='EMS architecture'/><category term='Startup'/><title type='text'>Sky is the limit</title><subtitle type='html'>Technology, Life and Cricket</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-5794287436479493593</id><published>2010-05-05T19:52:00.012+05:30</published><updated>2010-05-05T20:14:13.612+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Additional P-TMSI'/><category scheme='http://www.blogger.com/atom/ns#' term='Additional GUTI'/><title type='text'>Additional GUTI and additional P-TMSI</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The release 8 specifications talk about sending additional GUTI / additional P-TMSI in attach reqeusts and Tracking Area Update (TAU) or Routing Area Update (RAU) requests. So what exactly is the purpose of them?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;As mentioned in the previous post, an EPS capable UE can have itself registered both in an MME and an S4-SGSN. In that case the UE's USIM will have a valid GUTI from the MME and P-TMSI and P-TMSI signature from the SGSN.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Whenever the UE does a new attach into an E-UTRAN network (or) UTRAN/GERAN network, it has two temporary identifiers. It informs one of them as an additional identifier to the MME / SGSN. Lets consider each of the cases&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Attaching to MME&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The UE has a valid GUTI and a valid P-TMSI. TIN = P-TMSI&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;In the attach request:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Old GUTI = GUTI mapped from P-TMSI.&lt;/li&gt;&lt;li&gt;Additional GUTI = GUTI. P-TMSI signature is also sent in this case&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The UE has a valid GUTI and a valid P-TMSI. TIN = GUTI / RAT related TMSI&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;In the attach request:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Old GUTI = GUTI at UE. No additional GUTI is sent&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;So what is the purpose of sending the additional GUTI in the first case above?&lt;/div&gt;&lt;div&gt;Since the old GUTI received by the MME is a GUTI mapped from P-TMSI, ideally it has to query the UE's identity from an S4 SGSN. But why do it if is possible for the MME to locate the subscriber's context within itself? To locate the subscriber's context it needs a GUTI that it allocated to the UE. So the additional GUTI helps (provided that additional GUTI was allocated by this MME).&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Attaching to S4-SGSN&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The UE has a valid GUTI and a valid P-TMSI. TIN = GUTI&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;In attach request: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Old P-TMSI = P-TMSI mapped from GUTI.&lt;/li&gt;&lt;li&gt;Additional P-TMSI = P-TMSI&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;The UE has a valid GUTI and a valid P-TMSI. TIN = P-TMSI or RAT related TMSI&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;In attach request:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Old P-TMSI = P-TMSI.&lt;/li&gt;&lt;li&gt;Aditional P-TMSI is also = P-TMSI if TIN = P-TMSI. The P-TMSI signature is also sent.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;The usage of additional P-TMSI in the first case to look up the subscriber's context locally at SGSN instead of going to MME.&lt;/div&gt;&lt;div&gt;The same logic applies to TAU and RAU procedures as well.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-5794287436479493593?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/5794287436479493593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=5794287436479493593' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/5794287436479493593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/5794287436479493593'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2010/05/additional-guti-and-additional-p-tmsi.html' title='Additional GUTI and additional P-TMSI'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-3654054806862251908</id><published>2010-05-05T18:56:00.010+05:30</published><updated>2010-05-13T10:42:30.686+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Evolved Packet Core'/><category scheme='http://www.blogger.com/atom/ns#' term='Idle mode signaling reduction'/><title type='text'>Idle Mode Signaling Reduction</title><content type='html'>&lt;div&gt;For the call flows refer Annex J in TS 23.401. Also refer this spec for an introduction to some of the terminologies used here.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#3333FF;"&gt;What is ISR?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;ISR means Idle Mode Signaling Reduction. This is a feature that allows an EPS subscriber to roam between E-UTRAN and UTRAN/GERAN coverage while in IDLE state without updating Routing Area / Tracking Area to MME / SGSN.&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ISR is mandatory to be supported in an EPS capable UE but can be optionally configured in the EPC core network (S4 SGSN and MME)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#3333FF;"&gt;Why is it needed?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;The deployment of E-UTRAN network will co-exist with existing UTRAN and GERAN networks. So it is possible that within the same are a subscriber moves between E-UTRAN and UTRAN/GERAN coverage. This should not generate unnecessary signalling with the core network when the UE is in IDLE state. So what is IDLE state? It means that the UE is not having a signaling connection towards the core network (SGSN / MME). When in IDLE state,&lt;/div&gt;&lt;div&gt;packet transfer will not happen.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#3333FF;"&gt;When is ISR activated?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;ISR is activated ONLY on the following cases:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;CASE 1&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Subscriber is already registered in a MME (EMM-REGISTERED state at MME)&lt;/li&gt;&lt;li&gt;Subscriber is in ECM-IDLE state in the UE.&lt;/li&gt;&lt;li&gt;Subscriber does a RAU into UTRAN / GERAN. RAU request carries P-TMSI mapped from GUTI. SGSN checks if ISR is activated in the config. If yes, it returns the ISR active flag in RAU accept to UE&lt;/li&gt;&lt;li&gt;UE sees that its current TIN is GUTI and hence sets its TIN to "RAT Related TMSI"&lt;/li&gt;&lt;li&gt;SGSN sends Update Location  to HSS / HLR. HLR / HSS does not send Cancel Location to MME. A release 8 HLR / HSS keeps an EPS subscriber registered at both MME and SGSN at the same time.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;CASE 2&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Subscriber is already attached in a SGSN&lt;/li&gt;&lt;li&gt;Subscriber is in PMM-IDLE state in the UE.&lt;/li&gt;&lt;li&gt;Subscriber does a TAU into E-UTRAN. TAU request carries GUTI mapped from P-TMSI. MME checks if ISR is activated in the config. If yes, it returns the ISR active flag in TAU accept to UE&lt;/li&gt;&lt;li&gt;UE sees that its current TIN is P-TMSI and hence sets its TIN to "RAT Related TMSI"&lt;/li&gt;&lt;li&gt;MME sends Update Location to HSS / HLR. HLR / HSS does not send Cancel Location to MME.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#3333FF;"&gt;How does the UE know that ISR is activated and hence it need not do RAU / TAU while roaming within the TAI list / RAI in IDLE mode?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;If TIN is set to "RAT Related TMSI" then UE knows that ISR is activated.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#3333FF;"&gt;When does ISR get deactivated in UE?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;ISR is deactivated in following scenarios&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;TIN = "RAT Related TMSI" and RAU / TAU into a new RA / TA outside of the stored TAI list / RAI. Upon successful completion of the new RAU, TIN will be set to P-TMSI. Upon successful completion of new TAU, TIN will be set to GUTI.&lt;/li&gt;&lt;li&gt;TIN = "RAT Related TMSI", periodic RAU timer expires (probably lost radio coverage in UTRAN), starts deactivate ISR timer and the deactivate ISR timer also expires. TIN will be set to GUTI&lt;/li&gt;&lt;li&gt;TIN = "RAT Related TMSI", periodic TAU timer expires (probably lost radio coverage in E-UTRAN), starts deactivate ISR timer and the deactivate ISR timer also expires. TIN will be set to P-TMSI&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#3333FF;"&gt;Will ISR be activated if current TIN is same as the temporary identifier of the RAT to which UE is doing an update procedure?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;No. For example if TIN = P-TMSI, and UE does a RAU into a new RA, the SGSN returns a new P-TMSI. The context transfer is between two RAs in the same radio technology. So even if the SGSN includes the "ISR Activated" flag in RAU accept, UE should set its TIN to P-TMSI only.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#3333FF;"&gt;How is a downlink packet delivered to the UE when it is registered with both MME and SGSN and the UE is in IDLE state?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;S-GW sees that it has an active GTP-C v2 tunnel with an S4-SGSN and MME and hence it sends downlink data indication to both of them. Both SGSN and MME initiate paging. The UE responds to one of them with a service request.&lt;/div&gt;&lt;div&gt;Once the radio bearer establishment is completed and service request procedure is completed, the S-GW sends a stop paging request to the other RAN from which service request was not received. For example if the UE latched onto E-UTRAN,&lt;/div&gt;&lt;div&gt;stop paging will be sent to SGSN.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#3333FF;"&gt;Is ISR done when roaming from MME to a Gn/Gp SGSN?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;No. ISR is applicable only between MME and S4 SGSN.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Updates:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Found the book &lt;span class="Apple-style-span"   style="  ;font-family:verdana, arial, helvetica, sans-serif;font-size:11px;"&gt;&lt;h1 class="parseasinTitle"   style="color: rgb(0, 0, 0); margin-bottom: 0px; margin-top: 0px; font-family:Arial, Helvetica, sans-serif;font-size:1.7em;"&gt;&lt;span id="btAsinTitle"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;"SAE and the Evolved Packet Core: Driving the Mobile Broadband Revolution"&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;/span&gt;covering this topic in good detail. Preview of it is available in Google books. The ISR chapter, luckily is there for preview&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-3654054806862251908?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/3654054806862251908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=3654054806862251908' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/3654054806862251908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/3654054806862251908'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2010/05/idle-mode-signaling-reduction.html' title='Idle Mode Signaling Reduction'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-3658481255326489123</id><published>2010-05-05T07:28:00.003+05:30</published><updated>2010-05-05T07:36:01.325+05:30</updated><title type='text'>Back with posts on 4G to 3G/2G packet switched mobility</title><content type='html'>I have been going through the 3GPP release 8 specifications on the aspects of E-UTRAN to UTRAN/GERAN mobility. Though there are few blogs that discuss a lot about the LTE packet core (&lt;a href="http://mobilesociety.typepad.com/"&gt;here&lt;/a&gt; and &lt;a href="http://wired-n-wireless.blogspot.com/"&gt;here&lt;/a&gt;), I couldnt find a blog that discusses the scenarios with respect to E-UTRAN to UTRAN/GERAN mobility. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I will start a series of blogs on the same shortly. Few interesting scenarios that are not very clear from a quick read of the specs are&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Idle mode signaling reduction&lt;/li&gt;&lt;li&gt;S4-SGSN to S4-SGSN handoff of a EPS subscriber&lt;/li&gt;&lt;li&gt;E-UTRAN to UTRAN SRNS relocation with indirect data forwarding&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;The upcoming blogs will discuss about each of the above and also about GTP V2. Stay tuned.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-3658481255326489123?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/3658481255326489123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=3658481255326489123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/3658481255326489123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/3658481255326489123'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2010/05/back-with-posts-on-4g-to-3g2g-packet.html' title='Back with posts on 4G to 3G/2G packet switched mobility'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-4364642577043345763</id><published>2009-11-02T09:59:00.004+05:30</published><updated>2009-11-02T10:10:09.256+05:30</updated><title type='text'>Solving the carpentry problem by dynamic programming</title><content type='html'>&lt;span style="font-family: arial;"&gt;Last week I was discussing about dynamic programming technique with a friend. We were discussing about the carpenter problem given here (http://parasol.tamu.edu/~amato/Courses/311/exam3.review.html - problem 4). The following is an attempt to solve the problem. Comments are welcome. Note: I am not approaching this problem through a mathematical recurrence relation. I am simply trying to solve this problem by plain common sense. However let me make an attempt to write the recurrence relation at the end (atleast let me see how much I remember my B.E classes :-)) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;At the outset the problem is a divide and conquer problem. The solution is  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;ol style="font-family: arial;"&gt;&lt;li&gt; Make the first cut at a point that is near the half way mark. The cost of making this cut is the length of the wood (L) &lt;/li&gt;&lt;li&gt;Then we will have two halves with lengths L1 and L2. Apply the step 1 recursively for each of these pieces till we have made the cut at all the marked points.&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-family: arial;"&gt;Now to apply dynamic programming to this problem, we have to store the result of each portion calculated. The result shall be stored in the followig way &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;ul style="font-family: arial;"&gt;&lt;li&gt;A hash table mapping the length L and list of points (a1, a2, ... an) to cut on the wood, as the key, and the cost of making such cuts as the value. &lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;So as we recursively calculate the cost of cutting each piece of wood of length L at points (a1, a2, .. an) store the result in memory. If some other half of the wood has the same length and cutting pattern, then the result is readily available in memory. It need not be cut again. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;For example, consider a wood of length 10 metres to be cut at points a1 = 1 metre, a2 = 4 metre, a3 = 6 metre and a4 = 9 metre. Here are the steps. &lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-family: arial;"&gt;&lt;li&gt; Make the first cut at a point near the half way (5 metre mark). In the above example points a2 and a3 are equidistant from centre. So lets choose a2. Now we have two woods of length 4 metre and 6 metre. After this cut the hash table will have an entry.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: arial;"&gt;Value(10#1#4#6#9) = 10 ; Where 10#1#4#6#9 is the key; 10 = length of the wood, 1,4,6,9 are the points at which cut has to be made .&lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-family: arial;"&gt;&lt;li&gt;Now apply the above rule for the two wooden parts we have now. Applying it on the first one, we have &lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: arial;"&gt;Value(4#1) = 4 &lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-family: arial;"&gt;&lt;li&gt; Applying the rule on the second part, we have &lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: arial;"&gt;Value(6#2#5) = 6 + value(4#3). Note that in the key 6#2#5, 6 = length of the wood, 2 = point of first cut (Point a3 (6 metres) - 4), 5 = point of second cut. This wood of length 6 has to be cut at point closer to its centre. That is the point at 2 metres. The cost of making this cut is 6. Now we have two parts from this cut. The first part doesnt need any more cuts. The second part needs to be cut at point 3 metres (5 - 2) from its begining. The cost for making this cut will be stored in the hash table as &lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;br /&gt;Value(4#3) = 4 &lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;So value of (6#2#5) = 6 + 4 = 10. &lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;Now the total cost = 10 + 4 + 10 = 24 &lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;In the example chosen above, we didnt have any cut patterns that repeated. So that the costs stored for the cut patterns in the memory were never used. &lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;Now consider this example, wood of length = 10 metres, points a1 = 1 metre, a2 = 3 metres, a3 = 5 metres, a4=6 metres, a5=8 metres &lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;In this example, once we cut the wood at a3=5 metres, we have two woods of the same cut pattern. The pattern is (5#1#3). So it is enough if we calculated the cost for one part. For the other part we can straight away take the cost from the memory. &lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;Now to the recurrence relation, &lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;C(L, a1, a2, ... an) = C(L) + C(L1, a1, a2, ... aL1) + C({L-L1}, {aL1+1 - aL1}, {aL1+2 - aL1}, ... {an - aL1}) &lt;/span&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;where C = Cost &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-family: courier new; font-weight: bold;"&gt;&lt;li&gt;L          = Length of the initial piece of wood. C(L) = L &lt;/li&gt;&lt;li&gt;a1... an   = Points at which the wood has to be cut &lt;/li&gt;&lt;li&gt; L1         = Point nearest to L/2 where the first cut is made. &lt;/li&gt;&lt;li&gt; aL1        = Point of cut at length L1 &lt;/li&gt;&lt;li&gt;aL1+1      = The next point after aL1 that is marked for a cut. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;I will try to write a C program for the above problem and post it later. Open for comments on the way the solution is explained and if there are other better solutions for this. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-4364642577043345763?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/4364642577043345763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=4364642577043345763' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/4364642577043345763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/4364642577043345763'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2009/11/solving-carpentry-problem-by-dynamic.html' title='Solving the carpentry problem by dynamic programming'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-9298576339828616</id><published>2009-08-11T17:36:00.002+05:30</published><updated>2009-08-11T17:41:43.613+05:30</updated><title type='text'>What India needs is self discipline to contain any viral outbreak</title><content type='html'>&lt;p&gt;All the impractical advises that the government gives to contain Swine flu from spreading look meaningless in India. How can you contain people from going in Trains, especially in a City like Mumbai?&lt;/p&gt;&lt;p&gt;Swine flu in India can be contained only through self discipline. Instead of giving impractical suggestions, government can create an awareness about the problems caused by spitting and urinating in public. In India the educated and the uneducated behave the same in this regard. What India needs is a "&lt;strong&gt;Stop Spitting&lt;/strong&gt;"! campaign.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-9298576339828616?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/9298576339828616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=9298576339828616' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/9298576339828616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/9298576339828616'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2009/08/what-india-needs-is-self-discipline-to.html' title='What India needs is self discipline to contain any viral outbreak'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-2989055495071597353</id><published>2009-08-09T22:08:00.007+05:30</published><updated>2009-08-09T22:35:36.434+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SNMP'/><category scheme='http://www.blogger.com/atom/ns#' term='EMS architecture'/><title type='text'>Element Management Systems Architecture</title><content type='html'>&lt;span style="font-family:Verdana,sans-serif;font-size:100%;"&gt;Every telecommunication equipment vendor has to supply some level of manageability for the equipment. The management software supplied with the network element can be a propreitary software interoperating with the vendor's element management system or it can be a standards based management agent so that it can interoperate with both the vendor's element management system and other third party network management systems. In this article I will cover various aspects to consider in the architecture of a management solution for network elements, especially those based on ATCA platform.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Verdana,sans-serif;font-size:100%;"&gt;&lt;b&gt;&lt;br /&gt;What is element management?&lt;/b&gt;&lt;/span&gt;  &lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;Managing a network element involves the following&lt;/span&gt;&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;Configuration of the network element. The configurations can be initial provisioning (which remain static as long as the network element is operational) and run time configurations (which are dynamically added / modified / deleted at run time)&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;Collection  of fault notifications from the network element.&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;Collection  of statistics and call counters from the network element.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt;&lt;span style="font-family:Verdana,sans-serif;font-size:100%;"&gt;&lt;b&gt;What is an element management system?&lt;/b&gt;&lt;/span&gt;  &lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;An element management system provides some mechanism, in the form of GUI or command line utilities, to manage the network element. The GUI or command line utilities will have fields / commands to configure the device, view alarms and statistics. Typical element management architectures are&lt;/span&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;GUI is a web based. Network element runs an HTTP server with CGI scripts which communicate with back end APIs in the network element to configure the device and collect alarms. The advantage here is that, GUI can be made extremely interactive if AJAX is employed. Since most of the browsers now support JavaScript, portability doesn't become an issue. The disadvantage is that it doesnt use any standard protocol for management. If a customer wants to integrate a third party network management system (explained later) with the network element, it is not possible unless the third party NMS understands how to invoke the CGI scripts on the network element. Figure 1 provides a conceptual view of this architecture.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_GKd86TzViJs/Sn8AM0MKCVI/AAAAAAAAByE/WBWpDA9y-Jo/s1600-h/omc_architecture_1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_GKd86TzViJs/Sn8AM0MKCVI/AAAAAAAAByE/WBWpDA9y-Jo/s320/omc_architecture_1.jpg" alt="" id="BLOGGER_PHOTO_ID_5368009501016983890" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;style type="text/css"&gt;age { margin: 2cm }   P { margin-bottom: 0.21cm }  -&lt;/style&gt;&lt;span style="font-family:Verdana,sans-serif;font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family:Verdana,sans-serif;font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Figure 1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:Verdana,sans-serif;font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;GUI is a stand alone JAVA GUI which uses SNMP PDUs to communicate with the network element. Network element runs an SNMP agent which interprets the PDUs and provides configuration and fault management facilities. The advantage of this solution is that it is standards based. Any third party network management system can be integrated with the network element. The SNMP MIB serves as the contract between the NMS and the network element. The disadvantage is that, Java based GUI require separate installation and are generally less interactive (compared to AJAX based web interface). Figure 2 provides a conceptual view of this architecture.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:100%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_GKd86TzViJs/Sn786HAVliI/AAAAAAAABxs/oFBYivpkdSU/s1600-h/omc_architecture_2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_GKd86TzViJs/Sn786HAVliI/AAAAAAAABxs/oFBYivpkdSU/s320/omc_architecture_2.jpg" alt="" id="BLOGGER_PHOTO_ID_5368005881115285026" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:Verdana,sans-serif;font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Figure 2&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;GUI is web based. Network element runs CGI scripts which communicate with local SNMP agent using SNMP. This approach combines the best of (1) and (2) above. Figure 3 provides a conceptual view of this architecture.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_GKd86TzViJs/Sn786YPlvcI/AAAAAAAABx0/taXSATYQfuM/s1600-h/omc_architecture_3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_GKd86TzViJs/Sn786YPlvcI/AAAAAAAABx0/taXSATYQfuM/s320/omc_architecture_3.jpg" alt="" id="BLOGGER_PHOTO_ID_5368005885742661058" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:Verdana,sans-serif;font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Figure 3&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family:Verdana,sans-serif;font-size:100%;"&gt;&lt;b&gt;&lt;br /&gt;What is a Network Management System (NMS)?&lt;/b&gt;&lt;/span&gt;  &lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;Network management systems are standards based management systems that can control and monitor a variety of network elements within a network. A network can comprise multiple devices from multiple vendors. Hence it becomes imperative for the network management system to talk the same language to all the devices it manages. Hence a standard protocol for management becomes mandatory. SNMP is used as the standard protocol to configure various network elements. &lt;/span&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;&lt;b&gt;Steps to do to make a network element provide stadards compliant management interface:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;The following are the steps involved in making a device standards compliant for integration with any NMS.&lt;/span&gt;&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;Define an information model for managing the device. The information model should not depend on how it is going to be managed from an EMS or NMS. That is, the model should care only about what should be managed and not how it should be managed. If some attributes / fields are added in the model just to satisfy some ease of use of use from the NMS / EMS it breaks this goal. If th model takes this path, then it becomes extremely difficult to integrate the network element's instrumentation of the model (the SNMP agent part) with the NMS (the SNMP manager part).&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;While defining the tables in the information model, normalize the tables using database normalization techniques. This calls for expertise in database design.&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;Capture  the information model as an SNMP MIB.&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;Implement the instrumentation for the MIB as an SNMP agent at the network element. Instrumentation means, for example if a SET request is given for a particular attribute, the agent should handle propagating that information to the appropriate module in the network element that handles that attribute.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;&lt;b&gt;How SNMP based network management systems function?&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;The function of an NMS can be split into the following&lt;/span&gt;&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;Setting the configuration on a network element (uses SNMP SET). These operations should follow the ACID properties (Atomicity, Consistency, Integrity and Durability). To ensure atomicity of these operations, configuration set requests from NMS are typically blocking calls.&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;Querying the existing configuration from a network element. This happens when a new network element is added into the NMS (or) when NMS loses connectivity with the network element for sometime and then comes back. The query can be on a single attribute or it can on the complete database. Though many NMS implement both these operations as blocking calls, it makes sense to implement bulk queries as asynchronous operations. This requires the SNMP manager module in the NMS to buffer the sent request so that it can match the responses with the request.&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;Listening  for asynchronous events from the network element. These events  include alarms and statistics.&lt;/span&gt;&lt;/p&gt;   &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;&lt;b&gt;Issues with Synchronous SNMP towards network elements with multiple process architecture&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;Most of the NMS employ synchronous (blocking call) SNMP towards the SNMP agent for configuration query and apply. This provides a simple implementation for network elements where the entire application along with management agent (SNMP agent) are compiled as a single image and loaded. This is the case with propreitary hardware based solutions.&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;However, next generation network elements (PDG, AAA servers, e-PDG, MME) running on standards based ATCA chassis environment are architected with multiple UNIX processes for high availability. Such network elements will have each process catering to a separate functionality. For example in a AAA server, one process could be catering to the RADIUS / DIAMETER interface towards the PDG or other NAS, while another process could be interfacing towards the traditional HLR through an SS7 interface. This SS7 process could run on a separate blade, having an SS7 card. In such an architecture, synchronous SNMP adds to lot of delay. Consider the example given in the figure below&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style="font-family:Verdana,sans-serif;font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:100%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_GKd86TzViJs/Sn786hHiSUI/AAAAAAAABx8/RYNikHewfmk/s1600-h/omc_architecture_4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_GKd86TzViJs/Sn786hHiSUI/AAAAAAAABx8/RYNikHewfmk/s320/omc_architecture_4.png" alt="" id="BLOGGER_PHOTO_ID_5368005888124799298" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:Verdana,sans-serif;font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Figure 4&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Verdana,sans-serif;font-size:100%;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;As shown in the above figure, in multi cluster HA architectures some of the configuration data need to be set in every cluster. If the SNMP agent blocks for response from all of them it adds to a significant delay. Sometimes some of the clusters may be busy in data plane or control plane processing. It may process the configuration message after some delay. If the NMS which gave the configuration request is set to timeout say, 2 seconds, it may timeout while the request is still in processing at the network element. This leads to momentary data inconsistency between the configuration data available in the NMS and the configuration processed in the hardware.&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;There are two ways to address this problem&lt;/span&gt;&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;Make  the SNMP command request and response asynchronous. This means the  NMS will never block once it sends out an SNMP SET request. It may  receive the SET response later. But it has to maintain a window of  requests sent, so that it can match the response to the request.&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;Use  synchronous SNMP from NMS to SNMP agent. The SNMP agent should  return immediately after verifying the validity of the message. It  should then process the configuration request in a separate thread  and once it configures the data in all the clusters it should send a  success / failure notification back to the NMS as an unsolicited  message (TRAP or INFORM REQUEST PDU). In this approach the NMS need  not maintain any window of requests. It should commit the configured  value into the database, only after it receives the success  notification from the agent. The notification will carry the OID of  the attribute that was configured, the value set and its status.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;&lt;b&gt;Conclusion:&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;In summary, to make a network element provide a standard management interface and be interoperable with any NMS the following need to be done:&lt;/span&gt;&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;The  SNMP MIB, should model only what should be managed and not how it  should be managed. The model should be well normalized. Make sure  that the MIB defines events for notifying success or failure of  configuration requests.&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm; font-weight: normal;"&gt;&lt;span style=";font-family:Verdana,sans-serif;font-size:100%;"  &gt;Make  the mode of operation of SNMP agent (synchronous / asynchronous)  configurable (or) a compile time option. If the agent is configured  to operate in asynchronous mode, then it can use the asynchronous  events to signal the success or failure of operation to the NMS.&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-2989055495071597353?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/2989055495071597353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=2989055495071597353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/2989055495071597353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/2989055495071597353'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2009/08/element-management-systems-architecture.html' title='Element Management Systems Architecture'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_GKd86TzViJs/Sn8AM0MKCVI/AAAAAAAAByE/WBWpDA9y-Jo/s72-c/omc_architecture_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-577976494734083205</id><published>2009-08-04T21:33:00.002+05:30</published><updated>2009-08-09T22:34:57.200+05:30</updated><title type='text'>Facts about STL</title><content type='html'>&lt;span style="font-size:100%;"&gt;This is an excerpt from an advanced C++ training that I gave at my office couple of months back.&lt;br /&gt;&lt;br /&gt;Most of our text books give a feeling that the standard template library (STL) in C++ is implemented as a shared library that is linked with your code by the C++ compiler / linker automatically. Templates by declaration dont hold any memory for its definition unless a specific instance of the template needs to be expanded by the compiler. For example a List class is defined to contain elements of a templated type, then a separate class will be created by the compiler for each of the instantiation of the class. That is, if an integer list is declared, then the tempplated List class will be expanded into List class containing integer data. If a string list is declared then the compiler will expand the templated List class into another List class containing string data.&lt;br /&gt;&lt;br /&gt;So if the STL implementation is a dynamically linked library with your code, then how is it possible for the STL library writer to have defined an instantiation for all possible data types for all the STL classes. For example if you want to declare a list of your own data structure, you declare it as&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;font-size:100%;"  &gt;std::list&lt;yourstruct&gt; yourlist;&lt;/yourstruct&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;When this piece of code is hit by the compiler, it will create a new class called yourstruct_list by expanding the templated declaration of std::list class. But if the STL were to be a predefined shared library it is not possible to have the author of std::list class to have compiled it for the symbol yourstruct_list since, the author has no way of knowing how user defined data structures will look like. If the complete STL were a pre-compiled .so library and if you simply link it then the .so will never have the class instantiations for your data types.&lt;br /&gt;&lt;br /&gt;So how is this problem solved by STL?&lt;br /&gt;&lt;br /&gt;In STL only the basic functionalities which are independent of templates are compiled as libstdc++.so library. All the STL templated classes like list, vector, map etc.,. are coded in the header files which we include. For example &lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;/usr/include/c++/&lt;ver&gt;/vector --&gt;includes /usr/include/c++/&lt;ver&gt;/bits/vector.tcc&lt;/ver&gt;&lt;/ver&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;. The *.tcc files have the complete definition of the templated classes. When your C++ code uses STL the following is what happens&lt;br /&gt;&lt;br /&gt;1. You define an instantiation of a templated class (eg: vector) for your data type&lt;br /&gt;2. Compiler gets the blue print of the vector class from the included vector--&gt;/usr/include/c++/&lt;ver&gt;/bits/vector.tcc file&lt;br /&gt;3. Compiler creates an instance of the vector class for your data type as per the definition of its blue print in /usr/include/c++/&lt;ver&gt;/bits/vector.tcc&lt;br /&gt;&lt;br /&gt;For a better understanding of the STL classes look at the source code in /usr/include/c++/&lt;ver&gt;/bits/*.tcc files.&lt;/ver&gt;&lt;/ver&gt;&lt;/ver&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-577976494734083205?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/577976494734083205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=577976494734083205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/577976494734083205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/577976494734083205'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2009/08/facts-about-stl.html' title='Facts about STL'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-3450749358343343152</id><published>2008-11-09T21:12:00.002+05:30</published><updated>2008-11-09T21:13:31.997+05:30</updated><title type='text'>Interviews!!! - God Save Me</title><content type='html'>It has been a hectic three weeks of interviewing at my office. We have been hiring a lot for design and development of some new products in Fixed Mobile Convergence. We have been looking for people who are very good programmers in C and C++ with some telecom background in the experience range of 1-8 years. To me personally, I dont stress much on what protocols people have worked. If a person is a very good programmer and has good design skills he can learn any protocol and can design scalable solutions for telecom. But sadly the industry around us in Bangalore, especially the bigger services companies, doesnt seem to think so. Here are my observations of people from big companies who claim fancy things in their resumes.&lt;br /&gt;&lt;br /&gt;1. Almost all of the resumes that we receive have the candidate projecting himself as having worked in design, development and deployment. You ask them to design solutions for simple problems, they cant even understand the requirements. I am not talking about big system requirements here. I am talking about small programming problems with some scope for design challenge.&lt;br /&gt;&lt;br /&gt;2. The more experienced a candidate is the worse his programming skills are. People rejoice in claiming to be "Leaders" / "Managers". Its been a nightmare for a smaller company like us to find good developers. A small company survives because of good software they write and market and not because of excellent people managers they have.&lt;br /&gt;&lt;br /&gt;3. Almost all attach the word C++ if they know C programming. People think that C++ is just an enhanced syntax of C. Having said this I am ready to hire a person if he is excellent in programming in C and can independently develop software even if he doesnt know object oriented design principles and programming. A person who can think through programming logic can easily pick up object oriented design concepts.&lt;br /&gt;&lt;br /&gt;4. Anyone who has seen a TCP socket program (forget about writing TCP client/servers) claims he is an expert in TCP / IP. No one cares about how a TCP server is designed for concurrency and scalability, how queue sizes can be optimally designed etc.,. What good subjects like "Operations Research" that one learns in their engineering do?&lt;br /&gt;&lt;br /&gt;5. Designation matters to them most than how good they are at solving problems.&lt;br /&gt;&lt;br /&gt;6. People who claim to have used a particular tool or framework are only API users. They fail to understand the internal design of those tools. For example I came across a few resumes that boasted of expertise in ACE (Adaptive Communication Environment). I am not an expert in ACE myself and neither am I an expert in design patterns. But I atleast know some of the design philosophies of ACE. But these self proclaimed ACE experts cant even understand what a factory pattern is.&lt;br /&gt;&lt;br /&gt;7. This is especially about Java developers. Somehow our Java textbooks teach it all wrong. Almost everyone who has done only Java programming thinks "Thread" is a feature of language.&lt;br /&gt;&lt;br /&gt;I desire to go to teaching profession one day and teach software development and design to college grads. Such fruit less interviews are driving my desire more. I know we severly lack quality teachers at undergraduate levels that teach good programming skills. But apart from that what I feel is we as a society somehow attach greater importance to status and designation rather than what effective work one actually does. I would love to teach the young grads the importance of learning and problem solving rather than how to get designations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-3450749358343343152?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/3450749358343343152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=3450749358343343152' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/3450749358343343152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/3450749358343343152'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2008/11/interviews-god-save-me.html' title='Interviews!!! - God Save Me'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-3680722098606749708</id><published>2008-10-16T22:33:00.002+05:30</published><updated>2008-10-16T22:50:14.705+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Bell Labs'/><title type='text'>Is Google the next Bell Labs?</title><content type='html'>If you had asked in the late eighties and early nineties the question "Which organization leads in research and innovation in computer science (and for that matter most of the science disciplines)?" anyone would reply back "Bell Labs". With the merger of Alcatel and Lucent last year and Alcatel-Lucent subsequently announcing that it would stop funding researches in fundamental science at Bell Labs, it is no longer the hub of innovation in computer science. The Plan-9 (Inferno) distributed OS project hasnt got the thrust in market it ought to have. So where are all the great minds that worked in Operating Systems and Distributed Systems at Bell Labs now?&lt;br /&gt;&lt;br /&gt;Google for Robert Pike and Ken Thompson and you will know where they are :-) The list of top notch computer scientists at Google doest just stop here. Vinton Cerf is also at Google. Is Google redefining research in distributed communications and continues what was left by Bell Labs?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-3680722098606749708?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/3680722098606749708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=3680722098606749708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/3680722098606749708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/3680722098606749708'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2008/10/is-google-next-bell-labs.html' title='Is Google the next Bell Labs?'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-6612702869088659594</id><published>2008-08-31T00:03:00.001+05:30</published><updated>2008-08-31T00:06:39.799+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='20-20'/><title type='text'>Java vs Twenty-Twenty</title><content type='html'>&lt;div style="text-align: justify;"&gt;I always have this opinion: Teaching Java as the first programming language to a Computer Science graduate even before teaching the fundamentals of computers and computing, is not going to produce any quality developers and computer science professionals. Of late I started comparing this with how 20-20 is spoiling cricket.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Why is teaching Java as the first programming language a Twenty-Twenty affair? Simply because when you throw open a gamut of libraries and ask a developer to use it to program his application without even teaching the fundamentals of algorithms, why libraries are needed, how to develop modular and object oriented systems etc., he forgets to think what happens behind the scenes and how those libraries are implemented, in what thread context a particular interface method is invoked by the run-time, how are the Java threads implemented, how are they scheduled etc.,.&lt;br /&gt;&lt;br /&gt;Compare this with introducing Twenty-Twenty to young kids who learn to play cricket. They will start forgetting that the fundamentals of cricket lie in a solid defense, strong temperament, concentration and will power to last against the odds. Classic case is Yuvraj Singh who seems all lost when facing quality opposition in test cricket.&lt;br /&gt;&lt;br /&gt;I don’t have anything against Java as a programming language. But when I see engineers claiming to be “expert Java programmers” lack even the basic skills it becomes very tough to manage a product with them. They increasingly struggle while trouble shooting issues. Even if they study the java documentation and go through it they don’t understand how it works. It is for this reason; I discourage recruiting the so called “Java experts” without sound fundamentals.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-6612702869088659594?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/6612702869088659594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=6612702869088659594' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/6612702869088659594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/6612702869088659594'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2008/08/java-vs-twenty-twenty.html' title='Java vs Twenty-Twenty'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-8083078211794582771</id><published>2008-08-30T23:09:00.001+05:30</published><updated>2008-08-30T23:12:45.274+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sports in India'/><category scheme='http://www.blogger.com/atom/ns#' term='Olympics'/><title type='text'>Why is it still a distant dream to get more Olympic medals for India?</title><content type='html'>Everyone is happy that India, for the first time in history, got more than 2 medals in an Olympics and the media are gaga over it. They even started predicting 10+ medals for India in London 2012. Though me too is confident that one day India will reach there, I am skeptical if it would be within four years. Here are my reasons.&lt;br /&gt;&lt;br /&gt;We keep cribbing about government not spending enough for sporting infrastructure. Where will the money come from when the taxes collected is not sufficient even for our basic needs and defense?. &lt;br /&gt;&lt;br /&gt;Does our Indian education system impart the value in our citizens to be duty bound towards our country and pay our taxes? Does it give importance to the moral and ethical responsibilities of a citizen to be taught at school level? It all starts from the exam system by giving more importance to marks than knowledge and hence making the student get it by all means, even if unethical. A value less education produces tons of graduates and our GDP is also increasing but income to the government is still less. How can the government spend on sporting infrastructure when there are hundreds of basic necessities to be fulfilled?&lt;br /&gt;&lt;br /&gt;The second malady of our exam based education system is it inherently discourages sports. In the mad race to secure perfect 100 in all subjects in board exams who will look at practicing sports? &lt;br /&gt;&lt;br /&gt;Unless a change happens at this grass root level we can only dream of becoming a sporting super power. We will produce a few gems here and there but they will come up despite the system and not due to it. Miles to go .... but lets keep the hope...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-8083078211794582771?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/8083078211794582771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=8083078211794582771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/8083078211794582771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/8083078211794582771'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2008/08/why-is-it-still-distant-dream-to-get.html' title='Why is it still a distant dream to get more Olympic medals for India?'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-6552251345944402146</id><published>2008-07-29T22:46:00.003+05:30</published><updated>2008-07-29T22:50:59.938+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='COTS Middleware'/><category scheme='http://www.blogger.com/atom/ns#' term='HA Middleware'/><category scheme='http://www.blogger.com/atom/ns#' term='ATCA'/><category scheme='http://www.blogger.com/atom/ns#' term='Telecommunication Service Availability'/><category scheme='http://www.blogger.com/atom/ns#' term='SAForum'/><title type='text'>Evaluating COTS Telecommunication Middleware</title><content type='html'>The market for Commercial Off The Shelf (COTS) middleware for high availability and management of telecommunication application along with modular compute platforms like ATCA and Carrier Grade operating systems like Carrier Grade Linux (CGL) are gaining momentum. Developers working in the teleocm industry whose expertise mainly lie in the development of protocol stacks and telecommunications applications, are often clueless as to how to evaluate these commercial off the shelf middleware. "Managers" :-) believe that a "Carrier Grade HA middleware" is a magic box which when integrated with their telecom application makes it five nines available overnight. But the fact is that the COTS middleware are just platforms over which one has to integrate their application. The onus of designing how the application needs to be deployed to achieve high availability still lies with the application developer. These COTS frameworks only provides mechanisms to incorporate those designs. Think of the COTS middleware as an "Operating System". An Operating System like Windows / Linux as such is of no use to the user. Its the applications built on top of them that the user is using. Similarly the COTS HA middleware is just a platform. &lt;br /&gt;&lt;br /&gt;As a developer who has worked in the development of a carrier grade SAForum compliant middleware and also architected / designed some proprietary HA and management frameworks I would like to bring out my own list of questions to evaluate any commercial off the shelf middleware. &lt;br /&gt;&lt;br /&gt;1. Does the COTS middleware provide a tool to model the application in terms of services, their redundancy policy etc.,. (prefarrably in SA Forum compliant way)? What redundancy models it supports? 1:1? N+K? N-Way active load balanced?&lt;br /&gt;&lt;br /&gt;2. Have any legacy network element been integrated with the middleware? What was the redundancy model followed for it? What was the cycle time taken to make the legacy software into a HA product using your middleware?&lt;br /&gt;&lt;br /&gt;3. What operating systems and hardware platforms are supported?&lt;br /&gt;&lt;br /&gt;4. What is the measured switchover time from the active machine to the standby machine once a failure is detected by the HA middleware? How is the switchover indicated to the standby application? Does the middleware provide a configurable interface (preferably data driven / script based) for defining the actions to do on getting a switchover indication?&lt;br /&gt;&lt;br /&gt;5. What is the replication mechanism followed by the HA middleware? Message based redundancy? Checkpointing? Distributed shared memory? Explain its performance in terms of number of messages replicated / checpointed  per second with the average message size being 64 bytes.&lt;br /&gt;&lt;br /&gt;6. Does the middleware provide a management framework? If so what is the interface provided by the framework? What is the database used for storing managed objects? Is it a proprietary database or a commercial database? What is the model follwed by the database - (i.e) Is it relational or hierarchical object oriented? How are the managed objects addressed in the database? Also does the management framework provide any IDE to model the management information (i.e) Does it provide a management information modeling tool?&lt;br /&gt;&lt;br /&gt;7. How to integrate an existing application MIB with the management middleware? If the internal managed object database follows hiearchical object oriented model how do you map SNMP OIDs (which follow relational database model) to the managed object instances in the hiearchical database?&lt;br /&gt;&lt;br /&gt;8. How are the events on hardware (boards, hot-swap events) mapped to state transitions on the related managed objects?&lt;br /&gt;&lt;br /&gt;9. How can one define cross consistency check rules between MO attributes in the information model for management? Does the middleware provide any tool to define it? Also does the management framework handle the backend consistency check logic once the rule is defined through the tool without the need for writing any code?&lt;br /&gt;&lt;br /&gt;10. Does the HA middleware provide location transparent communication between the service units defined? If a service unit A needs to send a message to service unit B will it be possible to address service unit B without knowing its physical whereabouts? What is the transport protocol used? Is the location transparent mechanism a sort of "naming service" over TCP / UDP transport or location transparency is supported at the transport protocol itself (TIPC)? If supported through "naming service" what is the messaging latency introduced by the overhead of a naming service layer over the transport?&lt;br /&gt;&lt;br /&gt;11. Is it possible to model fault recovery policies in the HA middleware? For example if one wants to associate the continuous receipt of critical alarms from say an SS7 card to a service failover, is it possible to do it?&lt;br /&gt;&lt;br /&gt;12. How are faults (alarms) from various service units (service unit could be a software or it could be a hardware proxied by a software) modeled and how are they associated with the MO classes in the model? At run time how is an alarm instance associated with an MO instance?&lt;br /&gt;&lt;br /&gt;13. Does the management framework support the delivery of Attribute value change notification (AVCN), state change notification (SCN), object create notification (OCN) and object delete notification (ODN) on the managed objects to the northbound management stations?&lt;br /&gt;&lt;br /&gt;14. How are alarms to MO state transitions mapping modeled?&lt;br /&gt;&lt;br /&gt;15. Is it possible to define northbound interface level access permissions for each attribute while modeling? For example I would like to model certain attributes as RO to SNMP interface but RW to CLI interface. Is this possible?&lt;br /&gt;&lt;br /&gt;16. Is management service realized as a separate process? If so, how are queries to "run time" object attributes that are owned by the call processing services handled? For example, if one defines the current active calls table as a MO class in the model (which is Read Only to the operator) the MO class can have 1000s of instances (dynamically changing) at run time. If the operator at some point does a "getbulk" on this table does the management service issue a query to Call processing service (involving an IPC)? How is the call processing application performance at this time?&lt;br /&gt;&lt;br /&gt;17. What are the types of searches supported on the MO tree? Depth first? Breadth first?&lt;br /&gt;&lt;br /&gt;18. Is it possible to configure delivery of critical alarms to email addresses and SMS numbers in the management framework? This is not a critical requirement for a management framework used in the network element. Many NMS (Network Management Systems) that collect management data from a cluster of network elements they manage provide this facility. But having this feature at the network element's management framework is one of my wish lists.&lt;br /&gt;&lt;br /&gt;19. Does the alarm management service persist the current active alarm list? Is the alarm reporting compliant to ITU-T X.733 specification?&lt;br /&gt;&lt;br /&gt;20. Has the managed object database replication in a 1:1 configuration been measured for performance? How many bytes can be replicated per second? Is the replication done synchronously or asynchrously?&lt;br /&gt;&lt;br /&gt;21. Does the management database provide transaction semantics? (i.e) If a configuration change needs to be applied to more than one node it should happen in "all or none" fashion.&lt;br /&gt;&lt;br /&gt;22. Does the middleware provide mechanisms to define software upgrade and firmware upgrade policies and a smooth integration path with the management model? What is the HA state transition followed while upgrading? How does it ensure minimum downtime upgrade?&lt;br /&gt;&lt;br /&gt;Uuuuh quite a mouthful of evaluation criteria. If any COTS middleware supports atleast 60% of this let me know. I am interested in evaluating it. I am more concerned about ease of integrating, manageability and performance of message replication mechanism.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-6552251345944402146?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/6552251345944402146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=6552251345944402146' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/6552251345944402146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/6552251345944402146'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2008/07/evaluating-cots-telecommunication.html' title='Evaluating COTS Telecommunication Middleware'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-5168085619490582439</id><published>2008-07-02T23:44:00.005+05:30</published><updated>2008-12-12T06:54:25.243+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='chinnar'/><category scheme='http://www.blogger.com/atom/ns#' term='munnar'/><title type='text'>Such a simple life</title><content type='html'>Last weekend I had been to Munnar and visited the Chinnar wild life sanctuary on the way back to Bangalore. The forest department at Chinnar allows treks into the jungles to spot animals in their natural habitat. But the trek has to be guided by some 'adivasi' - the native people of the forest.&lt;br /&gt;&lt;br /&gt;We were guided by an adivasi boy "Selvam". During the trek I was chatting with him asking about the kind of animals one can spot and the life style of the tribes. I was amazed at his simplicity and attitude towards life. This one sentence from him summarizes everything:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;"Ungala maadhiri padichavinga sondha oora vittu veli ooruku poi pala makkala sandhichu avangala pathi therijukareenga. Enagalukku indha kaadu dhan ellam. Naanga inga kaata pathi therijukarom. Pala thara patta makkala pathi naan inga irundhe theinjukarom, yenna avanga inga varanga"&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;(Educated people like you leave the native place, go out where opportunity is and learn various cultures by visiting places. For us this jungle is everything. We study this jungle. We learn other's culture by sitting here because everyone comes here)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_K4VTCkFG_do/SGvLdhB3BYI/AAAAAAAAAjg/SMn_WPdRxBM/s1600-h/DSC04065.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: center; cursor: pointer;" src="http://3.bp.blogspot.com/_K4VTCkFG_do/SGvLdhB3BYI/AAAAAAAAAjg/SMn_WPdRxBM/s320/DSC04065.JPG" alt="" id="BLOGGER_PHOTO_ID_5218488301181666690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;He may be illiterate but in my opinion he is "educated". Only thing is his domain is the jungle and the animals. He was quite knowledgeable about the behavior of animals and when they will cross a particular place.&lt;br /&gt;&lt;br /&gt;When the trek finished we had just one word to say to him: Thanks !!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-5168085619490582439?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/5168085619490582439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=5168085619490582439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/5168085619490582439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/5168085619490582439'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2008/07/such-simple-life.html' title='Such a simple life'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_K4VTCkFG_do/SGvLdhB3BYI/AAAAAAAAAjg/SMn_WPdRxBM/s72-c/DSC04065.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-7663755765893616793</id><published>2008-06-21T22:23:00.003+05:30</published><updated>2008-06-21T22:28:05.352+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Customer service'/><category scheme='http://www.blogger.com/atom/ns#' term='BSNL'/><title type='text'>Wah!!! What a Customer Service</title><content type='html'>I want to share my experience with BSNL customer service. Last month I shifted my house to New Thippasandra and had given a letter to transfer my BSNL connection to the new address. The letter was given on 26th of April, 2008. This was given at Indiranagar BSNL office (in 80ft road). Initially they told that the transfer will be done in 3 days. One week passed and still no trace of getting the connection. On 4th May I decided to visit BSNL office and enquire about the status. The person at customer service (in 3rd floor) told that my old connection is yet to be disconnected and right in front of my eyes she was pressing commands to place that order in the system only on 4th May (and that too because I visited. God knows when they would have placed the orders if I hadnt). Then again I visited them couple of days later. This time they told that my old connection is disconnected and now to get a connection at the new address I have to contact the engineer who is dealing with Thippasandra area. I went and met that engineer and told him that I am awaiting for my connection. He noted it down on a piece of paper and told me that it will be done shortly. I also gave him my mobile number to contact and asked him to call me before coming home to give the connection. He noted down my number also in the same paper. &lt;br /&gt;&lt;br /&gt;Now the great customer service of BSNL starts. The engineer who took down the orders went on a week long vacation. No one other than him knows that he took down the orders. There is no centralized system to log in customer requests. I visited BSNL again a couple of days later. This time another engineer took down my orders again in a piece of paper but again no follow up. This continued for another week and by that time I had visited BSNL  4 times and each time someone is taking down orders but none is executing. Finally I got fed up and decided to lodge a complaint to Bangalore East Divisional Engineer. I went to his office the next week but the time I went he was not there. So I met up one more officer sitting in the Divisional engineer office's front desk. I explained him my frustration and told him that no one is logging the complaint in a centralized system. He gives great response which is the highlight of their customer service&lt;br /&gt;&lt;br /&gt;"NO SIR. THERE IS A CENTRALIZED SYSTEM TO LOG IN. THERE IS A TOLL FREE NUMBER YOU CAN DIAL AND LOGIN YOUR COMPLAINT. THIS NUMBER IS GIVEN IN YOUR TELEPHONE DIRECTORY."&lt;br /&gt;&lt;br /&gt;Hearing this I was laughing my guts out. The toll free number can only be dialed if I have a connection. I need not explain beyond this.&lt;br /&gt;&lt;br /&gt;(Note: Though I got such a bad response at least this guy was helpful. I explained him the fault in his statement and he immediately called the engineer and ordered him to give the connection. The next day I got it.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-7663755765893616793?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/7663755765893616793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=7663755765893616793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/7663755765893616793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/7663755765893616793'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2008/06/wah-what-customer-service.html' title='Wah!!! What a Customer Service'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-5276903868658489672</id><published>2008-06-15T21:37:00.000+05:30</published><updated>2008-06-15T21:40:53.112+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='operations'/><category scheme='http://www.blogger.com/atom/ns#' term='infrastructure'/><category scheme='http://www.blogger.com/atom/ns#' term='Startup'/><title type='text'>Operations issues to set right in a startup</title><content type='html'>It has been 3 years since I left the comforts of a big organization and started working in the startup mode firefighting every day. The learning curve for me in the past three years have been phenomenal both technically and operations wise. Here is my learning on what a startup company should address in terms of operations related issues&lt;br /&gt;&lt;br /&gt;1. Lab and network infrastructure - Dont under estimate this. A poor network and lab infrastructure will blow in your face just when you don't want it. In my experience I had come across a unique situation where the servers in the lab were just having a hard disk wipe out just because the AC in the lab was not adequate and temperature in the lab was soaring beyond 35 degrees centigrade and the temperature near the servers was like a hot tandoori oven. Outsource your infrastructure maintenance to people who know it best rather than you fighting it daily.&lt;br /&gt;&lt;br /&gt;2. Developers are your primary resources - Value them. Take care that developer's comfort is of utmost importance. Not every startup can provide a cozy office for the developers. But at least see to it its not a cramped space. Giving developers laptops (rather than desktops) and providing them the freedom to sit and work ( a bean bag office environment)  in the place they want will save you cost and also make the developers comfortable&lt;br /&gt;&lt;br /&gt;3. Power - And a place like Bangalore needs utmost attention in this regard. Make sure you go for a trusted vendor for UPS and also get a consultant to help you in setting up the power connections and proper earthing.&lt;br /&gt;&lt;br /&gt;4. Wiring in conference rooms - This is the place I hate to have wires floating around here and there. If 10 people sit in the room and all have their laptops connected to network through wires imagine the mess when someone gets up and walks around. Get a Wifi connection for your conference room. Also get the connection from your projector to power socket go through a sealed cabling. This is another candidate for getting tripped. &lt;br /&gt;&lt;br /&gt;5. Have a concierge - Developers need undisturbed time to think and design. Let them not worry about paying their utility bills or getting the weekend movie ticket. Have a concierge setup to help them out. It doesn't cost much for the company to setup a concierge. &lt;br /&gt;&lt;br /&gt;6. Keep your hiring standards high - Never compromise on this even if you are hiring for a maintenance / support job. If you have made your first release to market and got into the support mode of it don't think you can afford to lower your recruiting standards to get support staff. After all they are the ones who are going to fix your bugs. Having a bad developer fixing your bugs is asking for disaster. They will ultimately screw up your fundamental design and the entire code will be nothing but a set of patch works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-5276903868658489672?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/5276903868658489672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=5276903868658489672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/5276903868658489672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/5276903868658489672'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2008/05/operations-issues-to-set-right-in.html' title='Operations issues to set right in a startup'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-1544369886564651360</id><published>2008-06-13T09:44:00.006+05:30</published><updated>2008-06-14T09:42:12.912+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='sksctp'/><category scheme='http://www.blogger.com/atom/ns#' term='sctp'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>Solaris Kernel SCTP Issue</title><content type='html'>We recently we came across an interesting issue with Solaris Kernel SCTP. We observed that if you write a SCTP server program and then initiate thousands of connections from a SCTP client program loop, the server is able to establish the SCTP associations. The point to be noted here is that to simulate thousands of connections from client, the client program loops, creates a socket, binds to the client machine's IP address and a different port number each time. With this setup we were able to create thousands of associations towards the server. But when tested in a live setup where thousands of client machines (each a different machine and hence a different IP address) try to connect to the SCTP server, the solaris kernel sctp goes into a high CPU utilization of near 100%. Interestingly all the clients were bound to the same port number. If we change the port numbers used by the client machines, the CPU utilization @ server comes down to normal.&lt;br /&gt;&lt;br /&gt;My hunch here is that kernel SCTP's hashing mechanism to index the hash table of SCTP associations is using only the remote client's port number part to generate the hash value and not the remote port + IP address combo. So if all clients are bound to the same port number, then the hashing algo will generate the same hash value. This will lead to all the client connections colliding to the same hash value thus effectively reducing the search to O(n) or O(logn) based on the collision resolution algo being used. &lt;br /&gt;&lt;br /&gt;Refer this for the complaint.&lt;br /&gt;&lt;a href="http://forum.java.sun.com/thread.jspa?threadID=5288890"&gt;http://forum.java.sun.com/thread.jspa?threadID=5288890&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-1544369886564651360?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/1544369886564651360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=1544369886564651360' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/1544369886564651360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/1544369886564651360'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2008/06/solaris-kernel-sctp-issue-if-thousands.html' title='Solaris Kernel SCTP Issue'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5962113662886431497.post-6089592522021892667</id><published>2008-05-31T11:21:00.004+05:30</published><updated>2008-06-05T07:24:04.087+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Entrepreneurship'/><category scheme='http://www.blogger.com/atom/ns#' term='Startup'/><title type='text'>Startup City @ Bangalore</title><content type='html'>Wow!!!  was the expression I had when I came out of the startup city event organized by SmartTechie magazine, the first of its kind in Bangalore. The event was meant to create awareness among technology enthusiasts about various successful startups in Bangalore and encourage the entrepreneurial spirit in them. The event was held at NIMHANS convention center, Diary circle, Bangalore on the 24th of May, 2008 . It was a whole day event. There were talks and sessions given by leading entrepreneurs and technology evangelists in the morning. There were also parallel sessions going on in the morning where folks who have an idea to start a company can meet VCs one on one and discuss their plans. This in my opinion was a great opportunity for many budding entrepreneurs.&lt;br /&gt;&lt;br /&gt;Among the talks that were given in the morning session, the one that impressed me was Lead India winner R.K.Mishra’s talk on his entrepreneurial journey and his subsequent interest in community service and social work. True to his statements in the Lead India finals, “That is why my motto is ‘work more, talk less”, he really is a man of actions. For the rest visit his &lt;a href="http://rajendramisra.blogspot.com/2008/02/how-do-we-change-india.html"&gt;blog&lt;/a&gt; and his &lt;a href="www.changeindia.in"&gt;website&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The afternoon session was open for us to go and interact with the startups who had put up stalls there. Due to a huge crowd I was not able to spend time with all of them and discuss the technologies they work on. But a few of the stalls I visited impressed me.&lt;br /&gt;&lt;br /&gt;OboPay’s concept of using the mobile as a virtual debit card to handle transactions was good. But I am not sure on their revenue model. As per their explanation, they dont charge the user anything for sending the SMS to Obopay’s SMS short code for transferring money from one’s account to the receiver’s account. Their revenue model at this time seems to be only entering into partnership with banks. I am not sure this is a sustainable revenue model as the banks may not see a value add after sometime unless obopay provides other value added services in the interests of the banks with which they are tied up. Also I am not clear on how secure their mode of trafer is. They have a few questions to answer. A similar service is provided by mCheck also. Check out their service &lt;a href="http://www.mchek.com/"&gt;here&lt;/a&gt;. This one looks impressive.&lt;br /&gt;&lt;br /&gt;Soliton’s demonstration of its camera that identifies defective parts in a manufacturing pipeline was very impressive. They demonstrated it by letting the audience draw a circle by hand and let the camera detect whether it was a perfect circle or not (mathematically speaking, since there is no perfect value for “pi” there is no perfect circle yet.). Being a Coimbatorean I have a great admiration for Soliton as it is started by a Coimbatorean and has a development and support centre in Coimbatore too.&lt;br /&gt;&lt;br /&gt;Though most of the startups were in Web 2.0 what I was interested was the startups in telecom domain.  I went around and collected few materials on Sloka Telecom and Starent Networks. Sloka is working in the WiMax space and Starent is working in solutions for 3G services, IMS and thier unique ground up solution called “Inline services” which enables operators to define value added services inline with the core network elements. This approach is quite different from some of the out of the “box” (box here means the network element) mechanisms that many companies are still struggling to define for customized services.&lt;br /&gt;&lt;br /&gt;And finally for the negatives. The ugly face of Bangalore’s infrastructure showed up here too. There were frequent power cuts during the morning sessions and the audience were left to sit in the dark auditorium way too often.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5962113662886431497-6089592522021892667?l=sridharbhaskaran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sridharbhaskaran.blogspot.com/feeds/6089592522021892667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5962113662886431497&amp;postID=6089592522021892667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/6089592522021892667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5962113662886431497/posts/default/6089592522021892667'/><link rel='alternate' type='text/html' href='http://sridharbhaskaran.blogspot.com/2008/05/startup-city-bangalore.html' title='Startup City @ Bangalore'/><author><name>Sridhar</name><uri>http://www.blogger.com/profile/16771130937163209913</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
