<?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>Blogs from RTI &#187; Jens Pillgram-Larsen</title>
	<atom:link href="http://blogs.rti.com/author/rtijens/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.rti.com</link>
	<description>The Real-Time Middleware Experts</description>
	<lastBuildDate>Thu, 05 Jan 2012 07:49:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blogs.rti.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Blogs from RTI &#187; Jens Pillgram-Larsen</title>
		<link>http://blogs.rti.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blogs.rti.com/osd.xml" title="Blogs from RTI" />
	<atom:link rel='hub' href='http://blogs.rti.com/?pushpress=hub'/>
		<item>
		<title>Persisting data in a Real-Time distributed system</title>
		<link>http://blogs.rti.com/2009/06/26/persisting-data-in-a-real-time-distributed-system/</link>
		<comments>http://blogs.rti.com/2009/06/26/persisting-data-in-a-real-time-distributed-system/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 17:29:45 +0000</pubDate>
		<dc:creator>Jens Pillgram-Larsen</dc:creator>
				<category><![CDATA[Best practices]]></category>

		<guid isPermaLink="false">http://blogs.rti.com/?p=163</guid>
		<description><![CDATA[Most of the distributed systems we deal with at RTI have performance constraints at their core. Either the system is pushing the limits of the available resources, or the action-reaction timing is critical for a given event. In other words the constraint might be on throughput or latency (or increasingly latency vs. throughput). In these [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=163&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Most of the distributed systems we deal with at RTI have performance constraints at their core. Either the system is pushing the limits of the available resources, or the action-reaction timing is critical for a given event. In other words the constraint might be on throughput or latency (or increasingly latency vs. throughput). In these kinds of systems persisting data is a real challenge. In many systems it is becoming a requirement that the distributed data is persisted. Take for example flight systems and automated trading systems, where persisting data is necessary to adhere to regulatory demands. At RTI we have set out to make persisting distributed data as minimally intrusive, performant and configurable as possible.</p>
<p><span id="more-163"></span></p>
<p><strong>Recording Data</strong></p>
<p>The simplest case of persisting data in a distributed system is recording the data to a file system. This can be done locally for each node, or centrally on a &#8220;recording&#8221; node. Each system setup solves different problems. Persisting local state on each node allows you to recover from a local crash by reading that state during recovery. Recording all the data on a centralized node allows you to query the entire set of data recorded (not just the subset any node would see) to find patterns or anomalies, or do a post-mortem on a system failure.</p>
<p>Locally each RTI Data Distribution Service publisher or subscriber keeps samples in queues. To allow for local persistence a mirror of these in-memory queues can be kept on disk. After a crash the publishers and subscribers can then be created with the same state as they had before the crash.</p>
<p>Centrally you can run RTI Recorder that can be configured to subscribe to interesting data (or all data for that matter) and write it to a file system. This data can then be queried either in real-time or during off-peak hours. As an aside RTI Data Distribution Service and RTI Recorder have countless flight hours on mission critical systems!</p>
<p><strong>Connecting the Distributed System to an Enterprise Database</strong></p>
<p>In some cases simply having the data on a file system is not enough &#8212; the full power of an enterprise database is needed. At RTI we have solved this by having RTI Real-Time Connect for ODBC enabled databases. Now you can use RTI Data Distribution Service to implement a distributed database, or utilize a database for your persistent storage needs. This allows you to use any tool or query you are familiar with to work with a distributed set of data. The possibilities are literally endless!</p>
<p>No matter what the use-case &#8212; recovery, logging, post-mortem analysis or database integration &#8212; persisting real-time distributed data is here to stay. The challenge is persisting the data with minimal intrusiveness on the real-time aspects of the system. At RTI we work hard to make that happen.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rtidds.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rtidds.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rtidds.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rtidds.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rtidds.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rtidds.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rtidds.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rtidds.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rtidds.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rtidds.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rtidds.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rtidds.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rtidds.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rtidds.wordpress.com/163/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=163&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.rti.com/2009/06/26/persisting-data-in-a-real-time-distributed-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e00128a3acff96b6109e5eb199b039a6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jens</media:title>
		</media:content>
	</item>
		<item>
		<title>Complex Event Processing – Making sense of all your data</title>
		<link>http://blogs.rti.com/2009/05/27/complex-event-processing-%e2%80%93-making-sense-of-all-your-data/</link>
		<comments>http://blogs.rti.com/2009/05/27/complex-event-processing-%e2%80%93-making-sense-of-all-your-data/#comments</comments>
		<pubDate>Thu, 28 May 2009 00:41:52 +0000</pubDate>
		<dc:creator>Jens Pillgram-Larsen</dc:creator>
				<category><![CDATA[Best practices]]></category>
		<category><![CDATA[Ecosystem]]></category>

		<guid isPermaLink="false">http://blogs.rti.com/?p=143</guid>
		<description><![CDATA[So you have a distributed system and you’re happily sending data between nodes in your system. The consumer applications are consuming the data your producer applications are producing, and everything is running smoothly. Now, that doesn’t sound like any system you know does it? Distributed systems are by nature complex. Nodes and applications are not [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=143&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So you have a distributed system and you’re happily sending data between nodes in your system. The consumer applications are consuming the data your producer applications are producing, and everything is running smoothly. Now, that doesn’t sound like any system you know does it? Distributed systems are by nature complex. Nodes and applications are not straight producers or consumers; they’re a bit of both. And there’s always some resource contention. This is where Complex Event Processing (CEP) comes on the scene. CEP allows you to run queries on streams of data in real-time, either transforming the data or triggering alerts based on data content. Let me explain by talking about a couple of use cases.</p>
<p><span id="more-143"></span>Let’s say you have a large distributed system where data is being exchanged between nodes and applications. You’re finding that some of your applications are getting starved for data, but everything looks fine in the network – there are only a few lost packets and plenty of bandwidth available.  The next step is moving up the stack to see what’s going on with the networking middleware. Now, if you’re lucky enough to have a well-behaved middleware like RTI Data Distribution Service, there are ways to retrieve detailed statistics about the communication channels. Passing this information through a CEP engine you can write queries that determine when and where you have a slow producer or consumer in your system that is clogging everything up.</p>
<p>Another common use-case is event correlation. Seemingly disparate events may not be, and corroborating can trigger pattern based alerts. Anyone who’s watched a Hollywood spy movie knows this – increased cell-phone chatter coupled with certain keywords and the change in behavior of suspected operatives means something bad is likely going to happen. Using CEP events can be monitored and corroborated in real-time and alerts sent out when the situation warrants it.</p>
<p>CEP is an incredibly powerful technology, and with increasing data rates it is a technology that should be watched carefully in the next couple of years.</p>
<p>Go check out RTI Event Processing at http://www.rti.com/products/rtievent_processing/ for an integration between RTI Data Distribution Service and Complex Event Processing.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rtidds.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rtidds.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rtidds.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rtidds.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rtidds.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rtidds.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rtidds.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rtidds.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rtidds.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rtidds.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rtidds.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rtidds.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rtidds.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rtidds.wordpress.com/143/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blogs.rti.com&amp;blog=7350090&amp;post=143&amp;subd=rtidds&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blogs.rti.com/2009/05/27/complex-event-processing-%e2%80%93-making-sense-of-all-your-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e00128a3acff96b6109e5eb199b039a6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Jens</media:title>
		</media:content>
	</item>
	</channel>
</rss>
