<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Vengatc techology logs</title>
	<atom:link href="http://vengatctech.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://vengatctech.wordpress.com</link>
	<description>Get things done....</description>
	<lastBuildDate>Tue, 10 Jan 2012 18:30:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='vengatctech.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Vengatc techology logs</title>
		<link>http://vengatctech.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://vengatctech.wordpress.com/osd.xml" title="Vengatc techology logs" />
	<atom:link rel='hub' href='http://vengatctech.wordpress.com/?pushpress=hub'/>
		<item>
		<title>What should Google do next with its GoogleVoice to be a game changer?</title>
		<link>http://vengatctech.wordpress.com/2012/01/10/what-should-google-do-next-with-its-googlevoice-to-be-a-game-changer/</link>
		<comments>http://vengatctech.wordpress.com/2012/01/10/what-should-google-do-next-with-its-googlevoice-to-be-a-game-changer/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 18:28:11 +0000</pubDate>
		<dc:creator>vengatc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vengatctech.wordpress.com/2012/01/10/what-should-google-do-next-with-its-googlevoice-to-be-a-game-changer/</guid>
		<description><![CDATA[Will update my ideas here.., wait for it.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=187&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Will update my ideas here.., wait for it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vengatctech.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vengatctech.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vengatctech.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vengatctech.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vengatctech.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vengatctech.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vengatctech.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vengatctech.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vengatctech.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vengatctech.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vengatctech.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vengatctech.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vengatctech.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vengatctech.wordpress.com/187/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=187&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vengatctech.wordpress.com/2012/01/10/what-should-google-do-next-with-its-googlevoice-to-be-a-game-changer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa1f7569bf3e3baa9aab08ffcea03567?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vengatc</media:title>
		</media:content>
	</item>
		<item>
		<title>OPOA and RIA &#8211; What does it mean?</title>
		<link>http://vengatctech.wordpress.com/2011/06/14/opoa-and-ria-what-does-it-mean/</link>
		<comments>http://vengatctech.wordpress.com/2011/06/14/opoa-and-ria-what-does-it-mean/#comments</comments>
		<pubDate>Tue, 14 Jun 2011 07:13:49 +0000</pubDate>
		<dc:creator>vengatc</dc:creator>
				<category><![CDATA[Architecture]]></category>

		<guid isPermaLink="false">http://vengatctech.wordpress.com/?p=169</guid>
		<description><![CDATA[Recently there was a situation in my work place where we need to standarize or adopt patterns for UI.  And OPOA RIA was taken as a guidline after my recommendation, but  adopting this patterns literally is an offense you can do to the development unless the team totally understand what is conveyed by these terminologies&#8230; Following [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=169&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Recently there was a situation in my work place where we need to standarize or adopt patterns for UI.  And OPOA RIA was taken as a guidline after my recommendation, but  adopting this patterns literally is an offense you can do to the development unless the team totally understand what is conveyed by these terminologies&#8230;</p>
<p>Following was my explanation , im documenting it for it can be of use for other people who hit the same road&#8230;.</p>
<p><strong>[Explanation]</strong></p>
<p>What we are actually trying to do with these terminologies like RIA and OPOA is to get away from the traditional perspective of web development. We are using these terminologies as a guideline to help us validate if we are doing the right thing.</p>
<p>The crux is  that the web development strategy and technologies has evolved and hence the way we think about building the interfaces should also change.</p>
<p>The early  terminologies the industry used  were think and thin client, Desktop was considered thick because of its richness and the amount of  business logic  it carried with. The thin client were the once with  page by page flow where we sacrificed on the richness that a desktop application would offer for the sake of distributablity. Then market wanted distributablity and also the richness that the desktop client could offer, hence technologies like flex/flash and Silverlight were born.</p>
<p>&nbsp;</p>
<p>But  flex and flash were proprietary  technology and users of those technologies were at the mercy of the browser implementers (safari or IOS) people wanted to stick with standards that would work across all hardware/OS. Hence efforts were spent to have richness without sacrificing the distributablity , framework like YUI ( Yahoo user interface) was a result of it. YUI was  built on top of the standardized JavaScript and HTML which works on all browsers . ExtJS is an matured version of YUI , which helps use built the desktop like richness on the web without sacrificing the distributablity and it stands on standards (HTML &amp; JS).</p>
<p>&nbsp;</p>
<p>ExtJS was build to help people develop RIA (Rich Internet Application a.k.a Desktop like application on Browsers) as opposed to traditional web1.0 pages.  ExtJS  becomes a terrible/counter- productive tool if we look at it from the perspective of web flow and web1.o page flow….</p>
<p>&nbsp;</p>
<p>Hence Rich Internet Application / [One Page One Application]  are umbrella terms used for the UI designers/engineers to think web development in the terms of desktop application and have multiple functionality and actions in a single page and bring back the richness that desktop applications offered.</p>
<p>&nbsp;</p>
<p>&gt; it means we should only have one form (means one browser windows) for the whole application. Venky, am I right?</p>
<p>So in OPOA , What we call as application is subjective. You may choose to call the entire IRIS4 as one application, but someone else can choose to call CnC alone as a application and someone else can Choose to call a  group of command as one application.</p>
<p>More granular we go we tend to hit the web1.0 , at the highest form  we may lose multitasking ability, So we need to strike a balance  in between two and it is totally subjective.</p>
<p>So if we are able to do multiple things on a single page without refresh, and have the look and feel feels close to a desktop application we are in abiding to RIA and OPOA.</p>
<p>&nbsp;</p>
<p>If we need a guideline/rule to check our action we can ask this question every time we have a doubtà “<em>Will a desktop application do it this way?”</em></p>
<p>So in this case- opening multiple window…. : In that particular scenario will a desktop application open a new window to show the application functionality, if yes. Then I think we are good.</p>
<p><strong> [/Explanation]</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vengatctech.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vengatctech.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vengatctech.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vengatctech.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vengatctech.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vengatctech.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vengatctech.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vengatctech.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vengatctech.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vengatctech.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vengatctech.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vengatctech.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vengatctech.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vengatctech.wordpress.com/169/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=169&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vengatctech.wordpress.com/2011/06/14/opoa-and-ria-what-does-it-mean/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa1f7569bf3e3baa9aab08ffcea03567?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vengatc</media:title>
		</media:content>
	</item>
		<item>
		<title>NP-Complete problem&#8217;s Fun.</title>
		<link>http://vengatctech.wordpress.com/2011/05/22/np-complete-problems-fun/</link>
		<comments>http://vengatctech.wordpress.com/2011/05/22/np-complete-problems-fun/#comments</comments>
		<pubDate>Sun, 22 May 2011 18:04:03 +0000</pubDate>
		<dc:creator>vengatc</dc:creator>
				<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://vengatctech.wordpress.com/?p=159</guid>
		<description><![CDATA[Recently i had a discussion with my old college friends on Facebook, and we were posting technical questions that would tickle our brain and  help us re-live our college days&#8230; Following was my questions&#8230;. Posting it here  as it might help the reader of my blog understand one  beautiful characteristic of  NP Complete problem. Q: There are sets of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=159&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Recently i had a discussion with my old college friends on Facebook, and we were posting technical questions that would tickle our brain and  help us re-live our college days&#8230;</p>
<p>Following was my questions&#8230;. Posting it here  as it might help the reader of my blog understand one  beautiful characteristic of  NP Complete problem.</p>
<p><strong>Q: There are sets of problems, if i we find solution to one of them then we have solutions to all of them, what is the technical name for these problem class?</strong></p>
<p>There were multiple reply to it, one interesting one was design pattern&#8230;. Then the discussion went into clue (TSP) then we arrived at NP-Complete. Then the discussion went further into exponential Big-O time   etc&#8230; But I later sensed the wow factor the question had was gone as part of our discussions&#8230; I did some study to bring back the wow factor the question had. Following was my reply&#8230;</p>
<p>[Reply]</p>
<p>The real WOW factor that I had when I read these things in my college days is, “WHAT!!!!!! If I solve (in computer terms produce an effective Algo) for one of the problem in the problem class I can solve all of them? How nerdy would be the finder of such things be??? ” [I doubt if I have this level of curiosity now:) ]</p>
<p><em>These are the current characteristics of NP-Complete problems.</em><br />
<em>1) There is no known ALGO which can complete in polynomial time (in computational terms no BEST solutions ie. Best in the order of N….- &gt;LogN </em></p>
<p><em>2) If we can find solution (Algo –reasonable solution) to one of them you can solve All of them. (the real YAHOO!!! is here!!!}</em></p>
<p>It means a one NP-Complete problem can be transformed into another NP Complete problem in a polynomial time, isn’t that great. That is what the theorem claims.</p>
<p>It means if I solve one of the NP complete problems I can solve all from the NP Complete list…. http://en.wikipedia.org/wiki/List_of_NP-complete_problems . In other words if I solve the NP complete version of Traveling Sales Person problem I can transform all the other NP complete problems to traveling sales person problem and solve it in polynomial time.<br />
i.e … TSP == Solvable in polynomial time. Then I have solution (best Algo) to NP Complete version of Hamilton Path problem , which no one else has…. Because Hamilton Cycle Solution = Transform2TSP (Hamilton Cycle) (polynomial time) + Solve TSP = (Hence NP complete Hamilton cycle problem is solved in polynomial time) …</p>
<p>To state it practically&#8230;.if the Subset problem that vels mentioned is NP Complete then it can be converted to the corresponding TSP version in polynomial time and viseversa. (Yahoo!!!!!!!) . And if i have an solution (again a solution for computer programmers is good algo to solve the problem) to the subset problem i can solve TSP&#8230;</p>
<p>To make it more fun… see this picture <a href="http://vengatctech.files.wordpress.com/2011/05/np-complete1.png"><img class="aligncenter size-full wp-image-162" title="NP-Complete Fun" src="http://vengatctech.files.wordpress.com/2011/05/np-complete1.png?w=720" alt=""   /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vengatctech.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vengatctech.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vengatctech.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vengatctech.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vengatctech.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vengatctech.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vengatctech.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vengatctech.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vengatctech.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vengatctech.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vengatctech.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vengatctech.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vengatctech.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vengatctech.wordpress.com/159/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=159&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vengatctech.wordpress.com/2011/05/22/np-complete-problems-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa1f7569bf3e3baa9aab08ffcea03567?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vengatc</media:title>
		</media:content>

		<media:content url="http://vengatctech.files.wordpress.com/2011/05/np-complete1.png" medium="image">
			<media:title type="html">NP-Complete Fun</media:title>
		</media:content>
	</item>
		<item>
		<title>My bet on Technology&#8217;s future</title>
		<link>http://vengatctech.wordpress.com/2010/04/12/my-bet-on-technologys-future/</link>
		<comments>http://vengatctech.wordpress.com/2010/04/12/my-bet-on-technologys-future/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 04:35:38 +0000</pubDate>
		<dc:creator>vengatc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vengatctech.wordpress.com/?p=150</guid>
		<description><![CDATA[Telecom: Voice plans will be optional. Data plan will be what people pay for. Roi on Circuit switch Telecom network will be in negatives and packet networks will be a sharp increase. All voice will be voip. New Telecom service providers will be competing with traditional umts or cdma service providers with cheap wimax plans. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=150&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Telecom:</strong><br />
Voice plans will be optional. Data plan will be what people pay for. Roi on Circuit switch Telecom network will be in negatives and packet networks will be a sharp increase. All voice will be voip.<br />
New Telecom service providers will be competing with  traditional umts or cdma service providers with cheap wimax plans. Mobile phones will run on wimax and will be purely data.<br />
<strong><br />
Operating systems and gadgets:</strong><br />
Android will be ubiquitous on devices like windows on desktops. Apple iPhone OS will less than half of android market share.Android will run on TV sets, home appliances etc. Even cars will run android in them. Users will have gadget independent, meaning u mobile,TV,car will show chat notification, event notification, incoming call etc. User will be identified not by number but by profile it.<br />
A user can travel any where in the word after checkin into an hotel all he has to do is login With his profile I&#8217;d. TV, appliance, car etc will behave personally like his home.</p>
<p><strong>Entertainment:</strong><br />
On demand will be more common than today.  User will be able to save his preferred show schedule to his profile and retrieve it in any TV after login.<br />
Mobile will have similar content like TV. Cables will be a distant past. TV will also run on IP. There will be internet channel providers like Comcast who does it on cables and circuit. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vengatctech.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vengatctech.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vengatctech.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vengatctech.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vengatctech.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vengatctech.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vengatctech.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vengatctech.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vengatctech.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vengatctech.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vengatctech.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vengatctech.wordpress.com/150/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vengatctech.wordpress.com/150/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vengatctech.wordpress.com/150/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=150&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vengatctech.wordpress.com/2010/04/12/my-bet-on-technologys-future/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa1f7569bf3e3baa9aab08ffcea03567?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vengatc</media:title>
		</media:content>
	</item>
		<item>
		<title>Service oriented architecture (SOA) Governance</title>
		<link>http://vengatctech.wordpress.com/2009/08/22/service-oriented-architecture-soa-governance/</link>
		<comments>http://vengatctech.wordpress.com/2009/08/22/service-oriented-architecture-soa-governance/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 20:52:02 +0000</pubDate>
		<dc:creator>vengatc</dc:creator>
				<category><![CDATA[Architecture]]></category>

		<guid isPermaLink="false">http://vengatctech.wordpress.com/?p=135</guid>
		<description><![CDATA[SOA Governance Service oriented architecture  (SOA) , the latest advancement in software architecture and technology enabled architects to embrace the  best of distributed computing and open service architecture.  It allowed disparate teams to operate independently and publish their software artifacts for others to reuse. The ultimate business objective is achieved by the orchestra between independent [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=135&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>SOA Governance</strong></p>
<p>Service oriented architecture  (SOA) , the latest advancement in software architecture and technology enabled architects to embrace the  best of distributed computing and open service architecture.  It allowed disparate teams to operate independently and publish their software artifacts for others to reuse.</p>
<p>The ultimate business objective is achieved by the orchestra between independent artifacts talking to each other to achieve the overall systems object.</p>
<p><img class="alignnone size-full wp-image-143" title="Governance" src="http://vengatctech.files.wordpress.com/2009/08/soa.jpg?w=720" alt="Governance"   /></p>
<p><strong>Downside of SOA </strong></p>
<p>Though this orchestra between system increase reusable and increase modularisation , just like any other technology it has bought its own disadvantages with it.</p>
<p>This distributed nature allowed the software to scale to an extent that it is unmanageable. More over when the software artifact is highly distributed the interconnection these artifact have with each other  becomes complex. As the system grows in the SOA paradigm the coupling between independent system also grows. The result is the independent system which originally intended to be independent becomes dependent on each other because of a new problem which is introduced.</p>
<p>The provider  &amp; Consumer issue-  The provider system as it is open architecture allows unidentified consumers to consume their service. Being withing the same organization  the provider cannot modify or discontinue a service untile it is sure that its there are no consumer for the service which it intends to modify. The architecture which intented to advocate independence is actually hypocrate if it also does not have a way to govern the interconnections.</p>
<p>This brings in the need for a new area called SOA Governance.  A way to maintain a repository  of the sharable assets and that providers exposes and a the consumers of the assets. Governance should also give the ablity for the provider to maintain contract for the consumption with the consumers.</p>
<p>Governance is not achievable unless the needed process is introduced into the regular development process. And It should be supported with the needed tools to make it happen in the organization.</p>
<p>An exciting challenge that im designing and driving to get it done for my Organization. Once it is fully embraced by the organization and its people Govrnance becomes an intangible asset to the organization enabling it to fully realize the power of SO Architecture of software design.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vengatctech.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vengatctech.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vengatctech.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vengatctech.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vengatctech.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vengatctech.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vengatctech.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vengatctech.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vengatctech.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vengatctech.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vengatctech.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vengatctech.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vengatctech.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vengatctech.wordpress.com/135/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=135&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vengatctech.wordpress.com/2009/08/22/service-oriented-architecture-soa-governance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa1f7569bf3e3baa9aab08ffcea03567?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vengatc</media:title>
		</media:content>

		<media:content url="http://vengatctech.files.wordpress.com/2009/08/soa.jpg" medium="image">
			<media:title type="html">Governance</media:title>
		</media:content>
	</item>
		<item>
		<title>Framework for Business Intelligence over RRD files</title>
		<link>http://vengatctech.wordpress.com/2008/10/31/business-intelligence-over-rrd-files/</link>
		<comments>http://vengatctech.wordpress.com/2008/10/31/business-intelligence-over-rrd-files/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 16:55:28 +0000</pubDate>
		<dc:creator>vengatc</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[myideas]]></category>

		<guid isPermaLink="false">http://vengatctech.wordpress.com/?p=98</guid>
		<description><![CDATA[Not any of pentaho, Kettle or Talend supports RRD as a datasource for  Business Intelligence(BI). I have designed an Enterprise Information Integration  framework/layer over Multiple RRD datasource. This layer will allow the EII-RRD (the  solution) users to aggregate the data across multiple RRD files and do BI (average/Max/Min) functions on them. Problem statement: I will attempt [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=98&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">Not any of pentaho, Kettle or Talend supports RRD as a datasource for  Business Intelligence(BI). I have designed an Enterprise Information Integration  framework/layer over Multiple RRD datasource. This layer will allow the EII-RRD (the  solution) users to aggregate the data across multiple RRD files and do BI (average/Max/Min) functions on them.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US"><br />
</span></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">Problem statement:</span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US"><br />
</span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">I will attempt to give a brief description of the problem and the constrains to be considered before deciding a solution for it.</span></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">Round Robin Database- is a file base database used to store time and value pair. It is very much used in Network management Solutions where it need to record some values based on the time.  Eg. Network latency every 5 min. The database allows you to store average for various time intervals so that when you updated every 5 min, it automatically updates the hourly or daily averages. Pretty useful in performance management portion of NMS solutions.</span></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">Now what is the problem? Yes when you talk of Business Intelligence it is a matter of aggregating data across multiple sources and trying to co-relate to obtain some kind of information which is useful for decision making or analyzing.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">So here comes the problem statement- you will have RRD files pertaining to a protocol&#8217;s response time for an IP of particular network.  You will have multiple networks like that. So the BI here is given a time frame, grab the average response time of a particular protocol across all machines, in all network.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US"><br />
</span></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">Constrains to consider before designing.</span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US"><br />
</span></strong></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">The problem will be daunting and computational intensive when you consider the time and space complexity. The solution&#8217;s main focus is to address memory complexity the second is Time. Memory complexity is must solve and the timing complexity should be reduced to the point were horizontal scalability would kick in when the resource is limited.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US"><br />
</span></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">Crux of the solution:</span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US"><br />
</span></strong></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">Memory- I used the virtual memory concept of design here. I.e. Consider if the user queries like he needs the average graph from 1970-2008 for every 5 min interval imagine the memory that is going to allocated. i.e.. number of 5 mins between 1970 to 2008. </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US"><br />
</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">In my design the processing unit will read the time/value pairs from RRDs files and will hand it over to a  Virtual Memory layer. This Virtual Memory layer will promise the processing unit that it has the memory to store all the data (similar to the way the VM in OS does ) but it will allocate memory only if the data is available for that time interval. It is for sure im-material of the user&#8217;s request the data will be crowed in around 2008 time frames so the effective memory use will be very less. This kind of Virtual Memory like (promise you have more but do work for less) kind of design is some thing new brought into my design catalogue. It did break the memory issue from from GBs to 1 or 2 MB of usage.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US"><br />
</span></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">This virtual memory kind of design really helped solve the memory problem, and i loved it and will be using it in my future design.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US"><br />
</span></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">Time complexity and other aspects of the problem is  noting interesting as I solved it with my usual design experience no new learnings  there.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US"><br />
</span></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">Whats in it for you?</span></strong></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">Blog readers/architects, when ever you have a design for a problem</span></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">which allocates a huge chunk of memory in proportional to the input (or some system parameter which has no bounds)  to solve your problem  (and)  When you end up using only portion of it for actually solving the problem because of the distribution characteristics of the input data.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US"><br />
</span></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">Consider this virtual memory concept of design in your bouquet of design principles. It might help.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US"><br />
</span></p>
<p class="MsoNormal" style="margin:0;">
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US">For People who are tired of finding open source solutions or proprietary solutions doing BI on RRD , if you wish to get more insight into my solution or want to discuss any aspect of it contact </span><span style="font-size:16pt;color:black;font-family:Garamond;"><a href="mailto:vengateswaran.c@gmail.com"><span lang="EN-US">vengateswaran.c@gmail.com</span></a></span><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US"> . </span><span style="font-size:16pt;color:black;font-family:Garamond;">Only technical questions encouraged.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;color:black;font-family:Garamond;" lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:16pt;" lang="EN-US"><span style="font-family:Helvetica 55 Roman;"> </span></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vengatctech.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vengatctech.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vengatctech.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vengatctech.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vengatctech.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vengatctech.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vengatctech.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vengatctech.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vengatctech.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vengatctech.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vengatctech.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vengatctech.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vengatctech.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vengatctech.wordpress.com/98/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=98&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vengatctech.wordpress.com/2008/10/31/business-intelligence-over-rrd-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa1f7569bf3e3baa9aab08ffcea03567?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vengatc</media:title>
		</media:content>
	</item>
		<item>
		<title>Java Memory and Garbage Collection [GC] &#8211; Internals</title>
		<link>http://vengatctech.wordpress.com/2008/10/14/java-garbage-collection-gc-details/</link>
		<comments>http://vengatctech.wordpress.com/2008/10/14/java-garbage-collection-gc-details/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 23:42:17 +0000</pubDate>
		<dc:creator>vengatc</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://vengatctech.wordpress.com/?p=85</guid>
		<description><![CDATA[Java 5 has provided architects to scale applications memory wise based on the charactersitics of the application&#8217;s memory usage pattern. Java Garbage collector basics            The default GC of java is a serial collection GC. i.e when java decides to do the GC your application threads are suspended until the GC [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=85&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Java 5 has provided architects to scale applications memory wise based on the charactersitics of the application&#8217;s memory usage pattern.</p>
<p><strong>Java Garbage collector basics</strong></p>
<p>           The default GC of java is a <strong>serial collection GC. </strong><em>i.e when java decides to do the GC your application threads are suspended until the GC thread finishes.</em></p>
<p>Implications </p>
<p>           On a single processor machine, this type of GC is good , but on multiple processor machine this is a kill. Imagine  you have your Jboss or IBM WS that runs for banking project , for sure there would be a high hardware investment with muliple processor (not less than 12 processor machine).With this dedicated setup with serial collection your application that ran on 12 processor stops and only one processor is used for the GC activity. Ur applicaitn is in hault. So the throughput of the applicatino is directly impacted by your GC and it worsens with the increase in processors.</p>
<p>So it is a must to customize the GC collections , But remember until you understand the intricasis of the Java Heap and GC dont meddle with the GC collection,leave it to default because a non-expert is more likely to spoil than to increase the throughput.</p>
<p>See the throughput distribution in the below graph..</p>
<p><a href="http://vengatctech.files.wordpress.com/2008/10/fig5.gif"><img class="alignnone size-medium wp-image-87" title="fig5" src="http://vengatctech.files.wordpress.com/2008/10/fig5.gif?w=300&#038;h=226" alt="" width="300" height="226" /></a></p>
<p><strong>Java garbage collection design</strong></p>
<p>     What would you do if you are given a chance to decide the GC. IF you have a serial algorithm to sweep to all the objects in the memory and then dealocate the unreferenced objects then the BigO of the algorithm  you design is directly propositonal to the nubmer of objects in the memory. So the time complexity of the algo you design will worsen for larger system.</p>
<p>How Sun Microsystem gets across with this Time complexity issue???</p>
<p>As far as memory conceptions is concerned based on research it is identified that the young object has the highest probability to die first. That means if an object is created recently it is more likely to die first than an object that has survived for a while. Current GC algo efficiently uses this principle of memory usage to product better BigO numbers.</p>
<p>Entire Jave Heap is seggregated into multiple segment to take advantage of this young die first fact.</p>
<p><a href="http://vengatctech.files.wordpress.com/2008/10/fig4.gif"><img class="alignnone size-large wp-image-88" title="fig4" src="http://vengatctech.files.wordpress.com/2008/10/fig4.gif?w=470&#038;h=261" alt="" width="470" height="261" /></a></p>
<p>The figure shows how the heap is seggregated, The entire Heap is seperated into Young, Tenured and Perm space.</p>
<p>GC algo is split into minor and major runs.</p>
<p>Minor run does GC only in the Young space, and major run does GC on Both Young and Tenured space. That is Major run is the maximum time a GC could take and we dont want this to run that often. To avoid doing the major runs , Java GC uses the Young die first fact and runs GC on the Young space. IF the object survives the run it is moved to Tenured. When Tenured is filled then Major run is triggered. This means major run is mostly avoided.</p>
<p><strong>What this implies for architects?</strong></p>
<p>          Intelligently manupulating the young and Tenured size we can inpact the various characteristics of the application.</p>
<p>1. Frequency of GC runs.</p>
<p>2. Time taken for the GC to complete its run.</p>
<p>3. Throughput of the application.</p>
<p>Im not going to explain why it is impacted, readers are expected to understand the relation at this portion of the turtorial.</p>
<p>Java 5 provides you ablity to maniupalte the relative size of the memory segments.</p>
<p><strong>What next?</strong></p>
<p>      Yes i agree the throughput problem of the serial collector is still open. Java 5 has allowd us to tackle this by providing 2 alternative GC Algos to the traditional Serial Collector method.</p>
<p>1. Throughput collector</p>
<p>2.  Concurrent Low Pause Collector</p>
<p>I will attempt to give a short decription of the Above collectors</p>
<p><strong>1. </strong><strong><em>Throughput collector</em></strong></p>
<p>        The throughput collector is a generational collector similar to the serial collector but with multiple threads used to do the minor collection. The major collections are essentially the same as with the serial collector. By default on a host with <em>N</em> CPUs, the throughput collector uses <em>N</em> garbage collector threads in the minor collection. The number of garbage collector threads can be controlled with a command line option (see below). On a host with 1 CPU the throughput collector will likely not perform as well as the serial collector because of the additional overhead for the parallel execution (e.g., synchronization costs). On a host with 2 CPUs the throughput collector generally performs as well as the serial garbage collector and a reduction in the minor garbage collector pause times can be expected on hosts with more than 2 CPUs.</p>
<p>2.<strong><em> Concurrent Low Pause Collector</em></strong></p>
<p>The concurrent low pause collector is a generational collector similar to the serial collector. The <em>tenured</em> generation is collected concurrently with this colle<strong><span style="font-weight:normal;">ctor. This means the pause in the application is close to nil.</span></strong></p>
<p> </p>
<p> </p>
<p><strong>Aspiring memory manupulators:)</strong></p>
<p>To start with just observe the memory conceptions of your software system. </p>
<p>java -verbose:gc xyz.jar</p>
<p><span style="font-family:'Courier New', Courier, mono;">[GC 325407K-&gt;83000K(776768K), 0.2300771 secs]</span> <br />
<span style="font-family:'Courier New', Courier, mono;">[GC 325816K-&gt;83372K(776768K), 0.2454258 secs]</span> <br />
<span style="font-family:'Courier New', Courier, mono;">[Full GC 267628K-&gt;83769K(776768K), 1.8479984 secs</span></p>
<p><strong>Conclusion</strong></p>
<p>Gather enough understanding of the GC behaviour of your system against the hardware. Just remember a system that is best in Single process will be a pain in Multiprocessor.  And the system that is in good in Multiprocessor will be a kill in single. And the effeciency also differs with the applicaitn characterstics.  So leave it to default until you are confortable with the details. </p>
<p>So GC tuning by architects is a ever on task through out the lifecycle of the project. And it requires practics.</p>
<p>Reference :<a href="http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html">http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html</a></p>
<p>As always technical queries alone accepted regarding GC tuning at vengateswaran.c@gmail.com</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vengatctech.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vengatctech.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vengatctech.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vengatctech.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vengatctech.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vengatctech.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vengatctech.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vengatctech.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vengatctech.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vengatctech.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vengatctech.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vengatctech.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vengatctech.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vengatctech.wordpress.com/85/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=85&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vengatctech.wordpress.com/2008/10/14/java-garbage-collection-gc-details/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa1f7569bf3e3baa9aab08ffcea03567?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vengatc</media:title>
		</media:content>

		<media:content url="http://vengatctech.files.wordpress.com/2008/10/fig5.gif?w=300" medium="image">
			<media:title type="html">fig5</media:title>
		</media:content>

		<media:content url="http://vengatctech.files.wordpress.com/2008/10/fig4.gif?w=470" medium="image">
			<media:title type="html">fig4</media:title>
		</media:content>
	</item>
		<item>
		<title>Framework &#8211; Enterprise Information Integration (EII) that I developed</title>
		<link>http://vengatctech.wordpress.com/2008/10/10/framework-enterprise-information-integration-eii-that-i-developed/</link>
		<comments>http://vengatctech.wordpress.com/2008/10/10/framework-enterprise-information-integration-eii-that-i-developed/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 20:24:48 +0000</pubDate>
		<dc:creator>vengatc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vengatctech.wordpress.com/?p=82</guid>
		<description><![CDATA[Again a challenge in my current job , here I have a sandwidched role of an architect and a Senior Engineer .I have no scope for giving escuses but crack all the problem that come in the way in achieving what we want. Requirement Here we are building a datacenter based project where all the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=82&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Again a challenge in my current job , here I have a sandwidched role of an architect and a Senior Engineer .I have no scope for giving escuses but crack all the problem that come in the way in achieving what we want.</p>
<p><strong>Requirement</strong></p>
<p>Here we are building a datacenter based project where all the customers internal network information will recide in our company datacenter. So each customer will have his instance of database in the datacenter. Yeah i hear what you say&#8230; having instances of databases is a kill.. but we have to choose this so to cut down lot of development effort. So money (Vs) Design huristics??? Money wins.</p>
<p>Problem.</p>
<p>Everything goes good in having a seperate instances of a database until there is no need to aggregate information across multiple databases. We wanted to do BI on the available data. But consider the in numberable databases we have in the datacenter we need a way to run query across databases. I mean a mean to run a same query across databases. I evaluated ETL tools like Kettle, Talend etc. I also tried to hack MYSQL to have a datagreegation layer in easiest way.. But nothing helped, no of the technologies i explored was crisp and clear to my requirement.</p>
<p>In short. I need a tool that takes my query .. aggregates data from mulitple databases, the number of datasources will be increaseing in runtime &#8230; and stil have a unified facade kind of simple interface.</p>
<p><strong>Solution</strong></p>
<p>Again as usual&#8230; I never give up any oppurtunity in get for writing any innovative frameworks solving business problems. I choose to write the EII(Real time data aggregation framework)from scratch.</p>
<p>(More info on this work&#8230; will be updated&#8230; got a important work to attend&#8230;)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vengatctech.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vengatctech.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vengatctech.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vengatctech.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vengatctech.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vengatctech.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vengatctech.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vengatctech.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vengatctech.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vengatctech.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vengatctech.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vengatctech.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vengatctech.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vengatctech.wordpress.com/82/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=82&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vengatctech.wordpress.com/2008/10/10/framework-enterprise-information-integration-eii-that-i-developed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa1f7569bf3e3baa9aab08ffcea03567?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vengatc</media:title>
		</media:content>
	</item>
		<item>
		<title>Framework &#8211; To do realtime data replication for postgres across firewall</title>
		<link>http://vengatctech.wordpress.com/2008/10/06/database-replication-on-postgres-across-firewall-framework/</link>
		<comments>http://vengatctech.wordpress.com/2008/10/06/database-replication-on-postgres-across-firewall-framework/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 22:11:23 +0000</pubDate>
		<dc:creator>vengatc</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[myideas]]></category>
		<category><![CDATA[replication]]></category>

		<guid isPermaLink="false">http://vengatctech.wordpress.com/?p=66</guid>
		<description><![CDATA[Just wanted to write about a recent framework I developed for database replication with postgres. For readers it would give you an idea to think in this direction if you come across this problem. Requirement We had a requirement to replicate data realtime from a postgres database from multiple machines which reside  inside a firewall [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=66&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just wanted to write about a recent framework I developed for database replication with postgres. For readers it would give you an idea to think in this direction if you come across this problem.</p>
<p><strong>Requirement</strong></p>
<p>We had a requirement to replicate data realtime from a postgres database from multiple machines which reside  inside a firewall to a cloud server on the internet.  We evaluated various technologies and tools available on market ,  every solution we came across requires us  to open up port in the firewall. And most of it are not real time.  Most of the tools that we saw in market were ETL kind of tool where you take the data in a batch and replicate it , more over it will not work across  firewall. I was architecting this product , and i have to come up with a solution no matter what.<strong>I opted to write my own framework. </strong></p>
<p>Im a strong believer of build the solution in mind/paper before doing the  code. So i have to develop a replication system that would run onvarious machine and which would replicate data to the central server. </p>
<p>Im not going to mention the thought process that i put in for each design decision i have taken , but im going to mention what is the end result.</p>
<p><strong>Step 1</strong>. I cracked the JDBC libary of postgres, Took the source code from Postgres opensource repository and i read the code flow of the JDBC driver of the postgres.</p>
<p><strong><em>Static statement Vs Prepared statement&#8230; issue.</em></strong></p>
<p>Java program would use the jdbc libary to construct a static SQL statement or a prepared statement. When it is a static SQL query you have the query in hand. But when it is a prepared statement is it actually inside teh JDBC driver code where the actual Query is prepared before sending to the native methods to postgres. </p>
<p>I had figured out a place where the entire query leaves the JDBC diver to the native funtions to the database. There i have written a queue to sniff all the querys that leaves the system.</p>
<p>For technical queries regarding sniffing the query from driver  write 2 vengateswaran.c@gmail.com</p>
<p><strong>Step 2</strong>. Now that I have a queue of the sniffed query i have to ship it across to the server which is across firewall. So WebService comes to resque here. I published a webservice at the Server to accept query and the client identifier and replicate create the connection and issue the query to the database.</p>
<p><strong>Step 3</strong>: So have written a engine that woudl take the queued query at the client end and ship the query to the server across across firewall through webservice. And the server end of the webservice would fire the same query on the server end. </p>
<p>Multiple client (Master) postgres databases were able to replicate real time data to a single database cluster on the server.</p>
<p>Very high level design.</p>
<p><a href="http://vengatctech.files.wordpress.com/2008/10/d1.jpg"><img class="alignnone size-medium wp-image-69" title="Postgres Database replication framework-Highlevel design" src="http://vengatctech.files.wordpress.com/2008/10/d1.jpg?w=288&#038;h=300" alt="" width="288" height="300" /></a></p>
<p>After end of regrous design and implementation and performance testing, the framework that I designed and implemented effeciently replicates databases from multiple machines into the cloud server across firewall. It really scales up well&#8230;.to make me happy.</p>
<p>Feel free to contact me[ vengateswaran.c@gmail.com] if you need more insight on the technical aspects of the framework. Only technical queries invited.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vengatctech.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vengatctech.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vengatctech.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vengatctech.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vengatctech.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vengatctech.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vengatctech.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vengatctech.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vengatctech.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vengatctech.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vengatctech.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vengatctech.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vengatctech.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vengatctech.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=66&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vengatctech.wordpress.com/2008/10/06/database-replication-on-postgres-across-firewall-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa1f7569bf3e3baa9aab08ffcea03567?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vengatc</media:title>
		</media:content>

		<media:content url="http://vengatctech.files.wordpress.com/2008/10/d1.jpg?w=288" medium="image">
			<media:title type="html">Postgres Database replication framework-Highlevel design</media:title>
		</media:content>
	</item>
		<item>
		<title>JVM instrumentation &#8211; Performance tuning</title>
		<link>http://vengatctech.wordpress.com/2008/10/03/jvm-instrumentation-performance-tuning/</link>
		<comments>http://vengatctech.wordpress.com/2008/10/03/jvm-instrumentation-performance-tuning/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 23:17:21 +0000</pubDate>
		<dc:creator>vengatc</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Performance tuning]]></category>

		<guid isPermaLink="false">http://vengatctech.wordpress.com/?p=58</guid>
		<description><![CDATA[Performance monitoring Sun has done an excelent work in integrating remote management into JVM. They have build in SNMP Agent like  capablity into the JVM. The SNMP OID is synonomous to the MBeans and SNMP MIB is synonomous to the MBean Server. This beautiful capability allows you to connect to the JVM and monitor the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=58&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Performance monitoring </strong></p>
<p>Sun has done an excelent work in integrating remote management into JVM. They have build in SNMP Agent like  capablity into the JVM. The SNMP OID is synonomous to the MBeans and SNMP MIB is synonomous to the MBean Server.</p>
<p>This beautiful capability allows you to connect to the JVM and monitor the crime we have done in the code with regard to the run time memory/CPU and thread utilization. I became a lover of this feature. I always thought to build this capability into the applications we build. This feature is a  real bliss for architects.</p>
<p><strong>Head on Jump</strong></p>
<p>To have a first hand experience with the JVM instrumentation , just follow the simple steps&#8230;</p>
<p>1. Have Java 5.0 installed in your system and create an java program that runs until you forcefully stop it. If you have a framework with threadpools, resource management etc.. it is a good example.</p>
<p>2. Run your java program with this additional parameter.</p>
<p>Java -Dcom.sun.management.jmxremote  xyz.jar</p>
<p>This command publishes the MBServer in the JVM as a RMI resource for the Jconsole to connect to.</p>
<p>3. Start Jconsole and connect to the Program in your connection dialogue box.</p>
<p><a href="http://vengatctech.files.wordpress.com/2008/10/jvm.jpg"><img class="alignnone size-large wp-image-59" title="jvm performance monitoring." src="http://vengatctech.files.wordpress.com/2008/10/jvm.jpg?w=470&#038;h=352" alt="" width="470" height="352" /></a></p>
<p>Jconsole will alow you to monitor the Memory used and the threads used. Identify deadlocks etc etc..</p>
<p>See the peformance scaling for an Enterprise Information Integration framework that i recently wrote.. This is a heavy ETL and EII kind of tool that aggregate data from multiple databases. You would difinitly need to have some performance numbers for its production run.  jconsole tool would help you prove the roboustness your ur framework by showing the memory and thread occupancy and how controlled they are admist heavy load on the framework.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vengatctech.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vengatctech.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vengatctech.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vengatctech.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vengatctech.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vengatctech.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vengatctech.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vengatctech.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vengatctech.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vengatctech.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vengatctech.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vengatctech.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vengatctech.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vengatctech.wordpress.com/58/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vengatctech.wordpress.com&amp;blog=4587000&amp;post=58&amp;subd=vengatctech&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vengatctech.wordpress.com/2008/10/03/jvm-instrumentation-performance-tuning/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa1f7569bf3e3baa9aab08ffcea03567?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vengatc</media:title>
		</media:content>

		<media:content url="http://vengatctech.files.wordpress.com/2008/10/jvm.jpg?w=470" medium="image">
			<media:title type="html">jvm performance monitoring.</media:title>
		</media:content>
	</item>
	</channel>
</rss>
