<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0042) -->
<HTML><HEAD><TITLE>Account AutoDiscovery</TITLE>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type>
<META content="Microsoft FrontPage 4.0" name=GENERATOR>

<LINK href="nepstyles.css" rel=stylesheet type=text/css>
<STYLE type=text/css></STYLE>

<meta name="Microsoft Border" content="none">
</HEAD>
<BODY bgColor=#ffffff link=#4e8ff1><!--webbot bot="Include" U-Include="../../commonpages/header.htm" TAG="BODY" startspan --><strong>[../../commonpages/header.htm]</strong><!--webbot bot="Include" endspan i-checksum="53214" -->

<P align=left>&nbsp;</P>
<TABLE border=0 width=640>
  <TBODY>
  <TR>
    <TD vAlign=top width=110>
      <H3></H3></TD>
    <TD vAlign=top width=530>
      <P class=header-page>E-mail AutoDiscovery Service Business Proposal</P>
    </TD></TR>
  <TR>
    <TD vAlign=top width=110></TD>
    <TD vAlign=top width=530>&nbsp; </TD></TR>
  <TR>
    <TD vAlign=top width=110>
      <DIV></DIV></TD>
    <TD vAlign=top width=530>
      <P class=header>Overview:</P>
      <HR SIZE=1>

      <P><b>NOTE:</b> <font color="#4E8FF1">AutoDiscovery is a proposed feature
      for Whistler.&nbsp; The feature is contingent upon microsoft.com running
      the server-side service.&nbsp; We need microsoft.com to decide if the service
      will be hosted before we can decide to take this feature.&nbsp;</font>

      <P>&nbsp;

      <P>Getting Email is one of the top user scenarios.&nbsp; Getting an email account
      <i> configured</i> is such a difficult task that it is the #1 PSS problem
      for both Outlook and Outlook Express.&nbsp; The problem is that email
      accounts can use one of three categories of email programs: 1) standards
      based (POP3, IMAP, DAV); 2) proprietary (AOL, MSN, MAPI, Lotus Notes); or 3) web based (juno.com, geocities.com).&nbsp; Even if the user
      knows what protocol to use, it's still difficult to find the exact settings.&nbsp;
      For example, the following settings are needed for MSN:
      <ul>
        <li>Protocol: POP3/SMTP</li>
        <li>POP Server: pop.mail.msn.com</li>
        <li>SMTPServer: smtp.mail.msn.com</li>
        <li>POP SPA: on</li>
        <li>SMTP SPA: on</li>
        <li>LoginName: &quot;MSN\&lt;username&gt;&quot;</li>
      </ul>

      <P>&nbsp;

      <P>AutoDiscovery is half client software and half server-side
      service.&nbsp; The client software will take an email address, download
      the email settings from a server, and then launch the correctly type of
      email program.&nbsp; If the email provider doesn't provide the
      downloadable settings, we want the user to fallback to a microsoft.com
      server that will contain the settings for the top 30 most commonly used
      email providers.&nbsp; Since the top 30 email providers have so much
      market share (AOL, MSN, Hotmail, etc.), this service will solve the
      problem for about 85% of our customers.&nbsp; The settings are returned by a web
      server via ASP scripts that return an XML file for the email provider.

      <P>&nbsp;

      <P>Since we are using a generic web server, one server would be able to
      support 100 million customers.&nbsp; We will request 3 servers to allow
      for growth and so a single hardware failure would not affect the service.

      <P>&nbsp;

      <P>The microsoft.com team would be responsible for:
      <ul>
        <li>Setting up 3 web servers (Win2k + IIS) behind a Round Robin type DNS
          server.</li>
        <li>Maintain the servers (backup, restore, and hardware failure
          recovery).</li>
      </ul>
      <p>&nbsp;</p>
      <p>The Windows User Experience team or Office will be responsible for:</p>

      <ul>
        <li>Paying for the servers</li>
        <li>Providing the content (ASP &amp; xml files)</li>
        <li>Any content maintenance.&nbsp; Updating the content is optional
          because we are under no obligation to provide this service.&nbsp;
          Updating content consists of viewing the most frequently used sites
          and adding or deleting XML files as needed.</li>
      </ul>

      <P>&nbsp; 
      <P class=header><b>How AutoDiscovery Works:</b></P>
      <HR SIZE=1>

      <p> AutoDiscovery will first contact the owner of the email account.&nbsp;
      If the user enters &quot;<a href="mailto:JoeUser@yahoo.com">JoeUser@yahoo.com</a>&quot;,
      we first contact <a href="http://_AutoDiscover.yahoo.com/_AutoDiscover/default.asp">http://_AutoDiscover.yahoo.com/_AutoDiscover/default.asp</a>.&nbsp;
      If that doesn't return any results, we contact <a href="http://_AutoDiscover.yahoo.com/_AutoDiscover/default.asp">http://yahoo.com/_AutoDiscover/default.asp</a>.&nbsp;
      If that doesn't return any results, we contact <a href="http://_AutoDiscover.yahoo.com/_AutoDiscover/default.asp">http://adservice.microsoft.com/default.asp</a>.&nbsp;
      Since yahoo.com is likely to be in the top 30 most used email providers, we
      will return the settings if their web server doesn't.</p>
      <P>&nbsp;</P>
      <P>&nbsp;</P>
      <P>&nbsp;</P>
      <P><A href="#top"><IMG border=0 height=26 src="top.gif" width=23></A> 
      <P> 
      &nbsp; 
      <P class=header><b>Setting up the Server:</b></P>
      <HR SIZE=1>

      <P>The server is easy to setup because it is a stock web server.&nbsp;
      Setup instructions:</P>

      <ul>
        <li>Install Windows 2000 server with IIS.</li>
        <li>Copy everything under \\bryanst6\nt\inetcore\outlookexpress\autodiscovery\msservice\wwwroot\ to %SystemRoot%\inetpub\wwwroot\.</li>
        <li>Open IIS's Performance Tab.&nbsp; Select &quot;More than 100,000&quot;. (For Perf)</li>
        <li>Open IIS's Home Directory Tab.&nbsp; Turn off &quot;Log
          Visits&quot;.&nbsp; Make sure that only &quot;Read&quot; is
          selected.&nbsp; Select &quot;Low (IIS Process)&quot;. (For Perf)</li>
        <li>Open IIS's Server Extensions Tab.&nbsp; Turn off &quot;Enable
          Authoring&quot;. (For Security)</li>
        <li>Open IIS's Web Site Tab.&nbsp; Turn off &quot;Enable Logging&quot;.
          (For Perf)</li>
        <li>Since the machine will have 4 processors, the number of theads IIS should use should be increased to about 20. (For Perf)</li>
      </ul>
      <pre>
