US008015119B2

(12) Umted States Patent (10) Patent N6.= US 8,015,119 B2 Buyukkokten et a]. (45) Date of Patent: Sep. 6, 2011

(54) METHODS AND SYSTEMS FOR THE 6,061,681 A 5/2000 Collins DISPLAY AND NAVIGATION OF A SOCIAL 6,073,105 A 6/2000 sutgllffe 9t a1~ NETWORK 6,073,138 A 6/2000 del EtraZ et a1. 6,092,049 A 7/2000 Chlslenko et al. _ _ 6,185,559 B1 2/2001 Brin et a1. (75) Inventors: Buyukkokten, Mounta1n V1eW, 6,256,643 B1 7/2001 Hill et a1, CA (US); Adam Douglas Smith, 6,285,999 B1 9/2001 Page Mountain View CA (Us) 6,327,590 B1 12/2001 Chidlovskii ’ 6,366,962 B1 4/2002 Teibel (73) Assignee: Google Inc., Mountain View, CA (US) 6’389’372 Bl 5/2002 Glance et a1‘ (Continued) ( * ) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 FOREIGN PATENT DOCUMENTS U.S.C. 154(b) by 121 days. JP 11265369 9/1999 C t' d (21) Appl. NO.Z 10/928,654 ( on “me ) (22) F1led:. Aug. 26, 2004 OTHER PUBLICATIONS .com, “Feedback FAQ” Web page at http://WWWamaZon. (65) Prior Publication Data com/exec//tg/br0Wse/-/1161284/qid:1091110289/sr:1-1/ Us Zoos/0159970 A1 Jul‘ 21 2005 002-2, as available via the and printed on Jul. 29, 2004.

Related U.S. Appllcatlon_ _ Data (Continued) (60) Provisional application No. 60/538,035, ?led on Jan. P 1’ imary Examiner * Jonathan Ouenette 21s 2004_ (74) Attorney, Agent, or Firm * Patent LaW Works LLP

(51) Int. Cl. (57) ABSTRACT G06Q 99/00 (2006-01) Systems and methods for the display and navigation of a (52) US. Cl...... 705/319 or Set forth According to one embodiment a (58) Field Of Classi?cation Search ...... 705/1 method comprising identifying a ?rst pro?le in a social net See application ?le for Complete Search history. Work, identifying associated pro?les associated With the ?rst pro?le, ranking the associated pro?les, Wherein ranking is not (56) References Clted based exclusively on a degree of separation, and outputting the associated pro?les based at least in part on the ranking is U.S. PATENT DOCUMENTS set forth. According to another embodiment a method com 5,287,498 2/1994 Perelman et al. prising identifying a user pro?le, identifying a member pro 5,537,586 7/1996 Amram et al. ?le, determining an association for the user pro?le and 5,950,200 9/1999 Sudai et a1. the member pro?le, and outputting the association path is set 5,963,951 10/1999 Collins 6,041,311 3/2000 Chislenko et al. forth. 6,049,777 4/2000 Sheena et al...... 705/10 6,052,122 4/2000 Sutcliffe et al. 28 Claims, 5 Drawing Sheets

/10O 102" £11m CLIENT '. 1021:

CLIENT 10s NETWORK

CLIENT 102:

1 1o 1B4 SERVER DEVICE

PROCESSOR PROCESSOR 1 '5

11a MEMORY 1210 SOCIAL NEMORK ENGINE

DISPLAY 124 PROCESSOR

5001M. NETWORK DATABASE US 8,015,119 B2 Page 2

U.S. PATENT DOCUMENTS 2004/0260781 A1 12/2004 Shostack et a1. 2005/0015432 A1 1/2005 Cohen 6,526,440 B1 2/2003 Bharat 2005/0050158 A1 3/2005 Solari 6,529,903 B2 3/2003 Smith et al. 2005/0120084 A1 6/2005 Hu et al. 6,594,673 B1 7/2003 Smith et al. 2005/0159998 A1 7/2005 Buyukkokten et a1. 6,615,209 B1 9/2003 Gomes et al. 2005/0165785 A1 7/2005 Malkin et a1. 6,658,423 B1 12/2003 Pugh et al. 2005/0171832 A1 8/2005 Hull et a1. 6,665,715 B1 12/2003 Houri 2005/0171954 A1 8/2005 Hull et a1. 6,678,681 B1 1/2004 Brin 2005/0193054 A1 9/2005 Wilson et al. 6,725,259 B1 4/2004 Bharat 2005/0197846 A1 9/2005 PeZaris et a1. 6,754,873 B1 6/2004 LaW et al. 2005/0209999 A1 9/2005 Jou 6,834,195 B2 12/2004 Brandenberg et al. 2005/0210409 A1 9/2005 Jou 6,837,436 B2 1/2005 SWartZ et al. 2005/0216300 A1 9/2005 Appelman et al. 6,865,546 B1 3/2005 Song 2005/0246420 A1 11/2005 Little 6,871,186 B1 3/2005 TuZhilin et al. 2005/0256866 A1 11/2005 Lu et a1. 6,895,406 B2 5/2005 Fables et al. 2005/0267940 A1 12/2005 Galbreath et al. 6,912,505 B2 6/2005 Linden et al. 2006/0085259 A1 4/2006 Nicholas 7,013,292 B1 3/2006 Hsu et al. 2006/0136419 A1 6/2006 Brydon et al. 7,069,308 B2 6/2006 Abrams ...... 709/218 2006/0184997 A1 8/2006 La Rotonda et a1. 7,080,117 B2 7/2006 De Pinto et al. 2008/0004941 A1 1/2008 Calabria 7,092,821 B2 8/2006 MiZrahi et al. 2008/0133716 A1 6/2008 Rao et al. 7,113,917 B2 9/2006 Jacobi et a1. 2009/0013386 A1 1/2009 Puthenkulam et al. 7,117,254 B2 10/2006 Lunt et a1. 7,118,153 B2 10/2006 Lunt FOREIGN PATENT DOCUMENTS 7,130,777 B2 10/2006 Garg 7,130,844 B2 10/2006 Elder JP 2002132604 5/2002 7,139,252 B2 11/2006 Babu et al. W0 W0 0068860 11/2000 7,234,117 B2 6/2007 Zaner W0 WO 2001/084266 11/2001 7,269,590 B2 9/2007 Hull W0 WO 2005/015470 A1 2/2005 7,275,068 B2 9/2007 Huberman et al. 7,318,037 B2 1/2008 Solari OTHER PUBLICATIONS 7,343,335 B1 3/2008 Olliphant ebay, “What is eBay?” Web page at http://pages.ebay.com/help/Wel 7,360,080 B2 4/2008 Camnisch 7,383,258 B2 6/2008 Harik come/questions/about-ebay.html, as available via the Internet and 7,433,832 B1 10/2008 BeZos et al. printed on Jul. 29, 2004. 7,433,876 B2 10/2008 Spivack et al. ebay, Bidding on Items, “ How to Bid” Web page at http://pagesebay. 7,472,110 B2 12/2008 Achlioptas com/help/Welcome/bidhtml, as available via the Internet and printed 7,478,078 B2 1/2009 Lunt 7,539,697 B1 5/2009 Akella et al. on Jul. 29, 2004. 2001/0039500 A1 11/2001 Johnson ebay, First Time Seller, “How to Sell” Web page at http://pagesebay. 2002/0023230 A1 2/2002 Bolnick com/help/Welcome/sell.html, as available via the Internet and printed 2002/0042791 A1 4/2002 Smith et al. on Jul. 29, 2004. 2002/0059130 A1 5/2002 Cheng et a1. AmaZon.com: Help, “Selling at ” Web page at 2002/0059201 A1 5/2002 Work http://WWW.amazon.com/eXec/obidos/tg/broWse/-/1161234/ 2002/0103682 A1 8/2002 Stemmer et al. ref:hpihpiIsi4i2/002-283572, as available via the Internet and 2002/0116458 A1 8/2002 Bricklin printed on Jul. 29, 2004. 2002/0116466 A1 8/2002 Trevithick et al. AmaZon.com: Help, “New Seller FAQ” Web page at http://WWW. 2002/0123988 A1 9/2002 Dean et al. amazon.com/exec/obidos/tg/broWse/-/1161274/002-2835726 2002/0124053 A1 9/2002 Adam et al. 5513622, as available via the Internet and printed on Jul. 29, 2004. 2002/0133365 A1 9/2002 Grey 2002/0133481 A1 9/2002 Smith et al. AmaZon.com, “How to get a Great Feedback Score” Web page at 2002/0143944 A1 10/2002 Traversat http://WWW.amazon.com/eXec/obidos/tg/broWse/-13107471/ 2002/0169782 A1 11/2002 Lehmann et al...... 707/100 gid:g091110, as available via the Internet and printed on Jul. 29, 2002/0169835 A1 11/2002 Paul 2004. 2002/0174073 A1 11/2002 Nordman et al. ebay services, “Frequently Asked Questions” Web page at http:// 2002/0194112 A1 12/2002 de Pinto pages.ebay.com/help/basics/faqhtml, as available via the Internet 2003/0050977 A1 3/2003 Puthenkulam et al. and printed on Jul. 29, 2004. 2003/0063072 A1 4/2003 Brandenberg et al. AmaZon.com, “Friends and Favorites” Web page at WWWamaZon. 2003/0069749 A1 4/2003 Shear et al. com/ eXec/ obido s/ sub st/ community/ c ommunity-home .html, as 2003/0083898 A1 5/2003 Wick et al. available via the Internet and printed on Feb. 27, 2004. 2003/0101227 A1 5/2003 Fink AmaZon.com: Help. “Wish List” Web page at WWW.amaZon.com/ 2003/0154213 A1 8/2003 Ahn 2003/0163530 A1 8/2003 Ribak eXec/ obido s/tg/browse/ -/ 897204/ref:yaihpireg*1/ 002 -988081 1-, 2003/0233650 A1 12/2003 Zaner as available via the Internet and printed on Feb. 18, 2004. 2004/0042599 A1 3/2004 Zaner et al. AmaZon.com: Help, “Purchase Circles,” Web page at WWWamaZon. 2004/0059708 A1 3/2004 Dean et al. com/ eXec/ obidos/ tg/ broWse/ -/ 46 8604/ refIcmipcifag/ 002 2004/0088325 A1 5/2004 Elder et al. 0759267-82, as available via the Internet and printed on Feb. 27, 2004/0093224 A1 5/2004 Vanska 2004. 2004/0093324 A1 5/2004 Marappan “Accounts Website,” Web page at http://WWW.cs.rice.edu/-ssiyer/ac 2004/0119740 A1 6/2004 Chang et a1. counts/, as available via the Internet and printed on Jul. 29, 2004. 2004/0122681 A1 6/2004 Ruvolo et al. Microsoft Corporation, “Is the ‘Next Big Thing’?” Web 2004/0122803 A1 6/2004 Dom et al...... 707/3 page at http://mobilemomentum.msn.com/artide.aspx?aid:4, as 2004/0122811 A1 6/2004 Page available via the Internet and printed on Jul. 29, 2004. 2004/0162830 A1 8/2004 ShirWadkar et al. 2004/0167794 A1 8/2004 Shostack et al. “Running Notes From Revenge of the User: Lessons from Creator/ 2004/0172378 A1 9/2004 Shanahan et al. User Battles,” Web page at http://craphound.com/danahetcon04.IXt, 2004/0193684 A1 9/2004 Ben-Yoseph as available via the Internet and printed on Jul. 28, 2004. 2004/0215793 A1 10/2004 Ryan et al. Adamic, Lada et al., “A Social Network Caught in the Web,” Web 2004/0221309 A1 11/2004 Zaner page at http://?rstmonday.org/issues/issue8i6/adamic, as available 2004/0249811 A1 12/2004 Shostack et al. via the Internet and printed on Jul. 28, 2004. US 8,015,119 B2 Page 3

