Abstract This report illustrates the architecture and design of a web spider program akin to Google. In order to implement the illustrated architecture the HTTP Client interface is simulated. The scope of implementation of web spider program is limited to demonstrating the functionality that can extract embedded URIs in a web resource HTML source code and build a connectivity matrix of inlinks, and outlinks to/from a URI. The eigensystem analysis of the connectivity matrix for the web spider program test sample is conducted to find eigenvalue and the corresponding eigenvector. The eigenvector provides the page rank of the web pages crawled by the web spider program. Introduction The objective of this project is to develop a web spider program akin to Google search. The Web Spider parses the HTML markup in the web page source code and creates a queue of all @href links in the file. The spider visits the page URLs inserted in the queue sequentially. A connectivity matrix is created for the inlinks and outlinks of all web pages visited by the spider. Eigensystem analysis of the connectivity matrix is performed to determine the page ranks of web page URLs in the Search Engine Result Page. The chapter 2 of the report describes the software architecture of the system components identified to build a web spider program. The three system components identified are HTTP Client, Web Spider and Web Resource Database. HTTP Client is simulated and a C++ implementation of the other two components is developed. The chapter 3 of the report presents the detailed design of simulated HTTP Client and Server interfaces, Web Spider program flow and Web Resource Database elements. The chapter 4 of the report describes the implementation of important design and analysis components such as: how HTTP interface is simulated, how the connectivity matrix is build, an eigensystem is defined and page rank is discussed. The chapter 5 presents the actual result of eigensystem analysis for the test sample and also illustrates a snapshot of the connectivity matrix on Microsoft Windows XP Professional console window. Architecture A web spider encompasses the following tasks:  1. Create an object instance for every unique web resource  2. Download the web resource HTML source code file  3. Parse the web resource file to find new outlinks  4. Create a connectivity matrix for all unique URIs found by the web spider. Refer Figure 1, the URI at the arrow head end is outlink of the web resource at the tail end. The URI at the arrow tail end is the inlink of the web resource at the arrow head end. Outlinks are anchor links embedded in the source content and programmed with HTML @href attribute. Outlinks connect a web resource to another web resource. Inlinks of a web resource are URI of web resources that embed the URI of the former web resource as outlink. The tasks described above are performed by two separate threads that share the web resource database. HTTP Client – This program fetches a web resource from the Web Resource Database and downloads the file corresponding to this web resource from the internet. The thread downloads a web resource from the internet only if the time since last download is greater than or equal to the refresh interval.