International Journal of Engineering Trends and Technology (IJETT) – Volume 27 Number 6 - September 2015 A Novel Link and Prospective terms Based Page Ranking Technique Ashlesha Gupta#1, Ashutosh Dixit*2, Taruna Kumari#3 #1 Assistant Professor , #2Associate Professor , #3Associate Professor Department of Computer Engineering YMCA University of Science & Technology Faridabad, India. Keywords — Search Engine, Page Ranking, Page content, Link popularity, Prospective Keywords I. INTRODUCTION WWW is a large collection of information resources that include text, image, audio, video and metadata .An explosive growth in the size of WWW has made it very difficult to manage and access the desired information on the web. Therefore, Internet users today use tools like search engines for accessing the desired information on the Internet. These Search ISSN: 2231-5381 Engine help locate information by presenting a list of clickable URL’s generated on the basis of search terms entered by the user. The search engine maintains a huge repository of web pages in its database for search purposes. The general architecture of web search engine is shown in fig 1. Basically a web search engine has three major components: Crawler, Indexer and Query Engine. A crawler downloads the web pages while traversing the web and stores the downloaded pages in a large buffer. World Wide Web Crawler docUrl buffer Documents URLs Abstract— Since size of the web is of the order of more than a billion pages, finding relevant information is a tedious task therefore many Internet users make use of search engines to find desired information on WWW. These Search engines find relevant information based on important words i.e. keywords supplied in the form of queries. For a given query search engine may return large number of web pages in the result-set which may or may not contain relevant information Since users hardly look at results coming after first search result page therefore it is necessary to rank these pages in order of relevance so that top pages contain most relevant data. Therefore page ranking mechanisms are being employed by search engines to rank the web pages. Present page ranking algorithms either consider the link structure of the web page or the keywords entered in the query for rank purpose .These algorithms however suffer from topic drift and lack of quality problems and as a result users have to scan through large result-sets refining it manually to gather the required information. So there is a need to improve these page ranking mechanisms. This paper focuses on a prospective term based page ranking mechanism that not only considers the link structure and query keywords of the web page but takes a perspective view by taking into consideration synonyms and related keywords to provide better ranking solution wherein the user gets the desired information with less number of clicks. The proposed algorithm is aimed at improving user satisfaction by providing full information within the first few URL’s thereby improving search experience. The results of the proposed algorithm are analyzed and compared with the existing scheme. Indexer Dispatcher Repository User Query Engine Search Interface Fig. 1 : Architecture of Search Engine The Indexer than processes the pages in this buffer. It first extracts the keywords from each page and maintains an index containing information about the keyword and the URL where each keyword has occurred in a large repository. The query engine is responsible for receiving and filling search requests from user. When a user fires a query, query engine receives it and after matching the query keywords with the index, returns the URL’s of the pages to the user. For a given query, Query Engine may return hundreds of URL’s that match the query keywords. This returned result set however may contain a mixture of both relevant and irrelevant information. Therefore it is necessary to arrange the web pages in order of their importance. So page ranking mechanisms are used by most search engines for putting the important pages on top leaving the less important pages in the bottom of result list. http://www.ijettjournal.org Page 292 International Journal of Engineering Trends and Technology (IJETT) – Volume 27 Number 6 - September 2015 Current Page Ranking algorithm either use Linkstructure of the web page or the Content Information of the web page to calculate page rank. But both techniques have some shortcoming and they suffer from topic drift and lack of quality in the result-sets. Moreover users try to find desired information on the first page of the search result only and results coming after first search result page are nearly invisible for general user. If user does not get information on the first page they consider the search to be a miss and try to reformulate the query to find the desired result. therefore a global rank may not provide actual importance of the page for a given individual user. Conventional Query Dependent Page Ranking algorithms like Page Content Algorithm(PCR) use only term occurrence frequency and occurrence position of the given query keywords for computing page rank. They do not consider pages for page ranking that may contain either a synonym of query keywords or pages that may contain the related information with respect to given query even without containing the actual keywords in the query. For example the query – ―holiday‖ would not return pages Keeping in view the above mentioned problems a that contain the term ―vacation‖ . As two terms are Prospective Term based page ranking mechanism is synonyms of each other computer should provide web being proposed that not only considers link structure pages that contain either of the terms. Similarly a of a web page but also combines query dependent query about ―Ayurved in India‖ should provide factors like occurrence frequency of keyword, resultant pages containing information about ―Baba synonyms along with the prospective words (words Ram Dev‖, because they are indirectly related to each having direct/indirect relation with the word) for others. Since traditional ranking is limited to ranking to improve overall quality of search result. keywords only, users have to scan through the resultsets refining the query multiple times to acquire all the The rest of the paper is organized as follows. The needed information. Related work and Back Ground is covered in Section A critical look at the available literature indicates II. Section III discusses the architecture, components the following deficiencies in the existing page ranking and algorithms of the proposed page ranking techniques: algorithm. Section IV discusses the implementation Some web pages may get higher ranking and results of the proposed algorithm. Section V because of duplicate links and self links that includes the conclusion. are meant only for increasing the popularity of the web page, but actually they do not II. BACKGROUND & RELATED WORK contain any relevant information. Similarly (Size 10 & Normal) Search engines use two new web pages that actually contain the latest different kinds of ranking factors: query-dependent information can’t get higher page rank values, factors (i.e word frequency, position of query terms because of lack of the corresponding back etc) and query independent factors (i.e. link popularity, links. click popularity etc.) for ranking web page documents. Different people may have different Query-dependent are all ranking factors that are preference; therefore a global rank may not specific to a given query, while query-independent provide actual importance of web page for a factors are attached to the documents, regardless of a given individual user given query. Traditional Query Dependent Page ranking Link structure based page ranking for determining algorithms are limited to keywords only. the ―importance‖ of web pages has become an important technique in today’s search engines. Some Therefore, there is a need to introduce other query of the common page ranking algorithms are PageRank dependent factors to provide a better ranking solution. Algorithm [2], Weighted Page Rank Algorithm [4] III. PROPOSED WORK and Hyperlinked Induced Topic search Algorithm[5]. Page Rank takes the back links into account and All Due to the prevalent deficiencies in the current propagates the ranking through links. Rank score of a page ranking algorithms, users are not able to get page p is evenly divided among its outgoing links. desired results in top pages and have to scan through Whereas WPR takes into account the importance of multiple search pages to meet their demand. To both inlinks and the outlinks of the pages and overcome these shortcomings, a novel page ranking distributes rank scores based on the popularity of the mechanism is being proposed that considers pages [2,3,4]. HITS (Hyperlink-Induced Topic Search popularity of a web page (based on in-links and outrank pages based on their textual contents to a given links) and occurrence frequency of keywords along query, after assembling the pages it ignores textual with the synonyms and prospective words (words content and focuses itself on the structure of web only having direct/indirect relation with the keyword) for [5]. These link based algorithms based on global rank ranking to improve overall quality of search results. however suffer from quality problems and are biased. Moreover the importance of a page may depend on Prospective Term based page rank mechanism uses different interests and knowledge of different people computed Document weight to rank the web pages. The computation of Document weight of a web page ISSN: 2231-5381 http://www.ijettjournal.org Page 293 International Journal of Engineering Trends and Technology (IJETT) – Volume 27 Number 6 - September 2015 is a sum of its link score and content score. Link score is specified by calculating total number of in-links and out-links of a web Page and content score is based on the occurrence frequency of both query keywords and prospective keywords of a web page that contains keywords that may relate with the given query keywords syntactically or may have some direct/indirect relation with the query keywords. The prospective table that suggests the prospective words for a given keyword is created at the search engine side. A user generally supplies a query to search engine with multiple keywords. Based on this assumption, Perspective table is created according to the following rules: For each keyword available in a web page, a prospective table is constructed that contains keywords that may relate with entered keywords syntactically or may have some direct/indirect relation . For example prospective table for keyword ―Web-Mining‖ would contain the related keywords Rule 1: If query contains only single keyword say such as Search Engine, Architecture-of-Search-Engine, ―X‖ then perspective table will contain: Indexing Techniques, Crawler, Page rank etc. The architecture of the proposed ranking algorithm is Synonym of ―X‖ and/or Inferred keywords shown in Fig 2. (words having direct/indirect relation) with keyword ―X‖. For example the records of prospective table for the Prospective QUERY SEARCH Table keyword ―Crawlerr‖ will contain the following: PROCESSO INTERFAC R E “Automated Program, Topical , Focused , Incremental ” PageRankScore Link Popularity Score Matched Documents Rule 2: If query contains two keywords say ―X‖ and ―Y‖then prospective table will contain: Repository Content Based Score Fig. 2 Architecture of Proposed Algorithm Synonym of ―X‖ and/or Inferred keywords (words having direct/indirect relation) with keyword ―X‖. Synonym of ―Y‖ and/or Inferred keywords (words having direct/indirect relation) with keyword ―Y‖. Inferred keywords (words having direct/indirect relation) with the combination of keywords ―X‖ and ―Y‖. The user first enters a search query in the search interface. This query is passed to the Query Processor, which then processes the query by parsing it, removing stop words and identifying the query terms. The prospective keywords for the query terms are then For example the records of perspective table for the fetched from the Prospective table. These are then query ―Protest Delhi‖ is shown in Table I: passed to the Indexer to fetch all the URL’s that contain either or both of the query and perspective terms. For the fetched URLs a page rank score based TABLE I: PERSPECTIVE WORDS TABLE on link and content score is calculated. The web pages Keywords Prospective Term Table are then ranked on the basis of Page Rank Score and Record passed to Query Processor, which then presents the Election Vote, Choice, results to the user. Commissioner, Election-poll There are three main stages of the proposed Delhi Capital of India, Delhi-map, algorithm namely: Link Popularity weight calculation, Delhi-Tourism, Delhi-Metro Prospective table construction, and Context weight Election Delhi CM, Kiran Bedi, Arvind calculation. Kejriwal, 7th February A. Link Popularity calculation The popularity of each web page is measured with the help of its in-links and out-links. Link popularity calculation is based on equation (1) Link_Score= (No. of Inlinks)+(No. of Outlinks) -(1) B. Prospective Table Construction For each keyword available in a page, a list of prospective terms are created from prospective table ISSN: 2231-5381 And likewise new rule may be generated for queries containing more keywords. This table is created by the search engine at the back end by using classification algorithms such as apriori algorithm. The table may get dynamically updated with respect to the news sites for latest keyword relation and current perception. The Apriori Algorithm is a classic algorithm for mining frequent item sets for boolean association rules. , the algorithm attempts to find subsets which are common to at least a minimum number C of the http://www.ijettjournal.org Page 294 International Journal of Engineering Trends and Technology (IJETT) – Volume 27 Number 6 - September 2015 itemsets. Apriori uses a "bottom up" approach, where frequent subsets are extended one item at a time (a step known as candidate generation), and groups of candidates are tested against the data. The algorithm terminates when no further successful extensions are found. Apriori algorithm can be used to find the terms which are co occurring in various documents of index file of a search engine and these co occurring terms are called context terms. For example if the keywords laptop, desktop, keyboard, mouse are co occurring with the term computer in some minimum number of documents then we can say these terms are contextually related to the term computer. The working of the Apriori algorithm is explained below: Let D be the index of web documents. Support S, is the occurrence frequency of a keyword in a document. Frequent k-term set is the set of k terms which co occur in some minimum no. of documents . 1. Scan the index of web documents D, to get the support S of each 1-keyword (term) set, compare S with min_sup, and get a set of frequent 1- term sets, L1. 2. 3. 4. Use Lk-1 join Lk-1 to generate a set of candidate k-term set. Scan the index database to get the support S of each candidate k-term set in the final set, compare S with min-sup, and get a set of frequent k- term set , Lk If candidate set is empty then stop else go to step 2. An example showing the working of the apriori algorithm is shown below: Consider an example database consisting 6 documents as shown below in Table II .Suppose minimum support count required is 2. TABLE II: DATABASE COLLECTION Document Doc1 Doc2 Doc3 Doc4 Doc5 Doc6 TABLE III: C1 Term Computer Computer generation Desktop Laptop CPU SuperComputer Keyboard Mouse Printer Monitor Hp Dell Support Count 6 2 5 5 1 1 2 2 3 1 1 1 Compare candidate support count with min_sup count to generate L1. TABLE IV: L1 Term Computer Support Count 6 Computer generation Desktop 2 Laptop 5 Keyboard 2 Mouse 2 Printer 3 5 Step 2-> Generating 2-termset frequent pattern : Generate candidate set C2 from L1. Keywords Computer, computer generation, desktop, laptop, CPU Computer, computer generation, desktop, laptop, super computer Computer, desktop, keyboard, mouse, printer, monitor Computer, mouse, printer, keyboard, laptop Computer, hp, printer, laptop, desktop Computer, laptop, desktop, dell ISSN: 2231-5381 Step-1-> Generating 1-termset frequent pattern Scan the database D for count of each candidate to generate C1 Term {computer, computer generation} {computer, desktop} {computer, laptop} {computer, keyboard} http://www.ijettjournal.org Page 295 International Journal of Engineering Trends and Technology (IJETT) – Volume 27 Number 6 - September 2015 {computer, mouse} {computer, printer} {computer generation, desktop} {computer generation, laptop} {computer generation, keyboard} {computer generation, mouse} {computer generation, printer} {desktop, laptop} {desktop, keyboard} {desktop, mouse} {desktop, printer} {laptop, keyboard} {laptop, mouse} {laptop, printer} {keyboard, mouse} {keyboard, printer} {mouse, printer} {Computer,computer generation} {computer, computer desktop} {computer , laptop} {computer, keyboard} {computer, mouse} Support Count 2 5 5 2 2 {computer, printer} 3 {computer generation, desktop} {computer generation, laptop} {computer generation, keyboard} {computer generation, mouse} {computer generation, printer} {desktop, laptop} 2 {desktop, keyboard} 1 2 0 0 0 4 Term {computer , computer generation, desktop} {computer, computer generation, laptop} {computer, desktop, laptop} {computer, desktop, printer} {computer, laptop, printer} {computer, keyboard , mouse} {computer, keyboard , printer} {computer, mouse, printer} ISSN: 2231-5381 1 {desktop, printer} 2 {laptop,keyboard} 1 {laptop,mouse} {laptop, printer} 1 2 {keyboard, mouse} 2 {keyboard, printer} 2 {mouse, printer} 2 C2 Scan the database D for count of each candidate C2. Term {desktop, mouse} Compare candidate support count with min_sup count and generate L2. Term Support Count {computer, computer generation {computer, desktop} {computer,lapt op} {computer, keyboard} {computer, mouse} {computer, printer} {computer generation , desktop} {computer generation laptop} {desktop, laptop} {desktop, printer} {laptop, printer} {keyboard, mouse} {keyboard, printer} {mouse, printer} 2 5 5 2 2 3 2 2 4 2 2 2 2 2 L2 Step 3-> Generating 3-termset frequent pattern Generate candidate set C3 from L2. http://www.ijettjournal.org Page 296 International Journal of Engineering Trends and Technology (IJETT) – Volume 27 Number 6 - September 2015 Scan the database D for count of each candidate C3. Term Support count 2 {computer, computer generation, desktop} {computer, computer 2 generation, laptop} {computer, desktop, 4 laptop} {computer, desktop, 2 printer} {computer, laptop, 2 printer} {computer, keyboard, 2 L3 mouse} {computer, keyboard, 2 printer} {computer, mouse, 2 printer} After comparing support count of C3 term set with min_support we get L3 as shown above. Step – 4 generating 4-termset frequent pattern Generate C4 candidates from L3 and scan the database D, for count of each candidate Term {computer, computer generation, desktop, laptop} {computer, desktop, laptop, printer} {computer, keyboard, mouse, printer} Support Count 2 Page Rank Score= Link_Score + Content_Score------(3) IV. IMPLEMENTATION To implement the proposed ranking system core java is used as front end development tool and mysql is used as database management system. To calculate popularity weight of web pages there is need to extract link information from the web pages. Program is developed which will extract link information from the web pages and store it in proper tables described as follows: 1. WebPages’ table: This table stores information about every web page. TABLE V : WEB_PAGE TABLE STRUCTURE Field Name Page_id Data Type Number Page_link Varchar Inlink Outlink Link_score Number Number Number 2 2 L4 Now it is not possible to generate C5 from L4. In this way by using apriori algorithm prospective table is created. C. Context weight calculation Context weight of document is calculated based on the presence of query term and prospective terms in the document. The weight is calculated as how many terms out of query term and prospective terms are present within the document. Content Score calculation is based on equation 2 ntd Content_Score = ------------------------(2) tnt Where ntd is number of terms (query term and prospective terms) present in the document and tnt is the total no. of terms in the web page. ISSN: 2231-5381 D. Page Rank Score Calculation: The final rank of a web page is based on the sum of its link_score and content score. Page Rank Score is calculated according to equation 3. Page_id field will store unique id given to a web page. Page_link field will store the complete link of the webpages. No. of inlniks and outlinks of the webpage will be stored in inlink and outlink field. Link_Score will Page field as in webpages_inlink table will store link of the webpage and outlink field will store outlinks of a webpage. 2. Term_doc table: This table is like index. It will store keywords and the documents containing them. TABLE VI: TERM_DOC TABLE Field Name Data Type Term Varchar Document Varchar 3. Prospective table: This table will store terms that are occurring together in various number of documents. To create prospective table, index of web pages is required. Program implementing this module will take term_doc table as input and applies apriori algorithm that will return prospective table as shown in Fig 3 http://www.ijettjournal.org Page 297 International Journal of Engineering Trends and Technology (IJETT) – Volume 27 Number 6 - September 2015 The Ranking order of the URLs in response to the query ―Holidays in Delhi‖ based on prospective terms is shown in Table IX. TABLE IX : SEARCH RESULTS USING PROPOSED MECHANISM Fig 3: Prospective Table Snapshot When user gives query at search interface, the program will searches for prospective terms in the prospective term table. The documents that contain terms or prospective terms or both are then sorted according to link score stored in web_pages table. After that every matched document is sorted based on content_score and the results are returned to the user. A comparison between the results of popular search engine called ―Google‖ and the proposed page rank method was also performed . A query ―Holidays in Delhi‖ was fired to find information related to Tourist places in Delhi. The response URL’s returned by google for query ―Holidays In Delhi‖ are shown in Table VII. TABLE VII : SEARCH RESULTS BY GOOGLE Rank URLs 1 www.publicholidays.in/delhi 2 6 www.officeholidays.com www.hindustantimes.com/new-delhi 10 http://www.ebookers.com/travelguide/India/New_Delhi.tg29592 www.wikitravel.org/en/delhi www.delhiweekendbreaks.com 31 50 The effect of the proposed Prospective Terms based page rank mechanism on the same set of web pages is analyzed below. The combined perspective terms for the given query are shown in Table VIII. TABLE VIII : PERSPECTIVE TABLE FOR ― HOLIDAYS IN DELHI‖ Rank 1 2 3 4 5 6 URLs www.wikitravel.org/en/delhi http://www.ebookers.com/travelguide/India/New_Delhi.tg29592 www.delhiweekendbreaks.com www.officeholidays.com www.publicholidays.in/delhi www.hindustantimes.com/new-delhi ISSN: 2231-5381 Query Prospective Terms Holiday in Delhi Vacations , trip, break, tourist-guide, resort, packages, old-delhi, new-delhi, Delhi-map, Delhi-metro, Delhi-tourism, Delhi-airport, hotel It can be observed that the highest PageRankScore comes out to be that of ―www.wikitravela.org/en/delhi‖ since this site contains links and other information related to the keywords fired in the query as well as keywords in the perspective table. The URL http://www.ebookers.com/travelguide/India/New_Delhi is placed at second position . The site is a guide to tourist places in Delhi and also give details related to accomadation and travelling in Delhi. The site www.hindustntimes .com/new-delhi is a news site and gives information about Chath being declared as Public as Public Holiday. Since the URL is not related to query it is placed at the bottom. A survey was conducted to check the relevancy of the proposed algorithm. User’s perception of the two systems were compared. In particular concentration was on two aspects: user satisfaction with the search and time of search to get the desired information. Survey was conducted with a group of graduate students. Volunteers were expected to select relevant URLs satisfying their choice of preference on both the systems and answer a questionnaire determining the quality of two systems by comparing the two systems as to in which of the two systems they were more satisfied i.e they were able to get all the information within first few URLs of the result-set and time required to get the desired information with respect to the given query. It can be observed that proposed system outperforms Google system in terms of user satisfaction. The advantage of the proposed mechanism is that user is able to retrieve all the information within the first few URLs. While these preliminary results are not highly significant statically given the very small user study, but they are promising. The proposed system seems to provide a mechanism that can help retrieve high quality documents with maximized user satisfaction. V. CONCLUSION Many users try to find desired information on the first page of the search result only and results coming after http://www.ijettjournal.org Page 298 International Journal of Engineering Trends and Technology (IJETT) – Volume 27 Number 6 - September 2015 first search result page are nearly invisible for general user. Fig 3 : User Satisfaction Graph If user does not get information on the first page they consider the search to be a miss and try to reformulate the query to find the desired result. Moreover, due to deficiency in the page rank algorithms important pages may lie in relative lower order in the results. The mechanism proposed in this paper for computing the page rank not only considers the link popularity and keywords supplied in a query but adapts a perspective view by considering the synonyms and related query keywords, so that the pages that are indirectly related to users query may also be considered and be placed in the proper position in the results. The advantage of the proposed mechanism is that user gets the full information within the first few URLs and will not have to go deeper into the search results returned by the search engine. [8] World Wide Web searching technique, Vineel Katipally, Leong-Chiang Tee, Yang Yang Computer Science & Engineering Department Arizona State University [9] L. Page, S. Brin, R. Motwani, and T. Winograd, ―The PageRank Citation Ranking: Bringing Order to the Web‖, Technical Report, Stanford Digital Libraries SIDL-WP1999-0120, 1999. [10] Bashman, Sierra & Bates. Head-First Servlet & JSP. O’Reilly, 2nd Edition,(2006). [11] Ivan Bayross. SQL, PL/SQL The programming Language of Oracle. BPB, 3rd Edition(2006) [12] Ashutosh Dixit, A K Sharma, Ashlesha Gupta ―Perspective Term based Mathematical model for Page Ranking‖, ACM International Conference and workshop on emerging trends in technology, ICWET 2012, Feb 24-25, 2012 TCET Kundawali (E) Mumbai. [13] Debajyoti Mukhopadhyay, Pradipta Biswas , Young-Chon Kim ―A Syntactic Classification based Web Page Ranking Algorithm‖, 6th International Workshop on MSPT Proceedings2006. [14] Mukhopadhyay, Debajyoti; Biswas, Pradipta; ―FlexiRank: An Algorithm Offering Flexibility and Accuracy for Ranking the Web Pages;‖ Proceedings of the ICDCIT 2005, December 22-25, 2005; Bhubaneswar, India; LNCS 3816, Springer-Verlag, Berlin, Germany 2005; pp. 308-313. [15] Clarke, Charles L.A. et. al.; ―Relevance ranking for one to three term queries;‖ Information Processing and Management, 36, 2000, pp. 291-311. [16] http://www.google.com/technology/index.html, Our Search; Google Technology [17] Pooja Devi, ashlesha gupta, ashutosh dixit, ―Comparative Study of PageRank and HITS Link Based Ranking Algorithm‖ , International Journal of Advance Research in Computer and Communication Engineering Vol. 2, Issue 2, February 2014. [18] Gyanendra Kumar, Neelam Duahn, and Sharma A. K., ―Page Ranking Based on Number of Visits of Web Pages‖, International Conference on Computer & Communication Technology (ICCCT)-2011, 978-1-4577-1385-9 REFERENCES [1] C. Ridings and M. Shishigin, "Pagerank Uncovered". Technical report,2002. [2] Neelam Duhan ,A.K.Sharma and Komal Kumar Bhatia , ―Page Ranking Algorithms : A Survey‖,In proceedings of the IEEE International Advanced Computing Conference (IACC),2009 [3] A Comparative Analysis of Web Page Ranking Algorithms, Dilip Kumar Sharma et al. / (IJCSE) International Journal on Computer Science and Engineering Vol. 02, No. 08, 2010, 2670-2676 [4] Comparative Analysis Of Pagerank And HITS Algorithms Ritika Wason Assistant professor, International Journal of Engineering Research & Technology (IJERT) Vol. 1 Issue 8, October - 2012 [5] Mercy Paul Selvan ,A .Chandra Sekar and A.Priya Dharshin ―Survey on Web Page Ranking Algorithms‖ International Journal of Computer Applications (0975 – 8887) Volume 41– No.19, March 2012. [6] Ricardo Baeza-Yates and Emilio Davis ,"Web page ranking using link attributes" , In proceedings of the 13th international World Wide Web conference on Alternate track papers & posters, PP.328-329, 2004. [7] Link Analysis Ranking: Algorithms, Theory, and Experiments,allan borodin,University of Toronto ISSN: 2231-5381 http://www.ijettjournal.org Page 299