<A href="#top"><IMG border=0 height=26 src="top.gif" width=23></A></pre>
      <P> 
      &nbsp; 
      <P class=header><b>Server Performance:</b></P>
      <HR SIZE=1>

      <p class="MsoNormal">The goal is to have the capacity to server 100
      million users.&nbsp; When the user asks to get their email, the
      information retrieved from the server will be stored locally to minimize
      the load on the server.&nbsp; This allows the service to be used only once
      when the email account is setup.</p>
      <p class="MsoNormal">&nbsp;</p>
      <p class="MsoNormal">To be generous, we will assume the each user will use
      the service 10 times a year.&nbsp; Calculate by:</p>
      <ul style="margin-top:0in" type="disc">
        <li class="MsoNormal" style="mso-list:l3 level1 lfo3;tab-stops:list .5in">Assuming
          users will format their hard drives, reinstall the OS, and want to
          reconfigure their email accounts twice a year.</li>
        <li class="MsoNormal" style="mso-list:l3 level1 lfo3;tab-stops:list .5in">Users
          will reinstall their software both at work and at home.<span style="mso-spacerun: yes">&nbsp;
          </span>(total so far is 4 times yearly)</li>
        <li class="MsoNormal" style="mso-list:l3 level1 lfo3;tab-stops:list .5in">Users
          will roam to other places <span style="mso-spacerun: yes">(Library,
          Airport, Kiosk, visiting family, etc)</span> and have the service
          configure their email.<span style="mso-spacerun: yes">&nbsp; </span>This
          will happen 6 times per year per user.</li>
      </ul>
      <p class="MsoNormal">&nbsp;<o:p>
      </o:p>
      </p>
      <p class="MsoNormal"><b>The Server:<o:p>
      </o:p>
      </b></p>
      <p class="MsoNormal">Microsoft.com would host the machines.<span style="mso-spacerun: yes">&nbsp;
      </span>Each machine would have 4 processors and 512 MB of RAM.<span style="mso-spacerun: yes">&nbsp;
      </span>This kind of a machine can easily handle 400 requests/second.</p>
      <ul style="margin-top:0in" type="disc">
        <li class="MsoNormal" style="mso-list:l2 level1 lfo4;tab-stops:list .5in">At
          400 r/s, one server can handle 34.56 million requests a day.</li>
        <li class="MsoNormal" style="mso-list:l2 level1 lfo4;tab-stops:list .5in">That
          is 12.303 billion a year, if the load is evenly balanced</li>
        <li class="MsoNormal" style="mso-list:l2 level1 lfo4;tab-stops:list .5in">That
          is 1.2 billion a year at 10% capacity, which will allow for spikes in
          usage.</li>
      </ul>
      <p class="MsoNormal">&nbsp;</p>
      <p class="MsoNormal">In order to server 100 million users, each using the
      server 10 times a year, we will need to handle 1 billion
      requests/year.&nbsp; At 400 requests/second, one server can handle 100
      million users, while it runs at 10% of capacity.&nbsp; We will want to
      have 3 servers which will <span style="mso-spacerun: yes">allow for
      growth, hardware failure, or spikes in usages.</span></p>
      <p class="MsoNormal">&nbsp;</p>
      <p class="MsoNormal"><span style="mso-spacerun: yes">Note: The network
      traffic will vary with the settings being downloaded, but it should remain
      under 781 bytes per request.&nbsp; (188 bytes for the HTTP GET Request and
      593 bytes for the HTTP Response)</span></p>

      <P>
