Welcome to Windows Communication Foundation (WCF)
Top Tasks :

WCF Team Bloggers

Wednesday, July 19, 2006 - Posts

  • BindingInspector Source Code

    I thought I'd share the binding inspector program I wrote a few months ago to explore the different settings for the standard bindings series of articles. You can access all of the articles in the series here: BasicHttp NetTcp NetNamedPipe WSHttp WSDualHttp WSFederationHttp NetMsmq NetPeerTcp using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Reflection; using System.ServiceModel; using System.ServiceModel.Channels; using System.Text; namespace BindingInspector { class PropertyNameComparer : IComparer<PropertyInfo> { public int Compare(PropertyInfo x, PropertyInfo y) { return String.Compare(x.Name, y.Name); } } class BindingInspector { static string NEVER = "***" ; static string NULL = "NULL" ; static bool freezeSeenProperties; static List< string > expandedProperties = new List< string >(); static Dictionary< string , string > seenProperties = new Dictionary< string , string >(); static List<Type> hiddenElements = new List<Type>(); static StreamWriter writer; static void Main( string [] args) { expandedProperties.Add( "ReaderQuotas" ); expandedProperties.Add( "ReliableSession" ); expandedProperties.Add( "MsmqTransportSecurity" ); hiddenElements.Add( typeof (AsymmetricSecurityBindingElement)); hiddenElements.Add( typeof (TransportSecurityBindingElement)); hiddenElements.Add( typeof (SymmetricSecurityBindingElement)); writer = File.CreateText( "basichttp.html" ); BasicHttpMain(); writer.Close(); writer = File.CreateText( "nettcp.html" ); NetTcpMain(); writer.Close(); writer = File.CreateText( "netnamedpipe.html" ); NetNamedPipeMain(); writer.Close(); writer = File.CreateText( "wshttp.html" ); WSHttpMain(); writer.Close(); writer = File.CreateText( "wsdualhttp.html" ); WSDualHttpMain(); writer.Close(); writer = File.CreateText( "wsfederationhttp.html" ); WSFederationHttpMain(); writer.Close(); writer = File.CreateText( "netmsmq.html" ); NetMsmq(); writer.Close(); writer = File.CreateText( "netpeertcp.html" ); NetPeerTcp(); writer.Close(); } static void BasicHttpMain() { BasicHttpBinding binding1 = new BasicHttpBinding(); binding1.Security.Mode = BasicHttpSecurityMode.None; BasicHttpBinding binding2 = new BasicHttpBinding(); binding2.Security.Mode = BasicHttpSecurityMode.Transport; BasicHttpBinding binding3 = new BasicHttpBinding(); binding3.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.Certificate; binding3.Security.Mode = BasicHttpSecurityMode.Message; Read More...
  • MS Research Paper - Planet Scale Software Updates

    MSR-TR-2006-85 - Planet Scale Software Updates By Christos Gkantsidis; Thomas Karagiannis; Pablo Rodriguez; Milan Vojnović June 2006 http://research.microsoft.com/research/pubs/view.aspx?tr_id=1129 Fast and effective distribution of software updates (a.k.a. patches) to millions of Internet users has evolved into a critical task over the last years. The reasons are at least twofold: (i) the large, ever-increasing number of users requires costly server resources and (ii) the shrinking time between vulnerability disclosure and malware appearance requires rapid patching. In this paper, we characterize "Windows Update", one of the largest update services in the world, with the aim to draw general guidelines on how to best design and architect a fast and effective planet-scale patch dissemination system. To this end, we analyze an extensive number of data traces collected over the period of a year, consisting of billions of queries from over 300 million computers. Based on empirical observations and analytical results, we identify interesting properties of today's update traffic and user behavior. Building on this analysis, we consider alternative patch delivery strategies such as caching and peer-to-peer and evaluate their performance. We identify key factors that determine the effectiveness of these schemes in reducing the server workload and the network traffic, and in speeding-up the patch delivery. Most of our findings are invariant properties induced by either user behavior or architectural characteristics of today's Internet, such as heterogeneity, bandwidth asymmetry, or user population distribution, and thus apply to the general problem of Internet-wide dissemination of software updates. Keywords: Software Updates, Peer-to-peer, Caching... Read More...

Copyright © 2006 Microsoft Corporation. All Rights Reserved. | Terms of Use | Privacy Statement | Contact Us