Multiply, “ Privacy Policy,” web page at http://multiply. to the Indian Institute of Technology Delhi in conformity with the com/info/privacy as available via the Internet and printed on May 3, requirements for the degree of Bachelor of Technology, 2005, 70 2004. pages. Multiply, “Multiply Terms of Service,” web page at http://multiply. Anwar, Z., et al., “Leveraging ’Social-Network’ Infrastructure to com/info/tos, as available via the Internet and printed on May 3, Improve Peer-to-Peer Overlay Performance: Results from Orkut”, 2004. 2005, 9 pages. Multiply, “Help,” web page at http://multiply.com/info/help, as avail Baird, D., et al., “Neomillennial user experience design strategies: able via the Internet and printed on May 3, 2004. utilizing social networking media to support ”Always on Learning Multiply, “About Multiply,” web page at http://multiply.com/info/ Styles, J. Educational Technology Systems, vol. 34(1) 5-32, 2005 about, as available via the Internet and printed on May 3, 2004. 2006. Sullivan, Danny, “Is It Really Personalized Search?,” web page at Boyd, D., et al., “Social Network Sites: De?nition, History, and http://searchengine watch.com, as available via the Internet and Scholarship”, Journal of Computer-Mediated Communication 13 printed on May 13, 2004. (2008) 210-230. Tribe.net, “Listings Directory,” web page at http://www.tribe.net/ Churchill, E., et al., “Social Networks and Social Networking”, IEEE tribe/servlet/template/pub.listings.vm, as available via the Internet Internet Computing, Published by the IEEE Computer Society, Sep. and printed on Jun. 28, 2004. Oct. 2005, pp. 14-19. International Search Report and Written Opinion, PCT/US2005/ Cohen, T., et al., “Social Networks for Creative Collaboration”, 001544, Apr. 29, 2005. C&C’05, Apr. 12-15, 2005, ACM, pp. 252-255. PCT International Search Report and Written Opinion, PCT/US05/ Decker, S., et al., “The Social Semantic Desktop”, Deri Technical 02240, Sep. 26, 2006, 7 pages. Report May 2, 2004, May 2004, 7 pages. “eBay: Help: Basics: Glossary: Star,” eBay, [online][Retrieved on Eagle, N., et al., “Social Serendipity: Proximity Sensing and Cue Jul. 1, 2008] Retrieved from the internet . Erickson, T., et al., “Social Translucence: Using Minimalist Visual Kamvar, S., et al., “The Eigentrust algorithm for reputation manage izations of Social Activity to Support Collective Interaction”, In ment in P2P networks,” International World Wide Web Conference Designing Information : The Social Navigation Approach Proceedings of the 12th International conference on the World Wide (eds. K. Hook, D. Benyon, A Munroe), Springer-Verlag: London, Web, Sessions: Protocols, 2003, pp. 640-651. 2003, pp. 17-41. “PlanetAll,” From Internet Archive Wayback Machine on Nov. 1997, Gross, R., et al., “Information Revelation and Privacy in Online 19 pages, [online] [Retrieved on Mar. 17, 2004] Retrieved from the Social Networks”, WPES’05, Nov. 7, 2005, ACM, pp. 71-80. internet . zine, Apr. 2005, 23 pages, vol. 11, No. 4. Jensen, C., et al., “Finding Others Online: Reputation Systems for Heer, J ., et al., “Vizster: Visualizing Online Social Networks”, IEEE Social Online Spaces,” Group Spaces, CHI 2002, Apr. 20-25, 2002, Symposium on Information Visualization, 2005, 8 pages. pp. 447-454, vol. 4, Iss. 1. Lance, G.N., et al., “Computer programs for hierarchical polythetic Balabanovic, M., et al., “Content-Based, Collaborative Recommen classi?cation (”similarity analyses“),” The Computer Journal, C.S.I. dation,” Mar. 1997, pp. 66-72, vol. 40, No. 3. R.O. Computing Research Section, 1966, p. 60-64, vol. 9. Choi, J ., “Net?ix Prize for the best collaborative ?ltering algorithm,” Lance, G.N., et al., “A Generalized Sorting Strategy for Computer Data mining and parallelization, CGL Blog, Jul. 16, 2008, [online] Classi?cations,” Nature, Oct. 8, 1966, p. 218, vol. 212. [Retrieved on May 13, 2009] Retrieved from the internet . O. Computing Research Section, 1967, pp. 373-380, vol. 9, No. 4. Glance, N., et al., “Knowledge Pump: Supporting the Flow and Use Lance, G.N., et al., “Mixed-data classi?catory programs. I. of Knowledge,” Information Technology for Knowledge Manage Agglomerative Systems,” Austral. Comput. J ., 1967, pp. 15-20, vol. ment, 1998, 22 pages. 1. Kautz, H., et al., “ReferralWeb: Combining Social Networks and Leonard, a., “You are who you know”, published on www.salon.com, Collaborative Filtering,” Communications of the ACM, Mar. 1997, 4 Jun. 15, 2004, 15 pages. pages, vol. 40, No. 3. Lockheed-Martin Corporation “Battle?eld awareness and data dis “Collaborative ?ltering,” Wikipedia, Last modi?ed Oct. 17, 2007, semination intelligent information dissemination server,” AFRL-IF [online] [Retrieved on May 13, 2009] Retrieved from the internet RS-TR-1999-238, Final Technical Report, Nov. 1999, 31 pages.

