<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Surendra Verma: Vista Transactional File System</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System/RSS"></atom:link>
	<image>
		<url>http://ecn.channel9.msdn.com/o9/previewImages/100/138661_100x75.jpg</url>
		<title>Channel 9 - Surendra Verma: Vista Transactional File System</title>
		<link></link>
	</image>
	<description>Surendra Verma, Development Manager on the Vista Kernel team, digs into Vista&#39;s new Transactional File System whith Charles Torre. TxF, as it is referred to internally, is a new kernel construct that is part of an updated Vista&amp;nbsp;NTFS.&amp;nbsp;Surendra provides
 a high level overview of TxF in this video. We will continue&amp;nbsp;to look under the hood in future Going Deep episodes&amp;nbsp;with interviews with developers working on the Kernel Transaction Manager, a key&amp;nbsp;component of TxF, which Surendra touches on during the white
 board session, which is a Going Deep requirement.Enjoy.&amp;nbsp;</description>
	<link></link>
	<language>en</language>
	<pubDate>Wed, 19 Jun 2013 07:43:44 GMT</pubDate>
	<lastBuildDate>Wed, 19 Jun 2013 07:43:44 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[Thanks Charles for contiuning the work on going deep series.<br /><br />I'd probably have to see the video couple of times to wrap my head around it (this is first real informative video / article on this topic. Had some news articles/blogs mention it but not in great detail).<br /><br />Just had a burning question - the managed APIs are part of the .net framework (2.0 RTM) correct? There was talk about them being in WinFX which didn't make sense to me (WinFX = Avalon, Indigo, Workflow). Also, are they available only on Vista? (if so, are they
 in the framework or the Vista managed SDK)<br /><br />Any blogs or whitepapers on this subject? Would love to see people talk about real-world usage and places where it makes more sense to use this than to use traditional system calls (given the cost of using transactions).<br /><br />- Keeron<p>posted by keeron</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632691566420000000</link>
		<pubDate>Fri, 02 Dec 2005 21:44:02 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632691566420000000</guid>
		<dc:creator>keeron</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[I haven't watched the video yet. It's downloading, but at this time of year I'm far too busy with school to find an hour to sit down and watch a good Channel 9 video.<br /><br />Keeron - If I'm not mistaken, the managed Vista API is a part of WinFX, which may be of some help.<br /><p>posted by Tyler Brown</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632691738320000000</link>
		<pubDate>Sat, 03 Dec 2005 02:30:32 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632691738320000000</guid>
		<dc:creator>Tyler Brown</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[
<blockquote>
<div>keeron wrote:</div>
<div>Would love to see people talk about real-world usage and places where it makes more sense to use this than to use traditional system calls (given the cost of using transactions).&nbsp;</div>
</blockquote>
<br /><br />What kind of program would not have any benefit of this? There are certain processes where one should not use a&nbsp;transaction over the whole process&nbsp;(if power fails, you'd not want to undo what you managed to record of ...for example, an&nbsp;important event), but
 even inside that process you could use it in more fine grained way, to keep your live video file recording in a consistent state so it would work without any &quot;rebuilding of index&quot; or such if power fails middle of the recording.
<br /><br />The performance is probably fine if you have one of those hybrid hard drives. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /><br /><br /><p>posted by androidi</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632691871590000000</link>
		<pubDate>Sat, 03 Dec 2005 06:12:39 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632691871590000000</guid>
		<dc:creator>androidi</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[In reply to &quot;Just had a burning question - the managed APIs are part of the .net framework (2.0 RTM) correct? There was talk about them being in WinFX which didn't make sense to me (WinFX = Avalon, Indigo, Workflow). Also, are they available only on Vista?
 (if so, are they in the framework or the Vista managed SDK)&quot;<br /><br /><br /><br />That's not WinFX (it's not WCF&#43;WPF&#43;WWF at all).&nbsp; That's part of WinFX.&nbsp; WinFX is the new Microsoft API and as such it's the go to card for general future development.&nbsp; The .NET FX is considered part of the WinFX model as well.&nbsp; This is why, when I teach .NET,
 I never say &quot;.NET&quot; I always refer to managed code as &quot;WinFX&quot; because I'm teaching the API in general even though nothing in my WinFX course has ANYTHING to do with WCF, WPF, or WWF.&nbsp; It's still WinFX.<br /><br />That said, WinfX is different things to different people.&nbsp; For instance to a marketing person WinFX might be WCF, WPF, WWF, but to the architects and developers it's the new world of development.&nbsp; Not a technical idea, or anything like that, but a new model,
 a new mindset, and a fully new API for development and architecture.<br /><br />www.davidbetz.net/dotnetcourse/<br /><p>posted by davidbetz</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632692428310000000</link>
		<pubDate>Sat, 03 Dec 2005 21:40:31 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632692428310000000</guid>
		<dc:creator>davidbetz</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[
<p>What is the difference between a transactional file system and a journaling file system, if any?</p>
<p>&nbsp;</p>
<p>posted by koki</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632692594930000000</link>
		<pubDate>Sun, 04 Dec 2005 02:18:13 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632692594930000000</guid>
		<dc:creator>koki</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[A journaling file system will ensure that individual metadata changes are atomic (such as creating directory entries, renaming files, etc.).&nbsp; It only applies to one change.&nbsp; If your system crashes, the file structure itself will be correct, but the data
 in your files might not be.<br /><br />A logging file system (terminology is sometimes different), both the metadata and the actual data are journaled.&nbsp; This allows it to make sure the contents of the file are correct, but it still only works on one operation.<br /><br />A transactional file system (AFAICT for Vista) will do both data and metadata over many modifications.&nbsp; So, you can create&nbsp;and modify many files atomically (either everything is done or nothing is done).<br /><br />It's nice to see Microsoft moving us out of the stone age.&nbsp; Trying to write safe file-system modification routines on most file systems is tricky (using atomic rename tricks and such) and requires a lot of &quot;check for cleanup&quot; code during startup if you want
 to handle it properly.&nbsp; I work on systems that cannot fail (embedded systems where nobody can administrate them), and would really love something like this.<br /><br /><p>posted by ehuss</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632693227720000000</link>
		<pubDate>Sun, 04 Dec 2005 19:52:52 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632693227720000000</guid>
		<dc:creator>ehuss</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[The managed APIs are available in Whidbey running on top of Vista.<br />A good reference to these is at <a title="<a href="http://msdn2.microsoft.com/library/a90c30fy(en-us,vs.80">http&#58;&#47;&#47;msdn2.microsoft.com&#47;library&#47;a90c30fy&#40;en-us,vs.80</a>).aspx" href="<a href="http://msdn2.microsoft.com/library/a90c30fy(en-us,vs.80">http&#58;&#47;&#47;msdn2.microsoft.com&#47;library&#47;a90c30fy&#40;en-us,vs.80</a>).aspx">
<strong><a href="http://msdn2.microsoft.com/library/a90c30fy(en-us,vs.80">http&#58;&#47;&#47;msdn2.microsoft.com&#47;library&#47;a90c30fy&#40;en-us,vs.80</a>).aspx<br /></strong></a><br />There's also a BLOG entry with a code sample here:<br /><br /><a title="http://pluralsight.com/blogs/jimjohn/archive/2005/09/13/14803.aspx" href="http://pluralsight.com/blogs/jimjohn/archive/2005/09/13/14803.aspx"><strong>http://pluralsight.com/blogs/jimjohn/archive/2005/09/13/14803.aspx</strong></a><br /><br />Note that you can also write unmanaged code and access this functionality.<br /><br />There's some preliminary MSDN&nbsp;documentation here:<br /><br /><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/overview_of_the_transactional_ntfs_programming_model.asp">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/overview_of_the_transactional_ntfs_programming_model.asp</a><p>posted by SurendraVerma</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632694167120000000</link>
		<pubDate>Mon, 05 Dec 2005 21:58:32 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632694167120000000</guid>
		<dc:creator>SurendraVerma</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[Another BLOG on this is here: <br /><br /><a href="http://blogs.msdn.com/because_we_can/archive/2005/05/26/422390.aspx">http://blogs.msdn.com/because_we_can/archive/2005/05/26/422390.aspx</a><p>posted by SurendraVerma</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632695183570000000</link>
		<pubDate>Wed, 07 Dec 2005 02:12:37 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632695183570000000</guid>
		<dc:creator>SurendraVerma</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[Wow--I can't wait to see this technology in widespread use!<br /><br />In the interview, you alluded to the tight integration between NTFS and TxF. I am wondering how far this goes? In particular, as hard disks become more intelligent (e.g. native command queuing and hybrid flash/conventional disks), does TxF include special code
 to benefit from these features, or does it benefit indirectly, through NTFS?<br /><br />Thanks,<br /><br />- James<p>posted by JamesDobson</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632695269230000000</link>
		<pubDate>Wed, 07 Dec 2005 04:35:23 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632695269230000000</guid>
		<dc:creator>JamesDobson</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[You talk about the performance cost of transactions...for applications that do not need transactions (not all applications do), can an application not use the transaction features and recoup the performance hit?<br /><p>posted by ph</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632727575410000000</link>
		<pubDate>Fri, 13 Jan 2006 13:59:01 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632727575410000000</guid>
		<dc:creator>ph</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[
<blockquote>
<div>ph wrote:</div>
<div>You talk about the performance cost of transactions...for applications that do not need transactions (not all applications do), can an application not use the transaction features and recoup the performance hit?<br /></div>
</blockquote>
I'm pretty sure Verma said you can still use traditional file operations when you don't need transactional guarantees; both are supported. However, any changes that are committed by another transactional action will show up for any app using non-transactional
 operations on the same file. So, use transactional operations if you need a guaranteed state either when reading or writing, otherwise, using traditional file operations are your best for less overhead. Or you can just do what the pros do, and wave a magnet
 over the platters in the correct sequence <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /><p>posted by zephc</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632728290770000000</link>
		<pubDate>Sat, 14 Jan 2006 09:51:17 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632728290770000000</guid>
		<dc:creator>zephc</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[There is most definitely a performance-hit involved with this (I'm not lucky enough to have one of the forthcoming hybrid disks).&nbsp; I use a Lenovo T60p to do software development for the Jboss application server.&nbsp; The specs (that matter) are:<br /><br />Core Duo T2500 @ 2.0 GHz<br />2 GB RAM (DDR2-667)<br />100 GB 7200 RPM SATA HDD<br /><br />Under plain Windows XP, the time to bring the server up and deploy the webapps is about 45 seconds on average.&nbsp; Using Windows Vista (the drivers installed between the two OS's are as comparable as I could get them to me), the exact same process takes 65 seconds
 on average.&nbsp; That's almost a 50% increase, and the only real variable between the two is that Win XP is a non-transactional filesystem, while Vista is transactional.&nbsp;&nbsp;&nbsp;<br /><br />Starting the server and deploying webapps is&nbsp;a highly filesystem-bound operation, as my desktop with the following specs:<br /><br />Athlon 64 X2 3800&#43; @ 2.4 GHz<br />1 GB RAM (DDR-522)<br />2x 37 GB 10,000 RPM SATA HDD's in RAID-0<br /><br />...can&nbsp;complete the same operation in&nbsp;35 seconds on average under Windows XP.&nbsp;&nbsp;<br /><br />Benefits be damned, I'd prefer the option of reverting Vista to a fast, non-transactional filesystem.&nbsp;<br /><p>posted by some1ne</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632792740670000000</link>
		<pubDate>Thu, 30 Mar 2006 00:07:47 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632792740670000000</guid>
		<dc:creator>some1ne</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[We have done benchmarks to measure the performance impact of Transactions on non-transactional file-system work-loads. It's very low, in the range of 1-2%.<br /><br />Yes, Vista currently is slower than XP, and the majority of the reasons for that are elsewhere, not in the Transaction support.<p>posted by SurendraVerma</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632805537630000000</link>
		<pubDate>Thu, 13 Apr 2006 19:36:03 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632805537630000000</guid>
		<dc:creator>SurendraVerma</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[&gt;&gt;&gt;&gt;Under plain Windows XP, the time to bring the server up and deploy the webapps is about 45 seconds on average.&nbsp; Using Windows Vista (the drivers installed between the two OS's are as comparable as I could get them to me), the exact same process takes
 65 seconds on average.&nbsp; That's almost a 50% increase, and the only real variable between the two is that Win XP is a non-transactional filesystem, while Vista is transactional.&nbsp;&nbsp;&nbsp;<br /><br /><br /><br /><a id="template__ctl0_Createeditpost1_PostForm_UserPostBar1__ctl0_NameLink" title="some1ne" href="/Niners/some1ne"><strong>some1ne</strong></a> ,<br /><br />You should be careful when performing performance tests of a release product build and one that is beta. Currently the Vista builds have all sorts of debuggging hooks and monitors and symbols which of course would not be the case in the final build.<p>posted by jimmyzimms</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632859964870000000</link>
		<pubDate>Thu, 15 Jun 2006 19:28:07 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632859964870000000</guid>
		<dc:creator>jimmyzimms</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[
<p>Surendra, </p>
<p>We almost met in Sao Paulo on Friday. I recognized your face and planned to ask you a few questions about TxF, but then we didn't meet <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p>1. If you compare the isolation level that TxF provides with the typical isolation level of databases, which would be the best match? Snapshot by any chance?</p>
<p>2. I read that the TxF API changed a lot in RC1. For what I have seen (superficially), it looks a lot less transparent than before. I may be wrong, but it seems that before you could just create an ambient transaction and begin working with files as usual,
 and now you have to explicitly invoke transactional versions of the file systems APIs to get transactional behavior. Am I right? Was this design change implemented on purpose or was it because of a roadblock that you had to sacrifice the original simplicity?</p>
<p>3. I would like to understand better the role of KTM and DTC. Does it work similar to promotable transactions in ADO.NET? Is it correct to think of KTM as some kind of lightweight transaction manager that will only delegate to DTC when it needs to coordinate
 with resource managers of other kinds?</p>
<p>4. Do you think DTC is too expensive nowadays performance-wise for what it does?
</p>
<p>Thank you. And it was nice to see a Channel 9 celebrity with my own eyes <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif' alt='Wink' /></p>
<p>&nbsp;<br /></p>
<p>posted by DiegoV</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632969123850000000</link>
		<pubDate>Fri, 20 Oct 2006 03:39:45 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632969123850000000</guid>
		<dc:creator>DiegoV</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[Hi Diego,<br /><br />&nbsp;Sorry I missed you in Sao Paulo. I really enjoyed Brazil and Sao Paulo in particular.<br /><br />You asked some really good questions. Let me try to address them:<br /><br />1) TxF supports committed read isolation. That means you always get the most recently committed data. When read-only handles are opened in a transaction their &quot;view&quot; is decided at the time of the open based on the &quot;most recently committed rule&quot;. All reads on
 that handle are set to return that view for as long as the handle is kept open. Other transactions are free to update the file as many times as they like.<br /><br />When read-only handles are opened outside of any transaction the view is decided the same way, but it's not frozen for the duration of the handle&nbsp;- it's changed if some transaction commits a change. This is designed to be compatible with a non-transaction-aware
 applications that (when they share with writers) expect to see changes.<br /><br />Directory queries (&quot;ls&quot;, &quot;dir&quot; etc) always show the most recently committed directory contents as of the time the API is called. Again, the directory can be changed concurrently by other transactions by adding and deleting files.<br /><br />The main thing that comes out of this is that TxF supports concurrent reads while transactions change contents. So, you could update your web-site in a transaction and the reads will get the old view until commit time. At the time of the commit you'd need to
 prevent reads so as not to race with it.<br /><br />Change notifications and the NTFS USN journal entries are also isolated so that they only show up after commit.<br /><br />2)<br /><br />You're right about the change in our APIs in RC1. Previously, you could have an ambient transaction and all your NTFS and registry operations would be a part of the transaction. That was a very easy model to get used to and start programming with! The problem
 with it was that it was also easy to accidentally include operations you didn't really intend to include in the transaction. This was particularly true programming at higher ends of the programming stack (COM&#43; and .Net) since many of those components themselves
 use the Windows registry itself, and it was very difficult for a programmer to know when/if lower level registry operations were getting included.<br /><br />So, we decided to make the model explicit. Now we have versions of about a dozen file APIs and some registry APIs that explicitly take the transaction parameter. This way you know exactly what you're transacting, and are much less likely to get hard to debug
 bugs. <br /><br />We feel that this model is a lot more transparent in its contract and hopefully much less confusing.&nbsp;
<br /><br />We'd love to hear feedback on this. One thing we have heard is that people would like to have the transaction present in the thread environment (but not applied to operations). That way app writers have much less of a burden keeping track of it.<br /><br />3)<br /><br />Yes it's similar to the promotable transactions in ADO.NET, except that the lightweight TM is the LTM which directly delegates to KTM when the transaction spans kernel resources only. This way if you start a transaction in .Net and work on a file in NTFS in
 that transaction you don't pay for the DTC overhead (process switch). DTC automatically gets enlisted in the transaction if non-kernel resources like SQL get included in the transaction. This happens seamlessly from the application's point of view.<br /><br />KTM is a fairly lightweight transaction manager and is designed to serve the needs of the kernel resources directly, as well as interface with DTC for broad transaction support.<br /><br />4)<br /><br />I'm not quite sure how to characterize DTC's performance. I guess it depends on what you're using it for and what the point of comparison is.<br /><br /><br />You're welcome!&nbsp; These are good questions. My&nbsp;email address is&nbsp;<a href="mailto:sverma@microsoft.com">sverma@microsoft.com</a>. Feel free to send mail if you'd like to converse.<br /><br /><br />Surendra<p>posted by SurendraVerma</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632975965200000000</link>
		<pubDate>Sat, 28 Oct 2006 01:42:00 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632975965200000000</guid>
		<dc:creator>SurendraVerma</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[Vista is a very different operating system than XP in many ways. A lot more happens on the OS; for example there're more services in the system, many of them index data. There's also more code in the system for keeping old versions of data around (snapshots)
 that is active - it allows you to revert system changes.<br /><br />Based on our performance measurements the cost of transactions in the filesystem is quite small (under 2% in the worst case) when transactions are not being used.<p>posted by SurendraVerma</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632975967410000000</link>
		<pubDate>Sat, 28 Oct 2006 01:45:41 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c632975967410000000</guid>
		<dc:creator>SurendraVerma</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[
<p></p>
<blockquote>
<div>SurendraVerma wrote:</div>
<div>&#65279;Hi Diego,<br /><br />&nbsp;Sorry I missed you in Sao Paulo. I really enjoyed Brazil and Sao Paulo in particular.<br /><br />You asked some really good questions. Let me try to address them:<br /><br />...<br /><br /></div>
</blockquote>
<br /><br />Hi again Surendra,
<p></p>
<p>I did not see your answer until&nbsp;Saturday.&nbsp;Thanks for being so kind to give me your address. Unfortunatelly, I am not sure if you are receiving my messages because I am not getting any delivery confirmation. I just hope you are busy celebrating Vista shippment
 <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p>Well, my email was actually a follow up to this thread, so here it is:</p>
<p>Sorry for trying to understand TxF and TxR from a database/managed developer point of view, but this is where I am coming from after all <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p>Regarding the isolation level you describe, I guess if I had to explain TxF/TxR isolation level to a database geek, I would just tell him: “it’s just like REPEATABLE READS”.</p>
<p>Regarding the change in the APIs, I understand why you had to switch to an explicit model; however I grieve over what you had to give up.
<br /><br />While the problem with the implicit model is&nbsp;that you cannot opt-out of the ambient transaction, with the explicit model you cannot easily get transactional behavior through the “upper” programming stack without rewriting a good share of it.</p>
<p>I am sure that alternatives were carefully considered. However, if it is not abusing your tme, may I ask you about the merits and flaws of an alternate approach that I am thinking of? For sure I am not the only one that thought about this:</p>
<p>1.&nbsp;&nbsp;&nbsp; The original version of the API supports an ambient transaction and you mentioned that you could still expose that transaction handle at the thread level. I am not sure where things landed in the final Vista build.</p>
<p>2.&nbsp;&nbsp;&nbsp; Apparently, to work with any of the managed or unmanaged APIs that could take advantage of transactional semantics, you have to call a function with a file name (or key name for TxR) as a parameter at some point, and in case you are&nbsp;talking to one
 of the higher level layers, those&nbsp;will ultimately invoke&nbsp;one of a small set of&nbsp;Win32 name-based APIs.</p>
<p>So, what if you could define a&nbsp;“transactional” moniker that you would need to preppend to the file name or registry key parameter in order to get “implicit” transactional semantics? I can imagine something like “txfile:”, but it could be something else.</p>
<p>I think this would have a few significant effects: </p>
<p>1.&nbsp;&nbsp;&nbsp; The non-transactional semantics of existing code would be preserved even in the presence of an ambient transaction, because hardcoded and existing strings would be lacking the moniker.</p>
<p>2.&nbsp;&nbsp;&nbsp; You would get back the possibility of using transactions with any existing API that takes a file name (or a key name) from Win32 through the .NET Framework, requiring minimal changes.
</p>
<p>3.&nbsp;&nbsp;&nbsp; If you included something like this in a future version of Windows, you could still mix explicit, Vista-like calls, with implicit, moniker based calls enlisted in&nbsp;the same transaction.</p>
<p>I understand that this is not&nbsp;completely a clean approach and maybe it there is even something naïve about it.&nbsp; But in any case, it would be nice to learn what you think the tradeoffs are.</p>
<p>Thank you for listening! And congratulations for shipping this cool technology in Vista! It is really something I wish I have had a lot of times.</p>
<p>Diego</p>
<p>posted by DiegoV</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c633019285290000000</link>
		<pubDate>Sun, 17 Dec 2006 05:02:09 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c633019285290000000</guid>
		<dc:creator>DiegoV</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[hi,<br />how could a transactional filesystem handle if the user opens one file twice and modify data, and will save the data at the same time, why it fails? maybe its a good idea to save the sector of the FAT into the RAM if the user opens a file?<br /><p>posted by surfman19</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c633060228120000000</link>
		<pubDate>Fri, 02 Feb 2007 14:20:12 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c633060228120000000</guid>
		<dc:creator>surfman19</dc:creator>
	</item>
	<item>
		<title>Re: Surendra Verma: Vista Transactional File System</title>
		<description>
			<![CDATA[I have an application which archives data of a file out to the cloud. Which 1. renders the file offline and 2. leaves a 4K stub on the local file system. In an XP file system modifing properties does not invoke a file recall (done by reading any part of the data). With the transactional changes the file is recalled when view system properties. 2 questions: 1. is viewing system properties of a file read data? 2. Is there a way to disable the trancational model in Vista or Win7?<br />Thanks<p>posted by Carl Dubois</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c634291510660000000</link>
		<pubDate>Tue, 28 Dec 2010 16:37:46 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/Surendra-Verma-Vista-Transactional-File-System#c634291510660000000</guid>
		<dc:creator>Carl Dubois</dc:creator>
	</item>
</channel>
</rss>