2025-04-27 07:49:33 -04:00

262 lines
13 KiB
HTML

<!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>