Tan, P.N., et al., “Introduction to Data Mining,” Chapter 8 Cluster PictureDot, “ CactusVision WebCam from PictureDot.com-Broad Analysis: Basic Concepts and Algorithms (Section 8.3.3iThe cast your live webcam now, Free!” web page at , as available 487-568. via the Internetand printed Dec. 1, 2004, 2 pages. Van Eijk, R., et al., “We-centric, context-aware, adaptive mobile SAE International, “Why should I register to use the SAE website?” service bundles”, Telematica Instituut, Nov. 30, 2004, 48 pages, published on Freeband. web page at , as available Wenger, E., et al., “Technology for communities”, Cefrio Book via the Internet and printed Dec. 1, 2004, 1 page. Chapter v 5.2, Jan 18, 2005, pp. 1-15. Theme your Desktop, “Free Webcam Thumbnails on your Desktop Livejournal syndicated accounts (2004), last updated Jan. 6, 2004, Any webcam.com,” web page At , 2 comJdesktop/desktop.html> as available via the Internet and printed pages. Dec. 1,2004, 3 pages. NomadNet, “NomadNet News,” web page at available via the Internet and printed Dec. 1, 2004, com/westlaw/westclip>, as available via the Internet and printed Jul. 12 pages. 28, 2004, 3 pages. Ofoto, “Ofoto Share Albums,” web page at as yahoo.com/con?g/promo content?.module:ycontent>, as available available via the Internet and printed Dec. 1, 2004, 2 pages. via the Internet and printed Jun. 18, 2004, 1 page. Online Business Network, “Social Networking Site Guide-RyZe,” Yahoo!, “Yahoo! Chat,” web page at , web page at , as available viathe Internet and printed Yahoo!, “Yahoo! Help-Yahoo! GeoCities Tour,” web page at Dec. 1, 2004, 8 pages. , as PC World, “PCWorld-ICQ Builds a Social Network,” web page at available via the Internet and printed Dec. 1, 2004, 20 pp. , as available via the Internet and printed Dec. 1, 2004, 5 pages. , as Petersen’s Photographic, “My Photos at Photographic,” web page at available via the Internet and printed Jun. 2, 2004, 10 pages. , as available via the Internet and printed Dec. 1, 2004, 19 pages. * cited by examiner US. Patent Sep. 6, 2011 Sheet 1 015 US 8,015,119 B2

/ 100 112n 102"

112b 102b i I CLIENT 1 06 NETWORK

CLIENT 102a

112a 108 RAM -—>

110 104 SERVER DEVICE

PROCESSOR PROCESSOR "6

118 MEMORY

120 SOCIAL NETWORK ENGINE

PATH 122 PROCESSOR

DISPLAY 124 PROCESSOR

130

SOCIAL NETWORK DATABAS E

FIG. 1

US. Patent Sep. 6, 2011 Sheet 3 of5 US 8,015,119 B2

MgvchtmmmUSwHml2619g$952A LwH...... mom.\\Now. mw.mvrm

0.uH‘ X . 1 1.1.33qllllts52% g .w.~...... “....~..9. bmEEEou6NQUE.1. _ US. Patent Sep. 6, 2011 Sheet 4 015 US 8,015,119 B2

400

f 402 IDENTIFY A

/— 404 IDENTIFY A MEMBER PROFILE

406 IDENTIFY ASSOCIATED PROFILES ASSOCIATED WITH MEMBER PROFILE

408 DETERMINE A RANKING FOR EACH / ASSOCIATED PROFILE

41 O DETERNIINE ASSOCIATIONS WITH If USER PROFILE

DISPLAY IVIEIVIBER PROFILE i/—41 2

414 F | G _ 4 DISPLAY ASSOCIATED PROFILES US. Patent Sep. 6, 2011 Sheet 5 of5 US 8,015,119 B2

500

f’ 502 IDENTIFY A USER PROFILE

IDENTIFY A MEMBER PROFILE

506

DETERMINE ASSOCIATION PATH

508 PRESENT ASSOCIATION PATH

FIG. 5 US 8,015,119 B2 1 2 METHODS AND SYSTEMS FOR THE DETAILED DESCRIPTION DISPLAY AND NAVIGATION OF A SOCIAL NETWORK Introduction

RELATED APPLICATIONS 01 Embodiments of the present invention comprise methods and systems for the display and navigation of a social net This application claims the bene?t of the US. provisional Work. There are multiple embodiments of the present inven application, application No. 60/538,035, entitled “Methods tion. By Way of introduction and example, one exemplary and Systems for the Display and Navigation of a Social Net embodiment of the present invention, provides a method for Wor ” ?led Jan. 21, 2004, Which is hereby incorporated by ranking and displaying pro?les for members of a social net this reference. Work in order to help a user of the social netWork better visualiZe connections and relationships betWeen social net FIELD OF THE INVENTION Work members. For example, the user can see a picture of a member of the social netWork and desire to see that member’ s The invention generally relates to social netWorks. More netWork of friends. The user can click on the member and a grid vieW of the member’s friends can then be displayed. The particularly, the invention relates to methods and systems for pro?les Within the grid vieW can be highlighted to indicate if the display and navigation of a social netWork. any of the member’s friends are also friends of the user. The pro?les can also be arranged in a ranking order based on hoW BACKGROUND 20 popular the pro?les are, hoW active they are on the social netWork, or on other factors that can help the user decide Conventional Websites may present a member’ s connec Which are more likely to be of interest. tions together With pro?les as sociated With those connections This introduction is given to introduce the reader to the in a list format. In such conventional Websites, only a small general subject matter of the application. By no means is the subset of the member’s connections is exposed. Conventional 25 invention limited to such subject matter. Exemplary embodi methods for displaying connections do not provide informa ments are described beloW. tion or pointers to facilitate further navigation. Some conven tional Websites provide a netWork graph that displays the System Architecture names of a member’s connections in concentric circles depending on Whether the connection is a friend, or a friend of 30 Various systems in accordance With the present invention a friend, etc. and alloWs a user to see links betWeen connected may be constructed. FIG. 1 is a diagram illustrating an exem pro?les. Such conventional Websites do not present informa plary system in Which exemplary embodiments of the present tion to the user to facilitate further navigation or alloW custom invention may operate. The present invention may operate, vieWing of the netWork. and be embodied in, other systems as Well. 35 Referring noW to the draWings in Which like numerals SUMMARY indicate like elements throughout the several ?gures, FIG. 1 is a diagram illustrating an exemplary environment for imple Embodiments of the present invention comprise systems mentation of an embodiment of the present invention. The and methods that improve social networking. One aspect of system 100 shoWn in FIG. 1 comprises multiple client devices one embodiment of the present invention comprises identify 40 10211-11 in communication With a server device 104 over a ing a ?rst pro?le in a social netWork, identifying associated netWork 106. In one embodiment, the netWork 106 shoWn pro?les associated With the ?rst pro?le, ranking the associ comprises the Internet. In other embodiments, other net ated pro?les, Wherein ranking is not based exclusively on a Works, such as an intranet, WAN, or LAN may be used. degree of separation, and outputting the associated pro?les Moreover, methods according to the present invention may based at least in part on the ranking. Another aspect of one 45 operate Within a single computer. embodiment comprises identifying a user pro?le, identifying The client devices 10211-11 shoWn in FIG. 1 each comprises a member pro?le, determining an associationpath for the user a computer-readable medium, such as a random access pro?le and the member pro?le, and outputting the association memory (RAM) 108 coupled to a processor 110. The proces path. Further features and advantages of the present invention sor 110 executes computer-executable program instructions are set forth beloW. 50 stored in memory 108. Such processors may comprise a microprocessor, an ASIC, and state machines. Such proces BRIEF DESCRIPTION OF THE DRAWINGS sors comprise, or may be in communication With, media, for example computer-readable media, Which stores instructions These and other features, aspects, and advantages of the that, When executed by the processor, cause the processor to present invention are better understood When the folloWing 55 perform the steps described herein. Embodiments of com Detailed Description is read With reference to the accompa puter-readable media include, but are not limited to, an elec nying draWings, Wherein: tronic, optical, magnetic, or other storage or transmission FIG. 1 illustrates a diagram of a system in accordance With device capable of providing a processor, such as the processor one embodiment of the present invention; 110 of client 10211, With computer-readable instructions. FIG. 2 illustrates one embodiment of a social netWork 60 Other examples of suitable media include, but are not limited according to one embodiment of the present invention; to, a ?oppy disk, CD-ROM, DVD, magnetic disk, memory FIG. 3 illustrates one embodiment of a display according to chip, ROM, RAM, anASIC, a con?gured processor, all opti one embodiment of the present invention; cal media, all magnetic tape or other magnetic media, or any FIG. 4 illustrates a How diagram of one embodiment of a other medium from Which a computer processor can read method carried out by the present invention; and 65 instructions. Also, various other forms of computer-readable FIG. 5 illustrates another How diagram of one embodiment media may transmit or carry instructions to a computer, of a method carried out by the present invention. including a router, private or public netWork, or other trans US 8,015,119 B2 3 4 mission device or channel, both wired and wireless. The cation with a social network database 130. Server device 104, instructions may comprise code from any suitable computer depicted as a single computer system, may be implemented as programming language, including, for example, C, C++, C#, a network of computer processors. Examples of a server Visual Basic, Java, Python, Perl, and JavaScript. device 104 are servers, mainframe computers, networked Client devices 10211-11 may also comprise a number of computers, a processor-based device, and similar types of external or internal devices such as a mouse, a CD-ROM, systems and devices. Client processor 110 and the server DVD, a keyboard, a display, or other input or output devices. processor 116 canbe any of a number of computer processors, Examples of client devices 10211-11 are personal computers, such as processors from Intel Corporation of Santa Clara, digital assistants, personal digital assistants, cellular phones, Calif. and Motorola Corporation of Schaumburg, Ill. mobile phones, smart phones, pagers, digital tablets, laptop Each pro?le within a social network can contain entries, computers, Internet appliances, and other processor-based and each entry can comprise information associated with a devices. In general, a client device 10211 may be any type of pro?le. Examples of entries for a person pro?le can comprise processor-based platform that is connected to a network 106 contact information such as an email addresses, mailing and that interacts with one or more application programs. address, IM name, or phone number; personal information Client devices 10211-11 may operate on any operating system such as relationship status, birth date, age, children, ethnicity, capable of supporting a browser or browser-enabled applica religion, political view, sense of humor, sexual orientation, tion, such as Microsoft® Windows® or Linux. The client fashion preferences, smoking habits, drinking habits, pets, devices 10211-11 can include, for example, personal computers hometown location, passions, sports, activities, favorite executing a browser application program such as Microsoft books, music, TV, or movie preferences, favorite cuisines; Corporation’s Internet ExplorerTM, Netscape Communica 20 professional information such as skills, career, or job descrip tion Corporation’s Netscape NavigatorTM, and Apple Com tion; photographs of a person or other graphics associated puter, Inc.’s SafariTM. with an entity; or any other information describing, identify Through the client devices 10211-11, users 11211-11 can com ing, or otherwise associated with a pro?le. Entries for a busi municate over the network 1 06 with each other and with other ness pro?le can comprise industry information such as mar systems and devices coupled to the network 106. As shown in 25 ket sector, customer base, location, or supplier information; FIG. 1, a server device 104 is also coupled to the network 106. ?nancial information such as net pro?ts, net worth, number of The server device 104 shown comprises a server executing employees, stock performance; or other types of information a social network engine application program, also known as a associated with the business pro?le. social network engine 120. The social network engine 120 The social network engine 120 comprises a path processor allows users, such as user 11211, to interact with and partici 30 122 and display processor 124. The path processor 122 can pate in a social network. A social network can refer to a determine an association path between pro?les. An associa computer network connecting entities, such as people or tion path can comprise the fewest number of associated pro organizations, by a set of social relationships, such as friend ?les associating a ?rst pro?le with a second pro?le. For ship, co-working, or information exchange. Of course, a example, if a pro?le A is associated with a pro?le B, and social network can refer to a computer application or data 35 pro?le B is associated with a pro?le C, then the association connecting such entities by such social relationships. path for pro?les A and C comprises A,B,C. An association Examples of social networks include Orkut.com and Friend path comprising the fewest number of associated pro?les ster.com. associating a ?rst path and a second path is referred to as a Social networks can comprise any of a variety of suitable shortest association path. A type-speci?c association path can arrangements. An entity or member of a social network can 40 also be determined, wherein the fewest number of associa have a pro?le and that pro?le can represent the member in the tions of a speci?c type are determined by the path processor social network. The social network can facilitate interaction 122. The path processor 122 can also determine a navigation between member pro?les and allow associations or relation path. A navigation path is an ordering of pro?les viewed by ships between member pro?les. Associations between mem the user 11211 to reach a particular pro?le. For example if user ber pro?les can be one or more of a variety of types, such as 45 11211 starts by viewing pro?le A and then views pro?le B by friend, co-worker, family member, business associate, com following a link from pro?le A, and ?nally follows another mon-interest association, and common-geography associa link from pro?le B to view pro?le C, the display path can be tion. Associations can also include intermediary relation A,B,C. ships, such as friend of a friend, and degree of separation The social network engine 120 further comprises a display relationships, such as three degrees away. 50 processor 124. The display processor 124 can receive an Associations between member pro?les can be reciprocal association path from the path processor 122 and con?gure associations. For example, a ?rst member can invite another the association path for presentation to a user, such as user member to become associated with the ?rst member and the 11211. The display processor 124 can also con?gure a social other member can accept or reject the invitation. A member network, or a portion of a social network, for presentation. For can also categorize or weigh the association with other mem 55 example, the display processor 124 can determine one or ber pro?les, such as, for example, by assigning a level to the more representative entries in the pro?le, for example, a name association. For example, for a friendship-type association, and a picture, and arrange the name and picture associated the member can assign a level, such as acquaintance, friend, with the pro?le so that the user 11211 can easily identify the good friend, and best friend, to the associations between the pro?les when presented on the client device 10211. Con?gur member’s pro?le and other member pro?les. In one embodi 60 ing a social network, or a portion of a social network for ment, the social network engine 120 can determine the type of presentation can further comprise determining a ranking for association between member pro?les, including, in some each of the pro?les in the social network, or portion of a social embodiments, the degree of separation of the association and network, and displaying the pro?les based at least in part on the corresponding weight or level of the association. the ranking for each pro?le. For example, the display proces Similar to the client devices 10211-11, the server device 104 65 sor 124 can determine a ranking for a pro?le based on a shown comprises a processor 116 coupled to a computer number of total pro?les associated with the pro?le and can readable memory 118. The server device 104 is in communi then arrange pro?les based at least in part on ranking. For US 8,015,119 B2 5 6 example, higher ranking pro?lesiin one embodiment, those dren, ethnicity, religion, political vieW, sense of humor, having relatively greater associated pro?lesian be displayed sexual orientation, fashion preferences, smoking habits, in a central location, or otherWise distinguished from loWer drinking habits, pets, hometoWn location, passions, sports, ranking pro?les When presented to the user 11211. activities, favorite books or music, TV or movie preferences, The display processor 124 can also present pro?les in a and favorite cuisines; contact information, such as email social netWork, or a portion of a social netWork, based on addresses, location information, instant messenger name, entries or associations of each of the pro?les. For example, telephone numbers, and address; professional information, the display processor can display in bold type, or otherWise such as job title, employer, and skills; educational informa emphasiZe or distinguish, pro?les that are associated With a tion, such as schools attended and degrees obtained, and any member currently vieWing the social netWork such as the user other suitable information describing, identifying, or other 11211. Thus, for example, When the user 11211 is vieWing the Wise associated With a person. A business’member pro?le social netWork, the display processor 124 can con?gure a can, for example, contain a description of the business, and portion of the social netWork being presented to the user 11211 information about its market sector, customer base, location, such that each of the names of pro?les that represent friends suppliers, net pro?ts, net Worth, number of employees, stock of the user 11211 are displayed in bold type. So, if associated performance, contact information, and other types of suitable pro?les A, B, and C are presented to the user 11211, and information associated With the business. pro?lesA and B represent friends of user 11211, as represented A member pro?le can also contain rating information asso by their respective pro?les, embodiments of the present ciated With the member. For example, the member can be invention can display the names associated With pro?les A rated or scored by other members of the social netWork 200 in and B in bold type. 20 speci?c categories, such as humor, intelligence, fashion, Server device 104 also provides access to storage elements, trustworthiness, sexiness, and coolness. A member’s cat such as a social netWork storage element, in the example egory ratings can be contained in the member’ s pro?le. In one shoWn in FIG. 1, a social netWork database 130 that can be embodiment of the social netWork, a member can have fans. used to store pro?les. Data storage elements may include any Fans can be other members Who have indicated that they are one or combination of methods for storing data, including 25 “fans” of the member. Rating information can also include the Without limitation, arrays, hash tables, lists, and pairs. Other number of fans of a member and identi?ers of the fans. Rating similar types of data storage devices can be accessed by the information can also include the rate at Which a member server device 104. The social netWork engine 120 can receive accumulated ratings or fans and hoW recently the member has data comprising pro?les from the social netWork database been rated or acquired fans. 130 and can also send data comprising pro?les to the social 30 A member pro?le can also contain social netWork activity netWork database 130 for storage. The social netWork data data associated With the member. Membership information base 130 may be physically attached or otherWise in commu can include information about a member’s login patterns to nication With the social netWork engine 120 by Way of a the social netWork, such as the frequency that the member netWork or other connection. logs in to the social netWork and the member’s most recent It should be noted that the present invention may comprise 35 login to the social netWork. Membership information can also systems having different architecture than that Which is include information about the rate and frequency that a mem shoWn in FIG. 1. For example, in some systems according to ber pro?le gains associations to other member pro?les. In a the present invention, server device 104 may comprise a social netWork that comprises advertising or sponsorship, a single physical or logical server. The system 100 shoWn in member pro?le may contain consumer information. Con FIG. 1 is merely exemplary, and is used to help explain the 40 sumer information may include the frequency, patterns, social netWorks and methods illustrated in FIGS. 2-5. types, or number of purchases the member makes, or infor mation about Which advertisers or sponsors the member has Exemplary Social Network accessed, patroniZed, or used. A member pro?le may comprise data stored in memory. FIG. 2 shoWs a diagram of a social netWork 200 according 45 The pro?le, in addition to comprising data about the member, to one embodiment of the present invention. According to the can also comprise data relating to others. For example, a embodiment illustrated in FIG. 2, the social netWork 200 is member pro?le can contain an identi?cation of associations illustrated With a graph comprising vertices 202, 204, 206, or virtual links With other member pro?les. In one embodi 208, 210, 212, and 214 and edges 218, 220, 222, 224, 226, ment, a member’s social netWork pro?le may comprise a 228, 230, 232, 234, 236, 238, and 240. The vertices 202,204, 50 hyperlink associated With another member’s pro?le. In one 206, 208, 210, 212, and 214 comprise pro?les A, B, C, D, E, such association, the other member’s pro?le may contain a F, and G respectively. Each pro?le can represent a member reciprocal hyperlink associated With the ?rst member’s pro pro?le of a member of the social netWork 200. According to ?le. A member’s pro?le may also contain information another embodiment, one or more of the vertices can repre excerpted from another associated member’ s pro?le, such as sent a community. The methods and systems discussed beloW 55 a thumbnail image of the associated member, his or her age, are equally applicable to an embodiment Where the vertices marital status, and location, as Well as an indication of the comprise one or more communities, but for purposes of illus number of members With Which the associated member is tration, the vertices depicted in FIG. 2 represent member associated. In one embodiment, a member’ s pro?le may com pro?les. The exemplary netWork 200 shoWn in FIG. 2 has prise a list of other social netWork members’ pro?les With seven members. Considerably more members can be part of 60 Which the member Wishes to be associated. the social netWork 200.A member can be an entity such as, for An association may be designated manually or automati example, a person, an organiZation, a business, a corporation, cally. For example, a member may designate associated mem a community, a ?ctitious person, or other suitable entity. bers manually by selecting other pro?les and indicating an Each member pro?le can contain entries, and each entry association that can be recorded in the member’s pro?le. can comprise information associated With a pro?le. For 65 According to one embodiment, associations can be estab example, a person’s member pro?le can contain: personal lished by an invitation and an acceptance of the invitation. For information, such as relationship status, birth date, age, chil example, a ?rst user can send an invitation to a second user US 8,015,119 B2 7 8 inviting the second user to form an association With the ?rst 2 comprise bi-directional associations. An association user. The second user can accept or reject the invitation. betWeen tWo pro?les may comprise a bi-directional associa According to one embodiment, if the second user rejects the tion When both parties to the association are associated With invitation, a one-Way association can be formed betWeen the each other. For example, in FIG. 2, pro?leA is associated With ?rst user and the second user. According to another embodi pro?le D, and pro?le D is also associated With pro?le A. In ment, if the second user rejects the association, no association one embodiment, pro?les A and D Will not be bi-directionally may be formed betWeen the tWo users. Also, an association associated With each other until both pro?les consent to such betWeen tWo pro?les may comprise an association automati an association. For example, pro?le A may invite pro?le D to cally generated in response to a predetermined number of be associated thereWith, and the bi-directional association common entries, aspects, or elements in the tWo members’ occurs upon pro?le D’s acceptance of such invitation. The pro?les. In one embodiment, a member pro?le may be asso invitation, for example, may include sending an email or ciated With all of the other member pro?les comprising a other message to pro?le D indicating that pro?le A has predetermined number or percentage of common entries, requested an association With pro?le D. such as interests, hobbies, likes, dislikes, employers and/or Other embodiments of the present invention may comprise habits. Associations designated manually by members of the directed associations or other types of associations. Directed social netWork, or associations designated automatically associations can associate a ?rst pro?le With a second pro?le based on data input by one or more members of the social While not requiring the second pro?le to be associated With netWork, can be referred to as user established associations. the ?rst pro?le. For example, pro?le A can be associated by a Associations betWeen pro?les Within a social netWork can friendship association With pro?le B, and pro?le B can be be of a single type or can be multiple types and can include, 20 unassociated With pro?le A, or pro?le B can be associated for example, friendship associations, business associations, With pro?le A through a different type of association, such as family associations, community associations, school associa a business association. Thus a display of pro?le A’s friends tions, or any other suitable type of link betWeen pro?les. can include pro?le B, but a display of pro?le B’s friends Associations can further be Weighted to represent the strength Would not include pro?le A. of the association. For example, a friendship association can 25 According to another embodiment, a directed or single be Weighted more than a school association. Each type of direction association can be formed When one member indi association can have various levels With different Weights cates an association With a second member but the second associated With each level. For example, a friendship asso member does not reciprocate the association. For example, a ciation can be classi?ed according to Which of a plurality of member associated With pro?le A can indicate that he is a friendship association levels it belongs to. In one embodi 30 friend of a member associated With pro?le B. The member ment, a friendship association may be assigned a level by the associated With pro?le B in this example can decide not to member from a list of levels comprising: a best friend, a good indicate that the member associated With pro?le A is a friend. friend, a regular friend, an acquaintance, and a friend the According to one embodiment, pro?le B Would not be dis member has not met. played With pro?le A’s friends nor Would pro?le A be dis In FIG. 2, the edges 218, 220, 222, 224, 226, 228, 230, 232, 35 played With pro?le B’s friends as the association Was not 234, 236, 238, and 240 shoWn comprise associations betWeen reciprocated by pro?le B. Similarly, pro?le B may not be pro?les. According to the embodiment shoWn in FIG. 2, the included, for example, Within a listing of friends of pro?le A social netWork 200 comprises a plurality of differing types of for purposes of determining degrees of separation, for associations represented by edges 218, 220, 222, 224, 226, example. Thus, in such an embodiment, the displaying of 228, 230, 232, 234, 236, 238, and 240. The types of associa 40 pro?le B can be controlled by the associations the member tions shoWn in FIG. 2 for illustration purposes are business associated With pro?le B assents to. associations, activity partner associations, friendship associa Within a social netWork, a degree of separation can be tions, community associations, and common characteristic determined for associated pro?les. In one embodiment, a associations. Common characteristic associations may degree of separation betWeen tWo pro?les can be determined include, for example, associations based on some character 45 by the feWest number of edges of a certain type separating the istic, such as attending the same high school orbeing from the associated pro?les. In another embodiment, a type-speci?c same hometoWn, and can indicate a loWer level of signi? degree of separation may be determined. A type-speci?c cance than another type of association, such as a friendship degree of separation comprises a degree of separation deter association. mined based on one particular type of association. For Referring to FIG. 2, edge 220 and edge 222 each comprise 50 example, a pro?le A has a friend association degree of sepa an association betWeen pro?leA at vertex 202 and pro?le D at ration of tWo from pro?le E. The feWest number of friendship vertex 208. The edge 220 represents a business association, associations betWeen pro?le A and pro?le E is tWoithe and the edge 222 represents a friendship association. Pro?leA friendship association comprising edge 222 betWeen pro?les is also associated With pro?le E by a common characteristic A and D and the friendship association comprising edge 234 association comprising edge 218. The association betWeen 55 betWeen pro?les D and E. Thus, for the associated pro?les A pro?le A and pro?le E may be more attenuated than the and E, the degree of friendship separation, determined association betWeen pro?le A and D, but the association can according to one aspect of one embodiment of the present still be represented by the social netWork depicted in FIG. 2. invention, is tWo. Each member represented by the pro?les A, B, C, D, E, F, Another type-speci?c degree of separation can also be and G comprising the vertices 202, 204, 206, 208, 210, 212, 60 determined for pro?les A and E. For example, a common and 214 respectively, for purposes of illustration, comprises a characteristic degree of separation can be determined by person. Other types of members can be in social netWork 200. determining the feWest number of common characteristic For example, communities, special interest groups, organiZa associations separating pro?le A and pro?le E. According to tions, political parties, universities, and legal persons, such as the embodiment depicted in FIG. 2, there is one common corporations and business partnerships may be members of 65 characteristic association, comprising edge 218, separating the social netWork 200. The associations 218, 220, 222, 224, pro?lesA and E. Thus, the common characteristic association 226, 228, 230, 232,234,236, 238, and 240 illustrated in FIG. degree of separation, according to the embodiment depicted US 8,015,119 B2 9 10 in FIG. 2, is one. The common characteristic in this example ciated pro?le can help a user navigate the social netWork by can be that pro?le A attended the same high school as pro?le pointing the user 11211 toWards pro?les that Will be associated E. A common characteristic association may be selected by With more pro?les and thus pointing the user 11211 aWay from pro?les A and E to represent that they are associated in some “dead ends,” or pro?les that are associated With feW or no fashion, but to not create a close association, such as With a other pro?les. friendship association. A type-neutral degree of association can also be determined. A type-neutral degree of association Process can be determined by determining the feWest number of edges connecting tWo vertices, regardless of type. Various methods in accordance With the present invention According to other aspects of certain embodiments of the may be carried out. One exemplary method according to the present invention, the degree of separation may be deter present invention comprises identifying a ?rst pro?le in a mined by use of a Weighting factor assigned to each associa social netWork, identifying associated pro?les associated tion. For example, close friendships can be Weighted higher With the ?rst pro?le, ranking the associated pro?les, Wherein than more distant friendships. According to certain aspects of ranking is not based exclusively on a degree of separation, embodiments using a Weighting factor, a higher Weighting and outputting the associated pro?les based at least in part on factor for an association can reduce the degree of separation the ranking. betWeen pro?les and loWer Weighting factors can increase the According to another embodiment the ranking can be degree of separation. This can be accomplished, for example, based at least in part on social netWork activity data. The by establishing an inverse relationship betWeen each associa social netWork activity data can comprise one or more of tion and a corresponding Weighting factor prior to summing 20 login frequency, number of logins, date of last pro?le update, the associations. Thus, highly Weighted associations Would existence of an email address, existence of a picture, and contribute less to the resulting sum than loWer Weighted asso instant messaging availability status. According to another ciations. embodiment the ranking can be based at least in part on FIG. 3 illustrates a display 300 of a social netWork accord biography data. The biography data can comprise one or more ing to one embodiment of the present invention. The display 25 of age, name, interests, and geographical location. According 300 comprises a selected member graphic 302, a selected to another embodiment the ranking can be based at least in member pro?le 304, an association path 306, and a display part on popularity data. The popularity data can comprise one grid 308. The selected member graphic 302 comprises a or more of a number of pro?les associated With a ?rst pro?le, graphic associated With the selected member pro?le. The feedback, and rating data. According to another embodiment selected member pro?le can represent a pro?le the user 11211 30 the ranking can be based at least in part on data indicating has selected by clicking on a link, or other suitable input relatedness. The data indicating relatedness can comprise one method, in order to vieW additional information about the or more of an amount of common entries, a degree of sepa pro?le. The selected member graphic 302 can comprise, for ration, and an amount of contacts betWeen pro?les. Accord example, a picture, graphic, draWing, or other image associ ing to another embodiment the ranking can be based on cus ated With the selected member pro?le. The selected member 35 tom settings entered by a user. pro?le 304 can comprise information describing the selected Another exemplary method of one embodiment of the member, for example, a name, location, age, sex, and inter present invention comprises identifying a user pro?le, iden ests. The selected member pro?le can also contain other suit tifying a member pro?le, determining an association path for able information determined, for example, by the display the user pro?le and the member pro?le, and outputting the processor 124 to be representative of the selected member. 40 associationpath. According to another embodiment, the asso Alternatively, the selected member pro?le can display all of ciation path can comprise a shortest path, type speci?c path, the information associated With the selected member. or navigation path. According to another embodiment the The association path 306 can comprise one or more asso pro?les can be displayed in a grid format and can be posi ciation paths determined by the path processor 122 including, tioned based on ranking order. for example, a shortest association path, a type-speci?c asso 45 FIG. 4 illustrates a method 400 in accordance With one ciation path, or a navigation path. The association path 306 embodiment of the present invention. The method 400 illus can display a name associated With each pro?le in the asso trated in FIG. 4 begins in block 402, Wherein the social ciation path. For example, in the embodiment depicted in netWork engine 120 identi?es a user pro?le. The user pro?le FIG. 3, “Orkut” represents the user 11211, “Larry” represents can correspond to the pro?le of the user vieWing the social an associated pro?le Within the association path of the user 50 netWork, such as the user 11211. Once the social netWork 11211 and the selected member, and “Brandon” represents the engine 120 identi?es a user pro?le, the method 400 proceeds selected member. By presenting an association path, the to block 404, Wherein the social netWork engine 120 deter present invention can alloW the user 11211 to visualiZe the mines a member pro?le. The member pro?le can be, for chain of connections linking the user 11211, Orkut, to a example, a pro?le of a member of the social netWork that the selected member. For example, Orkut can see that he is linked 55 user 11211 desires to learn more about and selects, for to Brandon by Way of Larry. The names representing the example, by clicking on a link to the pro?le, such as the link pro?les in the association path can comprise links to the “Larry” depicted in FIG. 3. According to other embodiments, represented pro?le. the member pro?le can be identi?ed by other suitable meth The display grid 308 can further comprise graphics asso ods such as selecting a default member pro?le or selecting a ciated With a plurality of associated pro?les, names associ 60 last vieWed member pro?le. ated With each of the pro?les Within the plurality of pro?les, Once a member pro?le is determined, the method 400 and a number representing a total number of associations for proceeds to block 406, Wherein the social netWork search the associated pro?le. For example, a graphic above “Kerah” engine 120 identi?es associated pro?les associated With the in FIG. 3 can represent an associated pro?le “Kerah,” and the member pro?le determined in block 404. The associated pro number “28” to the right of “Kerah” can represent a total 65 ?le can comprise, for example, pro?les associated by a spe number of pro?les associated With “Kerah.” The number rep ci?c type of association, such as a friendship association, or resenting a total number of pro?les associated With an asso pro?les associated by any or all other types of associations US 8,015,119 B2 11 12 Within a social network. By determining associated pro?les ing hoW many pro?les are associated With a given pro?le, the by a certain type of association, the method 400 can cause the display processor 124 can identify hoW many pro?les are display of a type-speci?c social netWork. By selecting pro Within a certain degree of separation from the given pro?le. ?les associated by each and every type of association in a For example, the display processor 124 can identify hoW social netWork, the method 400 can cause the display of a many pro?les are Within one degree of separation and thus type-neutral social netWork. determine a popularity based, for example on hoW many Once associated pro?les are identi?ed by the netWork “friends” a pro?le has and not on hoW many “friends of a search engine 120, the method 400 proceeds to block 408, friend” the pro?le has. Alternatively, other degrees of sepa Wherein the display processor 124 determines a ranking for ration could be used. Additionally, the display processor 124 each associated pro?le. Ranking associated pro?les can help can determine a rating score recursively factoring in a number the user 11211 ?nd pro?les more likely to be of interest and of pro?les associated in turn With each associated pro?le. otherWise facilitate navigation of the social netWork. For Ranking based on popularity can also comprise receiving example, some users of a social netWork may initially set up feedback or ratings from members of the social netWork. For an account but access the account infrequently or cease using example, the social netWork engine 120 can alloW members it altogether. Such users may not be as desirable of associa of the social netWork to enter ratings for a given member of tions as users Who frequently access the social netWork. The the social netWork and store the ratings in association With the display processor 124 can rank pro?les to help users easily given member. Ratings can include, for example, indications identify, for example, Which pro?les are more active than of hoW friendly, attractive, cool, trustworthy, etc. the given others. member is perceived to be. The ratings canbe compiled by the There are many Ways in Which the associated pro?les can 20 display processor 124 to determine a ranking for the pro?les be ranked. The ranking for an associated pro?le can be deter of the social netWork thus enabling a user to easily identify mined, for example, based on social netWork activity data, Which pro?les are perceived to be more popular. biography data, popularity data, relatedness data, or other Rankings based on relatedness data can comprise, for suitable types of data tending to distinguish pro?les. example, ranking based on an amount of common entries Ranking pro?les based on social netWork activity can com 25 betWeen pro?les, a degree of separation betWeen pro?les, an prise, for example, ranking users based on hoW frequently or amount of contacts such as instant messages or emails hoW often a member of the social netWork logs on to the social betWeen contacts, or other suitable data indicating hoW netWork, hoW often or hoW recently a member has updated his closely related tWo pro?les are. For example, the display pro?le information, When a member joined the social net processor 124 can identify that the user 11211 has sent and Work, Whether a member is currently available for instant 30 received a high number of emails from a certain member of messaging, Whether a member has an available email address, the social netWork. The display processor 124 can thus deter a picture, or other identi?ers associated With his pro?le, or mine a higher ranking for the certain member of the social other information tending to indicate that a member is netWork than for an other members With Whom the user 11211 actively using or available on the social netWork. has had little contact. Ranking pro?les based on biography data associated With 35 The ranking for each associated pro?le can be speci?c to a pro?le can comprise, for example, ranking pro?les based on the user 11211 vieWing the social netWork, or non-user spe age, name, geographical location, interests, or other suitable ci?c. For example, if the user 11211 has indicated a strong information associated With the pro?le. For privacy concerns, association With the associated pro?le receiving a ranking, the display processor 124 can require a permission indication the associated pro?le can receive a higher ranking. If another for sharing biography information prior to ranking pro?les 40 user, for example user 112b, has indicated a dislike of the based on such information. As an example of ranking based same associated pro?le, the associated pro?le can receive a on biography date, the display processor 124 can identify an loWer ranking When the social netWork is being vieWed by age associated With the user’s 112a pro?le and identify ages user 1121). Alternatively, each associated pro?le can receive for associated pro?les. The display processor 124 can then the same ranking based on factors independent of Which user rank the pro?les based on closeness of age and output the 45 is vieWing the social netWork. pro?les such that pro?les closer in age to the user 11211 are Once a ranking for each associated pro?le is determined, emphasiZed over other pro?les, for example. As other the method 400 proceeds to block 410, Wherein associations examples of ranking based on biography data, the display With the user pro?le are determined. The associations With the processor 124 can cause the pro?les to be ranked alphabeti user pro?le can comprise associations betWeen an associated cally to facilitate locating knoWn pro?les, or ranked based on 50 pro?le and the pro?le of the user 11211. For example, in the geographical location. For example, the user’s 112a pro?le social netWork depicted in FIG. 3, “Kerah” is an associated can indicate a geographical location of California, and asso pro?le, and “Orkut” is the pro?le of the user 11211. During ciated pro?les can be ranked according to the closeness of block 410, the social netWork engine 120 can determine asso their geographical to California. Thus, for example, a pro?le ciations betWeen “Kerah” and “Orkut.” The associations indicating a geographical location of NeWYork can be ranked 55 determined in block 410 can be passed to the display proces loWer than a pro?le indicating a geographical location of sor 124. The display processor 124 can then format the name AriZona, and thus the user 11211 can more readily identify representing the associated pro?le based in part on the asso local users. ciations received from the social netWork engine 120. For Ranking based on popularity data can comprise, for example, in FIG. 3, “Kerah” comprises a friend association example, ranking pro?les based on a number of pro?les to 60 With “Orkut.” The social netWork search engine can deter Which the pro?le is associated, ranking pro?les based on mine the friend association betWeen “Kerah” and “Orkut” and feedback or ratings from social netWork members, or raking pass this association to the display processor 124. pro?les based on other suitable indications of popularity for a The display processor 124 can then con?gure the social user pro?le. For example, the display processor 124 can netWork so that the name “Kerah” is highlighted in some determine hoW many pro?les are associated With each pro?le 65 fashion such as With a distinguishing color, font, or typeface. and rank pro?les associated With a greater number of pro?les For example, in FIG. 3, the name “Kerah” appears in bold higher than those associated With feWer pro?les. In determin typeface. The distinguished typeface for “Kerah” can indicate US 8,015,119 B2 13 14 to the user 11211 that “Kerah” is a friend of the user 11211. The pro?le of a member of the social netWork that the user 11211 social network engine 120 can determine other associations desires to learn more about and selects, for example, by betWeen the associated pro?le and the user 11211 including clicking on a link to the pro?le, such as the link “Larry” other types of pro?le associations, such as business associa depicted in FIG. 3, or by any other suitable method. tions or acquaintance associations, as Well as other associat Once a member pro?le is identi?ed, the method 500 pro ing information such as common interests, common location, ceeds to block 506, Wherein the patch processor 122 deter common age, or any other suitable associating information. mines an association path for the user pro?le and the member The associating information can be determined, for example, pro?le determined in blocks 502 and 504. During block 506, by matching entries Within pro?les. Entries can be matched the path processor 122 can determine any suitable type of by determining same or similar entries, determining match association path including a shortest association path or a ing part and counter-part entriesisuch as “men seeking type-speci?c association path. An association path can be Women” and “Women seeking men,” or by concept clustering. determined by determining the feWest number of edges sepa Once associations are determined betWeen the associated rating associated pro?les and then determining the pro?les pro?le and the user pro?le, the method 400 proceeds to block comprising the vertices joined by the edges. For example, in 342 Wherein the display processor 124 causes the display of FIG. 2, the feWest number of edges betWeen pro?les A and F the member pro?le. The display processor 124 can cause the is 3, edges 232, 236, and 240. The vertices joined by those member pro?le to be displayed, for example, similar to the edges are 202, 206, 214, and 212. The pro?les represented by display illustrated in FIG. 3. The display processor 124 can these vertices are pro?les A, C, G, and F. Thus the association select representative entries Within the member pro?le, for path for pro?les A and F can be A, C, G, F. example a name, age, sex, relationship status, location, and 20 Another method of determining an association path is to interests of the member. The display processor 124 can also determine the feWest number of edges of a certain type sepa cause an icon, graphic, picture, or other image associated With rating the associated pro?les and to then determine the pro the pro?le to be displayed. Additionally, the display processor ?les comprising the vertices joined by the edges. This method 124 can determine a background color for the member pro?le of determining an association path can produce a type-spe corresponding to an entry, attribute, rating, or score associ 25 ci?c association path. A type-speci?c association path is an ated With the member pro?le. For example, if the member association path determined based on one particular type of pro?le has been rated “cool” by other users, the display pro association. For example, in FIG. 2, the feWest number of cessor 124 can re?ect this by causing the display of a blue friendship associations betWeen pro?le A and pro?le E is background color for the member pro?le. In the exemplary tWoithe friendship association comprising edge 220 and the embodiment illustrated in FIG. 3, background patters are 30 friendship association comprising edge 234. The pro?les used instead of colors to indicate pro?le attributes.According comprising the vertices 202, 208, and 210 joined by the edges to other embodiments, other distinguishing patterns of suit are A, D and E. Thus, for the associated pro?les A and E, the able features can be used. friendship association path, determined according to one Once the display processor 124 causes the display of the embodiment of the present invention, is A, D, E. member pro?le, the method 400 proceeds to block 414, 35 Another type-speci?c association path can also be deter Wherein the display processor 124 causes the display of the mined for pro?les A and E. For example, a common charac associated pro?les. The associated pro?les can be displayed, teri stic association path can be determined by determining the for example, in a display grid similar to the display grid 308 feWest number of common characteristic associations sepa illustrated in FIG. 3. The display processor 124 can order the rating pro?le A and pro?le E. According to the embodiment associated pro?les based on the ranking determined in block 40 depicted in FIG. 2, there is one common characteristic asso 408. For example, the display processor can cause pro?les ciation, comprising edge 218, separating pro?les A and E. With a higher ranking to be displayed closer to the center of a Thus, the common characteristic association path, according display grid. Thus, according to the embodiment illustrated in to the embodiment depicted in FIG. 2, is simply A, E. In FIG. 3, “Larry (204)” in the center of the display grid 308 has addition to a shortest association path and a type-speci?c a higher ranking than “Gaku (11)” in the bottom left of the 45 association path, the path processor 122 can also determine a display grid 308. The ranking can be determined by any navigation path. The navigation path can comprise the path suitable method, including any or all of the methods previ the user 11211 folloWs to reach a selected member pro?le. For ously discussed. Additionally, the display processor 124 can example, if “Orkut” represents the user 11211 Who ?rst vieWs determine a background color associated With each associ a pro?le “Larry” and then vieWs a pro?le “Brandon,” the ated pro?le indicating an entry association, score, rating, or 50 navigation path can be “Orkut,” “Larry,” “Brandon.” The other feature of the associated pro?le. The display processor navigation path can thus help the user 11211 visualiZe the 124 can use a threshold number to determine the number of sequence of pro?les vieWed in reaching a selected member associated pro?les to display in a display grid. The threshold pro?le. Once the path processor 122 determines an associa number can be a set integer, or a variable based in part, for tion path, the path processor 122 passes the association path example, on the siZe of graphics or pictures associated With 55 to the display processor 124. the pro?les, the siZe of a broWser WindoW, the bandWidth, or Once the display processor 124 receives the association other limiting capacity, of a netWork connection betWeen the path, the method 500 proceeds to block 508, Wherein the client device 102a and the netWork 106, a time constraint, display processor 124 causes the association path to be pre performance constraint, or any other suitable factor. sented. The association path can be presented by displaying FIG. 5 illustrates a method 500 in accordance With one 60 the association path on a social netWork display such as the embodiment of the present invention. The method 500 begins social netWork display depicted in FIG. 3, or by any other in block 502, Wherein a user pro?le is identi?ed. The user suitable method. A display of the association path can com pro?le can correspond to the pro?le of the user vieWing the prise the names of the members associated With the pro?les social netWork, such as user 11211. Once the social netWork comprising the association path presented, for example, as engine 120 identi?es a user pro?le, the method 500 proceeds 65 links to a detailed vieW of the pro?le associated With the to block 504, Wherein the social netWork engine 120 identi?es name. According to some embodiments, the names can be a member pro?le. The member pro?le can be, for example, a presented in order of association, for example, in the social US 8,015,119 B2 15 16 network display illustrated in FIG. 3, “Orkut” is associated existence of a picture corresponding to each of the asso With “Larry” and “Larry” is associated With “Brandon,” thus, ciated pro?les, biographical information, age informa the order of the names from left to right can be “Orkut,” tion, name information, interest information, location “Larry,” “Brandon.” Other suitable presentations can also be information, and user-entered settings. used including presenting edges comprising differing types 9. The method of claim 1, further comprising: of associations betWeen the names presented, a numbered determining by the server device an association path for the listing, or some other suitable display method. ?rst pro?le and one of the ranked associated pro?les; and While the above description contains many speci?cs, these transmitting to a display device the association path. speci?cs should not be construed as limitations on the scope 10. The method of claim 1, further comprising ranking the of the invention, but merely as exempli?cations of the dis 10 associated pro?les based on popularity of each of the associ closed embodiments. Those skilled in the art Will envision ated pro?les. any other possible variations that are Within the scope of the 11. The method of claim 1, further comprising ranking the invention. associated pro?les based on activity levels of the associated What is claimed: pro?les. 1. A computer-implemented method, comprising: 15 12. The method of claim 1, further comprising ranking the identifying by a server device a ?rst pro?le in a social associated pro?les based on recency of activity of each of the netWork, the social netWork comprising a computer net associated pro?les. Work connecting the server device and a plurality of 13. The method of claim 1, further comprising ranking the client devices, the pro?les maintained in a database; associated pro?les based on frequency of updating of each of identifying by the server device associated pro?les associ 20 the associated pro?les. ated With the ?rst pro?le; 14. The method of claim 1, further comprising ranking the ranking by the server device the associated pro?les, associated pro?les based on recency of updating of each of Wherein the ranking is independent of a relationship to the associated pro?les. the ?rst pro?le and is based on at least one of: availability 15. A computer-readable storage medium containing pro for instant messaging and availability for email contact; 25 gram code to be used on a computer comprising program code determining by the server device relationships betWeen the that instructs one or more computer processors to: identify a ?rst pro?le and the ranked associated pro?les; and ?rst pro?le in a social netWork; identify associated pro?les transmitting to a display device the associated pro?les associated With the ?rst pro?le; rank the associated pro?les, based on the ranking and on the relationships betWeen Wherein the ranking is independent of a the ?rst pro?le and the ranked associated pro?les. 30 relationship to the ?rst pro?le and is based on at least one 2. The method of claim 1, Wherein transmitting the asso of: popularity of each of the associated pro?les, activity ciated pro?les comprises outputting a display grid, the dis levels of the associated pro?les, recency of activity of play grid presenting to a user a ?rst subset of associated each of the associated pro?les, frequency of updating of pro?les in a ?rst manner indicative of a ?rst rank and present each of the associated pro?les, recency of updating of ing to the user a second subset of associated pro?les in a 35 each of the associated pro?les, availability for instant second manner indicative of a second rank. messaging, and availability for email contact; 3. The method of claim 2, Wherein an association type for determine relationships betWeen the ?rst pro?le and the each associated pro?le is graphically represented to the user ranked associated pro?les; and on the display grid so as to facilitate the user’s prompt rec transmit the associated pro?les based on the ranking and on ognition of said association type for each associated pro?le. 40 the relationships betWeen the ?rst pro?le and the ranked 4. The method of claim 2, Wherein transmitting the asso associated pro?les. ciated pro?les comprises: 16. The computer-readable storage medium of claim 15, outputting graphics associated With the associated pro?les Wherein transmitting the associated pro?les comprises out included in the display grid, names associated With each putting a display grid, the display grid presenting to a user a of the associated pro?les included in the display grid, 45 ?rst subset of associated pro?les in a ?rst manner indicative and a number representing a total number of associa of a ?rst rank and presenting to the user a second subset of tions for each of the associated pro?les included in the associated pro?les in a second manner indicative of a second display grid, and Wherein the number representing a rank. total number of associations for an associated pro?le 17. The computer-readable storage medium of claim 16, points to pro?les associated With more pro?les. 50 Wherein an association type for each associated pro?le is 5. The method of claim 2, Wherein pro?les included in the graphically represented to the user on the display grid so as to ?rst subset of associated pro?les are displayed more centrally facilitate the user’s prompt recognition of said association on the display grid than pro?les included in the second sub set type for each associated pro?le. of associated pro?les. 18. The computer-readable storage medium of claim 16, 6. The method of claim 1, Wherein transmitting the asso 55 Wherein transmitting the associated pro?les comprises: ciated pro?les comprises presenting to a user a ?rst subset of outputting graphics associated With the associated pro?les associated pro?les With a background color or a background included in the display grid, names associated With each pattern indicative of a ?rst rank and presenting to the user a of the associated pro?les included in the display grid, second subset of associated pro?les With a background color and a number representing a total number of associa or a background pattern indicative of a second rank. 60 tions for each of the associated pro?les included the 7. The method of claim 2, Wherein a threshold number is display grid, and Wherein the number representing a used to determine hoW many associated pro?les to display on total number of associations for an associated pro?le the display grid. points to pro?les associated With more pro?les. 8. The method of claim 1, further comprising: 19. The computer-readable storage medium of claim 16, ranking the associated pro?les based on at least one of: date 65 Wherein pro?les included in the ?rst subset of associated that members corresponding to the associated pro?les pro?les are displayed more centrally on the display grid than joined the social netWork, member-provided ratings, pro?les included in the second subset of associated pro?les. US 8,015,119 B2 17 18 20. The computer-readable storage medium of claim 15, 24. The computer-readable storage medium of claim 15, wherein transmitting the associated pro?les comprises pre further comprising program code that instructs the one or senting to a user a ?rst subset of associated pro?les With a more computer processors to rank the associated pro?les background color or a background pattern indicative of a ?rst based on popularity of each of the associated pro?les. rank and presenting to the user a second subset of associated 25. The computer-readable storage medium of claim 15, pro?les With a background color or a background pattern further comprising program code that instructs the one or indicative of a second rank. more computer processors to rank the associated pro?les 21. The computer-readable storage medium of claim 16, based on activity levels of the associated pro?les. Wherein a threshold number is used to determine hoW many 26. The computer-readable storage medium of claim 15, associated pro?les to display on the display grid. 22. The computer-readable storage medium of claim 15, further comprising program code that instructs the one or further comprising program code that instructs the one or more computer processors to rank the associated pro?les based on recency of activity of each of the associated pro?les. more computer processors to: rank the associated pro?les relative to each other based on 27. The computer-readable storage medium of claim 15, at least one of: date that members corresponding to the further comprising program code that instructs the one or associated pro?les joined the social netWork, member more computer processors to rank the associated pro?les provided ratings, existence of a picture corresponding to based on frequency of updating of each of the associated each of the associated pro?les, biographical informa pro?les. tion, age information, name information, interest infor 28. The computer-readable storage medium of claim 15, mation, location information, and user-entered settings. further comprising program code that instructs the one or 23. The computer-readable storage medium of claim 15, 20 more computer processors to rank the associated pro?les further comprising program code that instructs the one or based on recency of updating of each of the associated pro more computer processors to: ?les. determine an association path for the ?rst pro?le and one of the ranked associated pro?les; and transmit the association path.