<A href="#top"><IMG border=0 height=26 src="top.gif" width=23></A></P>

      <P>&nbsp;</P>
      <P class=header><b>Testing:</b> 
      </P>
      <HR>
      ADStress.exe is a stress app that will test the server's throughput.&nbsp;
      It will create a specified number of threads on a test machine and each
      thread will flood the server with requests.&nbsp; It will then generate
      failure rates and requests per second statistics.
      <p>&nbsp;</p>
      <p>Usage:</p>
      <p>ADStress.exe -t 10 -s 100000 yahoo.com</p>
      <p>This will create 10 threads to work together to generate 100,000
      requests to the server for the email account for &quot;Yahoo.com&quot;.</p>
      <p>&nbsp;</p>
      <p>Specify the server in the registry:</p>
      <p>HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\JustWorks\AutoDiscovery\GlobalServices,
      REG_SZ, 100=http://adservice.microsoft.com/default.asp?</p>
      <P><A href="#top"><IMG border=0 
      height=26 src="top.gif" 
      width=23></A></P>
      <P>&nbsp;</P>
      <P class=header><b>Security:</b> 
      </P>
      <HR>
      <b>Content is Public:</b>
      <p>The content returned from the server is public information.&nbsp; This
      information is normally available on the email service provider's web
      site.&nbsp; We will get permission from the service provider before we
      provide the information.</p>
      <p>&nbsp;</p>
      <b>Usage Statistics:</b>
      <p>The only information we need to keep private is the statistics of which
      email provider is used.&nbsp; When requests are made, we store statistics
      on which email provider is used (yahoo.com, juno.com, etc.) in ASP
      Application environment variables.&nbsp; Login.asp and will admin.asp will
      allow an administrator to obtain these statistics.&nbsp; They will be
      protected with a password login.&nbsp; This will allow us to gauge the
      success rate of the service and when we should update the XML files.&nbsp;</p>
      <p>&nbsp;</p>
      <b>Maintaining the Content: </b>(XML files)
      <p>We will use which ever mechanism the microsoft.com team recommends to
      securely add, delete, and replace the .xml files on the server.&nbsp; This
      will probably be PubWiz which uses NTLM authentication.</p>
      <p>&nbsp;</p>
      <P><A href="#top"><IMG border=0 src="top.gif" width="23" height="26"></A></P>
      <P>&nbsp;</P>
      <P class=header><b>Related Information:</b> 
      </P>
      <HR>
      <ul>
        <li>AutoDiscovery <a href="http://bryanst6/JustWorks/AutoDiscovery/AutoDiscovery.htm">Overview</a></li>
        <li><a href="http://bryanst6/JustWorks/AutoDiscovery/rfc.htm">AutoDiscovery
          RFC</a> (Net Protocol)
        </li>
        <li><a href="http://bryanst6/JustWorks/AutoDiscovery/">AutoDiscovery
          Status</a>
        </li>
      </ul>
      <P><A href="#top"><IMG border=0 src="top.gif" width="23" height="26"></A></P></TD></TR>
  <TR>
    <TD vAlign=top width=110></TD>
    <TD vAlign=top width=530>&nbsp; </TD></TR>
  <TR>
    <TD vAlign=top width=110></TD>
    <TD vAlign=top width=530>
      <P class=modified>last updated on <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%m/%d/%y" startspan -->04/11/00<!--webbot bot="Timestamp" endspan i-checksum="12236" --> 
      by <a href="mailto:BryanSt@microsoft.com">BryanSt</a> </P></TD></TR></TBODY></TABLE>
<P class=modified>&nbsp;</P></BODY></HTML>