Match Group, LLC v. Bumble Trading Inc.

Western District of Texas, txwd-6:2018-cv-00080

Exhibit E

Interested in this case?

Current View

Full Text

7 Exhibit E 7 USOO856.6327B2 (12) United States Patent (10) Patent No.: US 8,566,327 B2 Carrico et al. (45) Date of Patent: Oct. 22, 2013 (54) MATCHING PROCESS SYSTEMAND 2005, 0021750 A1 1/2005 Abrams ........................ 709,225 METHOD 2006/0059147 A1* 3, 2006 Weiss et al. . TO7/6 2006/0085419 A1* 4, 2006 Rosen ......... 707/9 (75) Inventors: Todd M. Carrico, Sachse, TX (US); 2006/0106780 AI 52006 Dagan ............................ 707/3 Kenneth B. Hoskins, Plano, TX (US); 2007/OO73687 A1 3, 2007 Terrill et al. ...................... 707/6 i. s s 2007, OO73803 A1* 3, 2007 Terrill et al. ....... TO9,203 James C. Stone. Addison, TX (US) 2008/0294624 A1* 1 1/2008 Kanigsberg et al. 707/5 2008/0301 118 A1* 12/2008 Chien et al. ........ 707/5 (73) Assignee: Match.com, L.L.C., Dallas, TX (US) 2009/0106040 A1* 4/2009 Jones ................................ 705/1 (*) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 OTHER PUBLICATIONS U.S.C. 154(b) by 685 days. PCT Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or (21) Appl. No.: 12/339,301 the Declaration with attached PCT International Search Report and (22) Filed: Dec. 19, 2008 Written Opinion of the International Searching Authority in Interna (Under 7 CFR 1.47) tional Application No. PCT/US 08/87706, dated Feb. 10, 2009, 8 pageS. (65) Prior Publication Data US 2009/0164464 A1 Jun. 25, 2009 * cited by examiner Related U.S. Application Data Primary Examiner — Yuk Ting Choi (60) Provisional application No. 61/015,099, filed on Dec. (74) Attorney, Agent, or Firm — Baker Botts L.L.P. 19, 2007. (51) Int. Cl. (57) ABSTRACT G06F 7/30 (2006.01) (52) U.S. Cl. A method for pprofile matching2 includes receivinggap a plurality USPC ........................................... 707/748; 705/319 of user profiles, each user profile comprising traits of a (58) Field of Classification Search respective user. The method includes receiving a preference USPC .................... 707/999.005, 736, 748; 705/319 indication for a first user profile of the plurality of user pro See application file for complete search history. files. The method also includes determining a potential match user profile of the plurality of user profiles based on the (56) References Cited preference indication for the first user profile. The method U.S. PATENT DOCUMENTS also includes presenting the potential match user profile to a second user. 6,480,885 B1 * 1 1/2002 Olivier .......................... 709f2O7 7.917,448 B2 * 3/2011 Smola et al. .................. 705.319 8,060,463 B1 * 1 1/2011 Spiegel ......................... 707,609 15 Claims, 4 Drawing Sheets SEARCHRESULTS Jane Doe 12a Jane BOe Jane Loe | Sally recommended her 39 HARRY'S SEARCHRESULTS Jane Doe Recommend 37 12b 31 Jane Boe ReCommend Jane LOe ReCommend Ex. E-1 7 U.S. Patent Oct. 22, 2013 Sheet 1 of 4 US 8,566,327 B2 14 TERMINAL 10 5- SS 100 S. f MATCHING SERVER 10 12 16 FIG. IB FIG. I. C. Ex. E-2 7 U.S. Patent Oct. 22, 2013 Sheet 2 of 4 US 8,566,327 B2 26a Jane Boe-300 Jane LOe N3Od Jane Snoe-N-30 O 33 = 7-34 31 2. Jane Roe-31bview 33 Q-34 3. Jane Boe-N-3 view 33 S2-3 O see More FIG. IE Jane DOe Contact X-36 Born: 1 O/O 1/75 Hometown: Dallas, TX LikeS: Chocolate, rollerblading Dislikes: Body odor, arrogance, football FIG. I.F Ex. E-3 7 U.S. Patent Oct. 22, 2013 Sheet 3 of 4 US 8,566,327 B2 SEARCHRESULTS Jane DOe 12a 31 - Jane Boe Jane LOe Sally recommended her 39 FIG. 2 HARRY'S SEARCHRESULTS Jane Doe Recommend 12b 31 Jane LOe ReCOmmend <handled <handled is %:Send her an email Waiting for yOU to reply to her e-mail. Not interested t DoPhysical you match?: Compatibility: High () Intellectual Compatibility: High FIG. 3 Age Values Compatibility: Moderately High LOCation Gender/Age Seeking 32 You and <handled both like music, Speak German, and mentioned "Play-doh" in your profiles. Ex. E-4 7 U.S. Patent Oct. 22, 2013 Sheet 4 of 4 US 8,566,327 B2 20 50 14 30 52 24 22 22 FIG. 4 62 GENERATE POOL 64 APPLY FILTER APPLY SCORING 66 ALGORITHMS 68 ABULATE SCORES APPLY ORDERING ALGORTHM 70 PRESENT LIST OF RESULTS 72 WAIT FOR USERACTIVITY 74 FIG. 5 Ex. E-5 7 US 8,566,327 B2 1. 2 MATCHING PROCESS SYSTEMAND Receiving a preference indication for a first user profile METHOD may include receiving from a third user a recommendation of the first user profile for the second user. It may also include RELATED APPLICATION receiving from the second user a preference indication for the first user profile. The method may further include determin This application claims benefit under 35 U.S.C. S 119(e) to ing a score of a third user profile of the plurality of user U.S. Provisional Application Ser. No. 61/015,099, entitled profiles as a potential match for the second user. It may also "MATCHING PROCESS SYSTEMAND METHOD, filed include altering the score of the third user profile based on the Dec. 19, 2007. 10 preference indication for the first user profile. In another embodiment, a method for profile matching TECHNICAL FIELD comprises receiving a plurality of user profiles, each user profile comprising traits of a respective user. The method This invention relates generally to computer matching sys further comprises receiving a request for matches from a first tems and more particularly to a matching process system and 15 user, the first user associated with a first user profile. The method. method also comprises scoring the plurality of user profiles for potential matching with the first user based on compari BACKGROUND sons of the plurality of user profiles with the first user profile. It also comprises identifying a second user profile of the Networking architectures have grown increasingly com- 2O plurality of user profiles as a potential match for the first user plex in communications environments. In recent years, a based on the scoring. The method further comprises identi series of protocols and configurations have been developed in fying commonality between a third user profile of the plural order to accommodate a diverse group of end users having ity of user profiles and the second user profile. In addition, the various networking needs. Many of these architectures have method comprises presenting to the first user the third user gained significant notoriety because they can offer the ben- 25 profile as a potential match for the first user. efits of automation, convenience, management, and enhanced Depending on the specific features implemented, particu consumer selections. lar embodiments may exhibit some, none, or all of the fol Certain network protocols may be used in order to allow an lowing technical advantages. Various embodiments may be end user to conduct an on-line search of candidates to fill a capable of dynamically updating match search results based given vacancy. These protocols may relate to job searches, 30 on user activity. Some embodiments may be capable of person finding services, real estate searches, or on-line dating. enhancing match search results by reducing the impact of While some believe that on-line dating is simply a matter of restrictive user preferences. In addition, some embodiments matching Supply and demand, there is statistical and empiri may provide the ability to evaluate the attractiveness of poten cal evidence to Suggest that Successful on-line dating entails tial matches. Other technical advantages will be readily far more. 35 For example, people having similar and/or compatible apparent to one skilled in the art from the following figures, character traits and values should be matched together. How description and claims. ever, effectively linking two participants together can prove to BRIEF DESCRIPTION OF THE DRAWINGS be a challenging endeavor. Coordinating a relationship between two like-minded individuals can be a significant 40 Reference is now made to the following description taken chore, as there are a number of obstacles and barriers that must be overcome. in conjunction with the accompanying drawings, wherein like One problem that has arisen is that matching services are reference numbers represent like parts, and which: limited to searching for matches only within their own plat FIG. 1A is an overview of one embodiment of the matching form. Thus, only people who have gone through the process 45 system; of signing up for the service are searched for a match. One FIG. 1B shows the contents of the terminal from FIG. 1A: Solution to this problem is to have users register in multiple FIG. 1C shows the contents of the matching server from services. This is problematic because it can be expensive and FIG. 1A: time consuming for users. Further, the user must then visit all FIG. 1D is a diagram of a database from FIG. 1C showing of the services to monitor the search progress: this ineffi- 50 one embodiment of how a matching server stores a pool; ciency may cause users to give up on the search process. FIG. 1E is a diagram of the display from FIG. 1B showing Another problem is that the search results of these services one embodiment of the presentation of search results to a contain many irrelevant entities to the searcher. This costs the user, user of the service time and may deter them from continuing FIG.1F is a diagram of the display from FIG. 1B showing through all of the search results. 55 one embodiment of the presentation of details of a match SUMMARY result entity to a user; FIG. 2 is a diagram depicting how a user may recommend In one embodiment, a method for profile matching com an entity to another user, in accordance with a particular prises receiving a plurality of user profiles, each user profile 60 embodiment; comprising traits of a respective user. It also comprises FIG. 3 is a diagram of the display from FIG. 1B depicting receiving a preference indication for a first user profile of the how the user may be made aware of fate characteristics the plurality of user profiles. It further comprises determining a user shares with a match result entity, in accordance with a potential match user profile of the plurality of user profiles particular embodiment; based on the preference indication for the first user profile. 65 FIG. 4 is a diagram depicting how two platforms may be The method also comprises presenting the potential match searched for a match, in accordance with a particular embodi user profile to a second user. ment; and Ex. E-6 7 US 8,566,327 B2 3 4 FIG. 5 is a flow chart indicating how a result list may be tem that facilitates communications in a network or tele generated, in accordance with a particular embodiment. phonic environment, including a combination of any net works or systems described above. In various embodiments, DETAILED DESCRIPTION network connections 22 may include, but are not limited to, wired and/or wireless mediums which may be provisioned Referring to FIG. 1A, one embodiment of a matching sys with routers and firewalls. tem is shown. FIG. 1A is a simplified block diagram of a Matching server 20 is operable to receive and to commu system 100 for facilitating an on-line dating scenario in a nicate information to terminal 10. In some embodiments, network environment. In other embodiments, system 100 can matching server 20 may comprise a plurality of servers or be leveraged to identify and to evaluate suitable candidates in 10 other equipment, each performing different or the same func other areas (e.g. hiring/employment, recruiting, real estate, tions in order to receive and communicate information to general person searches, etc.). Users 14 interact with a match terminal 10. Matching server 20 may include software and/or ing server 20 through terminals 10. FIG. 1B is a diagram algorithms to achieve the operations for processing, commu showing, in one embodiment, the contents of terminal 10. nicating, delivering, gathering, uploading, maintaining, and/ Terminal 10 comprises interface 16 (so that user 14 may be 15 or generally managing data, as described herein. Alterna able to interact with terminal 10) and display 12. FIG. 1C is a tively, such operations and techniques may be achieved by diagram showing, in one embodiment, the contents of match any suitable hardware, component, device, application spe ing server 20. Matching server 20 comprises memory 26 and cific integrated circuit (ASIC), additional software, field pro at least one CPU 28. Memory 26 may store multiple data grammable gate array (FPGA), server, processor, algorithm, bases, such as databases 26a and 26b. Terminal 10 and match erasable programmable ROM (EPROM), electrically eras ing server 20 are communicatively coupled via network con able programmable ROM (EEPROM), or any other suitable nections 22 and network 24. object that is operable to facilitate such operations. Users 14 are clients, customers, prospective customers, or In some embodiments, user 14, using terminal 10, registers entities wishing to participate in an on-line dating scenario with matching server 20. Registration may include user 14 and/or to view information associated with other participants 25 Submitting information to matching server 20 about user 14 as in the system. Users 14 may also seek to access or to initiate well as characteristics user 14 is seeking to be matched with. a communication with other users that may be delivered via Such information may include a user handle, which may be a network 24. Users 14 may review data (such as profiles, for combination of characters that uniquely identifies user 14 to example) associated with other users in order to make match matching server 20. In various embodiments, matching server ing decisions or elections. Data, as used herein, refers to any 30 20 may be configured to collect this information; for example, type of numeric, Voice, video, text, or script data, or any other matching server 20 may be configured to ask user 14 to suitable information in any appropriate format that may be respond to a series of questions. Matching server 20 may be communicated from one point to another. configured to receive the information submitted by user 14 In one embodiment, terminal 10 represents (and is inclu and create a profile for user 14 based on that information, sive of) a personal computer that may be used to access 35 storing the profile in memory 26. network 24. Alternatively, terminal 10 may be representative As an example only, consider a case where user 14 is of a cellular telephone, an electronic notebook, a laptop, a interested in participating in an on-line dating scenario. User personal digital assistant (PDA), or any other suitable device 14 can access the Internet via terminal 10, travel to a web site (wireless or otherwise: some of which can perform web managed by matching server 20, and begin the registration browsing), component, or element capable of accessing one 40 process. As part of the registration process, matching server or more elements within system 100. Interface 16, which may 20 may ask user 14 a series of questions which identifies be provided in conjunction with the items listed above, may characteristics about user 14. Thus, matching server 20 may further comprise any Suitable interface for a human user Such ask about the height, weight, age, location, and ethnicity of as a video camera, a microphone, a keyboard, amouse, or any user 14. It may also ask about the birthplace, parents, eating other appropriate equipment according to particular configu 45 habits, activities, and goals of user 14. Matching server 20 rations and arrangements. In addition, interface 16 may be a may further use the registration process to discover what user unique element designed specifically for communications 14 may be looking for in a match, Such as age, weight, height, involving system 100. Such an element may be fabricated or location, ethnicity, diet, education, etc. Further, matching produced specifically for matching applications involving a server 20 may ask user 14 to indicate how important certain USC. 50 factors are when looking for a match. For example, matching Display 12, in one embodiment, is a computer monitor. server 20 may allow the user to indicate which characteristics Alternatively, display 12 may be a projector, speaker, or other in a potential match are a necessity. In another example, device that allows user 14 to appreciate information that matching server 20 may ask, "How important is it that your system 100 transmits. match does not smoke?' Matching server 20 may also allow Network 24 is a communicative platform operable to 55 the user to indicate that certain characteristics are not impor exchange data or information emanating from user 14. Net tant search criteria. For example, when asking user 14 about work 24 could be a plain old telephone system (POTS). Trans what height or weight user 14 is seeking in a match, matching mission of information emanating from the user may be server 20 may be configured to receive "not important" as a assisted by management associated with matching server 20 response. In yet another example, matching server 20 may or manually keyed into a telephone or other suitable elec 60 allow user 14 to rate which factors are important on a numeri tronic equipment. In other embodiments, network 24 could be cal scale. For example, matching server 20 may ask user 14 any packet data network offering a communications interface the following: "On a scale of 1-10, how important is it that or exchange between any two nodes in system 100. Network your match has the same education level as you?" In some 24 may alternatively be any local area network (LAN), met embodiments, matching server 20 may specify that any num ropolitan area network (MAN), wide area network (WAN). 65 ber of questions or requested descriptions are necessary wireless local area network (WLAN), virtual private network before registration may be concluded. As an example only, (VPN), intranet, or any other appropriate architecture or sys matching server 20 may require that user 14 communicate the Ex. E-7 7 US 8,566,327 B2 5 6 sex ofuser 14 and the sex user 14 prefers to be matched with. into another list. In another embodiment, utilizing favorite After concluding the registration process, matching server 20 button 34 will remove the associated match result entity from may store the responses of user 14 as a profile. This same result list 31. process may be repeated by several different users 14, causing As an example only, user 14 may decide that he would like matching server 20 to contain a plurality of profiles. to save Jane Doe's profile so that he can review it later. User FIG. 1D depicts an embodiment in which matching server 14 may click favorite button 34, and matching server 20 may 20 has a database 26a which contains a pool 30. Each entry in respond by placing Jane Doe's profile into a separate list. database 26a has a pool entity 30a along with information Further, matching server 20 may also remove Jane Doe from concerning that entity. In one embodiment, each pool entity user's 14 result list 31. As a result, user 14 may see another 30a-e represents a user and their profile. In some embodi 10 match result entity populate result list 31. This is beneficial ments, not all registered users are in pool 30. As discussed because it may focus user 14 on evaluating new entities rather further below, matching server 20 may use a selection process than reevaluating previously-known entities because the enti for including stored profiles in pool 30. As depicted in FIG. ties still appear in result list 31. 1D, in this embodiment, the collection of users and profiles In some embodiments, matching server 20 may be config forms pool 30 through which matching server 20 may per 15 ured to generate pool 30 by default according to various form various functions such as searches for matches. characteristics and preferences of user 14 and other users of Matching server 20 may be configured to search through the system. Matching server 20 may also restrict entities from pool 30 and present matches to user 14. In FIG. 1E, one being included in pool 30 based on the status of the profile, or embodiment of this presentation is depicted as occurring if user 14 has rejected or blocked an entity. Matching server through display 12. In various embodiments, matches may be 20 may also restrict entities from the pool that have blocked or presented to user 14 utilizing other communication schemes, rejected user 14. For example, matching server 20 may not Such as electronic messages (i.e., e-mail) or text messages allow profiles that are not in good standing to be included in (i.e., utilizing SMS). In the depicted embodiment, a result list pool 30. In other embodiments, matching server 20 may be 31 is presented to user 14. A match result entity 31a in a result configured to generate pool 30 by first choosing seeds. Seeds list 31 may be associated with a view button33. Using inter 25 include, but are not limited to, profiles that user 14 has sent a face 16, user 14 may request that matching server 20 provide message to or profiles that user 14 has expressed a preference more information about an entity in result list 31 by pressing for. Each seed is then compared to other entities to determine the associated view button 33. Matching server 20 may then which entities will be included in pool 30. Any suitable communicate to user 14 more information about that entity by method can be used to determine which entities are included retrieving the information from memory 26. In FIG. 1F, one 30 in pool 30. For example, any characteristics or algorithms embodiment of information that matching server 20 provides described herein may form the basis of such a determination. for user 14 is shown. Using display 12, user 14 views an entity As another example, a commonality score may be generated from result list31. Matching server 20 may also provide user based on the comparison between each entity and the seed. In 14 with the ability to contact the entity through a contact Some embodiments, this commonality score can be a measure button 35. In one embodiment, when contact button 35 is 35 of how physically similar the users are to each other. This utilized by user 14, matching server 20 may provide user 14 score may be generated based on the number of users that with contact information of the entity Such as a telephone have expressed a positive preference for both the seed and the number or an e-mail address; in another embodiment, match entity being compared. This score may also be generated ing server 20 may provide user 14 with a way to directly based on whether the seed and entity have been viewed contact the entity, Such as sending a message or providing 40 together in one session; further, the more times the seed and Voice or video communication between user 14 and the entity. entity have been viewed together, the larger the commonality Even further, matching server 20 may be configured to allow score. The law of large numbers may allow for a vast amount user 14 to express a negative preference for the entity through of such commonalities to be established over a few days. dislike button 36. In one embodiment, when, for example, Testing has revealed that using Such commonality scoring dislike button 36 is utilized by user 14, matching server 20 45 methods has yielded at least one physical match for 80% of may remove the entity from result list 31; in another embodi users whose profile has been viewed at least once, and ment, the entity may be removed from pool 30 of users from between 6 and 1000 physical matches for 60% of users whose which matches are identified. profile has been viewed at least once. Matching server 20 may As an example only, consider that user 14 has submitted a be further configured to allow entities that have a common search request to matching server 20. Matching server 20 may 50 ality score above a certain threshold to become a part of pool search through pool 30, identify results, and communicate 30. Matching server 20 may further be configured to update result list 31 to user 14 which would contain other users for pool 30. In some embodiments, matching server 20 may do so whom matching server 20 had created a profile and who were by creating new seed entities based on activity by user 14, identified through a search and selection process. Next, user Such as indicating a preference for that entity. Further, match 14 may be interested in learning more about Jane Doe, entity 55 ing server 20 may then compare the chosen seed entity with 31a; thus, user 14 would click view button 33 associated with other profiles stored in matching server 20 and determine Jane Doe. Matching server 20 would receive this request and whether those profiles will be included in pool 30 using a respond by displaying Jane Doe's profile (stored in memory threshold score as described above. At least one advantage 26), as depicted in FIG. 1F. Next, after reading the profile, realized by this embodiment is that user 14 is presented with user 14 may be interested in contacting Jane Doe; hence, user 60 updated potential matches which increases the likelihood of 14 would click contact button 35. Matching server 20 would user 14 finding a Suitable match. Another advantage present respond by allowing user 14 enter a message that matching in certain embodiments is that these updated potential server 20 would then communicate to Jane Doe. matches have a greater likelihood of compatibility with user Matching server 20 may even further be configured to 14 since they are chosen based on their commonality with allow user 14 to store a match result entity; in one embodi 65 entities user 14 has expressed a preference for. ment, the system may be configured to allow user 14 to utilize As an example only, consider the case in which user 14 has favorite button 34 that will add the desired match result entity registered, requested a search, and received from matching Ex. E-8 7 US 8,566,327 B2 7 8 server 20 results list31. Then, user 14 decides to contact Jane with a metric for determining approximate intelligence of Doe and presses contact button35. Aside from providing user other users. The readability score may be used, for example, 14 with the ability to contact Jane Doe, matching server 20 in the matching process to identify potential matches. will designate Jane Doe's profile as a seed. Matching server As an example only, the Flesch Kincaid Reading Ease 20 will then compare Jane Doe's profile to other profiles 5 score may be generated by first computing the following stored in memory 26 in order to identify other users who may intermediate score: be similar to Jane Doe and thus be a good match for user 14. 206.835-(1.015*Average Words per Sentence)- In this example, matching server 20 will generate a common (84.6*Average Syllables per Word) ality score for each of these comparisons and compare these scores to a preset threshold. If the commonality score is lower 10 Then, the Flesch Kincaid Reading Ease score is determined than the threshold, that profile will not be added to pool 30. by using the following table: However, if the commonality score is higher than the thresh old, matching server 20 will add this profile to pool 30. As an example, further assume that the seed, Jane Doe, is being Flesh Kincaid Reading Ease compared to another entity, Susan Smith. Based on the fact 15 Intermediate Score Condition Score that both Susan and Jane have three users (Tom, Dick, and Harry) who have expressed a positive preference for their <100 <91 4 5 profiles, matching server 20 generates a commonality score <81 6 of 100 for the comparison. In contrast, matching server 20 <71 7 generated a commonality score of 50 for the comparison <66 8 between the seed (Jane Doe) and yet another entity, Lucy <61 <51 9 10 Goosey. This was because only one user (Bob) had indicated <31 13 a positive preference toward both Lucy and Jane. Continuing <O 14 the example, matching server 20 is using a commonality Else 15 threshold score of 70, which results in including Susan's 25 profile (whose commonality score was greater than the The Flesch Kincaid Grade Level may be computed according threshold score) in pool 30 and excluding Lucy's (whose to the following: commonality Score was less than the threshold score). Thus, user 14 gets the benefit of having more entities identified that (0.39*Average Words Per Sentence)+(11.8*Aver may be good matches. 30 age Syllables Per Word))-15.59 In some embodiments, matching server 20 may be config The Gunning Fox score may be computed according to the ured to include behavioral scales. These may include multi following: item Scales for materialism and gender-role traditionalism. Such scales may provide the advantage of improved matching (Average Words Per Sentence+((Number Of Words through deeper appreciation for the personality of entities in 35 With More Than 3 Syllables/Number of Words the system. In Entire Text)+100))*0.4 In some embodiments, matching server 20 may be config As indicated, any suitable tests may be utilized in any Suitable ured to analyze profile text for categories. It may search for a manner to determine a readability score. number of text strings and then associate the profile with any In some embodiments, matching server 20 may be config number of categories. As an example only, matching server 40 ured to allow a user to interact with the result list of another 20 may add any profile to the Cat category whose text con user. Matching server 20 may be configured to allow a user to tains any of the following strings: express a preference for entities within a result list of another "cat "cats' "cat "cats. "cat, "cats. user, and to indicate to the other user of this preference. Thus, Matching server 20 may be configured to make it more likely a user may be able to get advice from a friend regarding what that a profile will be in a result list if categories associated 45 other users may constitute good matches for the user and thus with the profile are also categories found in the user's profile be able to find a better match. who submitted the search request. As an example only, consider FIG. 1A and FIG. 2. Two Matching server 20 may be configured to analyze one or users 14, Harry and Sally, are connected to matching server more portions of the text of an entity's profile and generate a 20 via terminals 10. Display 12a is used by Harry while readability Score that may be used in various ways, such as in 50 display 12b is used by Sally. Matching server 20 allows Sally the process of searching for matches for user 14. In some to view Harry's result list 31 on her terminal in display 12b. embodiments, matching server 20 may analyze factors such By pressing recommend button37. Sally may indicate a pref as, but not limited to: average number of words per sentence, erence for one or more of the entities in result list 31. Assume total number of words with greater than three syllables, and Sally presses recommend button 37 associated with Jane Loe. total number of words in the profile. Matching server 20 may 55 After doing so, matching server 20 will notify Harry of Sal also concatenate all of the collected responses with a single ly's preference. On Harry's display 12a, matching server 20 space between them. It may further break the text into sen will cause notification 39 to appear, associating it with Jane tences, words, and syllables. From these statistics, matching Loe. Notification 39 will indicate to Harry that Sally has server 20 may also be configured to generate a readability recommended Jane Loe as a potential match. Harry may find score by, in one embodiment, taking the average of the Flesch 60 Sally's preference helpful in determining which entities he Kincaid Reading Ease test, the Flesch Kincaid Grade Level should pursue further if, for example, he believes Sally under test, and the Gunning Fox score. Other embodiments may stands the type of person he is looking for. utilize any other combination of these or other tests to deter In one embodiment, matching server 20 may be configured mine a readability score. In some embodiments, analyses may to analyze the profiles of both user 14 and the entities in pool be used to determine the IQ of an entity, the grade level of the 65 30 for keywords. Matching server 20 may be configured to writing, or how nervous the entity generally is. An advantage search through the profile of user 14 for keywords that relate of this embodiment may be that the system provides user 14 to things such as activities and interests. Matching server 20 Ex. E-9 7 US 8,566,327 B2 9 10 may generate a score for each entity in pool 30 based on a profile has not been registered long enough to generate a comparison between the list of keywords found in user's 14 meaningful imputed physical attractiveness ratio. Matching profile and a similarly-generated list of keywords of each server 20 may then generate an imputed physical attractive entity in pool 30. In one embodiment, this is accomplished by ness score based on entities that Sally does have commonality storing a list of words in memory 26, and using it to identify scores with. This computed average may be weighted by the keywords in the searched profiles. In some embodiments, strength of the commonality score between Sally and each identified keywords may be used as a means of weighting entity with whom she has a commonality score. Continuing various scores. As an example only, a profile that contains the the example, assume that Sally has a commonality score of 5 word "God' may be weighted much differently than a profile with Lucy and 10 with Julia. When matching server 20 com which has merely indicated that their religious preference is 10 putes the Sally's average, it will give twice as much weight to Christian. In various embodiments, this may provide an Julia's imputed physical attractiveness score than to Lucy's. advantage to user 14 in that user 14 is able to determine how In some embodiments, matching server 20 may be config similar he/she is with a potential match. In addition, the ured to make an entity in result list 31 more appealing to user keyword analysis may be used by the system when searching 14 by pointing out coincidences in the profile data that give and identifying matches for a user. 15 user 14 a sense of fate with the entity. In one embodiment, As an example only, consider two registered users, Harry matching server 20 may be configured to search for similar and Sally, both of whom have profiles stored in matching initials, birthplaces, birth dates, birth month, birth year, uni server 20. Matching server 20 then analyzes each of these versity, first names, last names, user handles, parental occu profiles by comparing it to a list of predefined keywords. pations, and keywords to identify users who may give another Matching server 20 then associates each word that matched user a sense of fate. In other embodiments, matching server the list of keywords with each profile. Now assume that Harry 20 may use the fate characteristics as a metric in the matching performs a search. While fulfilling Harry's query, matching process. server 20 evaluates Sally's profile for inclusion in Harry's As an example only, assume that Harry is a registered user result list 31. This evaluation includes comparing the list of who has performed a search. After matching server 20 returns keywords found in Harry's profile to the keywords found in 25 a result list, Harry chooses to learn more about one of the Sally's profile. The more keywords that Harry and Sally have entities in the result list and clicks view button 33. Consider in common, the more likely it will be that matching server 20 FIG. 3, which is only an example of information that match will include Sally's profile in Harry's result list 31. ing server 20 may return to Harry after clicking view button In some embodiments, matching server 20 may be config 33. In Harry's display 12, matching server 20 presents certain ured to impute a level of physical attractiveness to an entity in 30 details about the profile. In particular, matching server 20 pool 30. Matching server 20 may be configured to monitor presents to Harry a fate notification 32 which points out how frequent an entity in pool 30 has been viewed as well as specific similarities between the profile of the entity and how many times that entity has been part of a result list in Harry's profile. Reading fate notification 32 gives Harry a order to impute the level of physical attractiveness. Matching sense of familiarity which enhances his appreciation for the server 20 may further be configured to generate a score based 35 profile. on this data. Further, in Some embodiments, matching server In another example, fate characteristics may be used to 20 may impute physical attractiveness to an entity based on decide whether a profile in pool 30 is included in user's 14 the imputed physical attractiveness scores of other entities. result list 31. Assume that Harry is a registered user who has Matching server 20 may compute an average of the imputed submitted a matching query to matching server 20. While physical attractiveness scores of the other entities weighted 40 determining which entities to include in Harry's result list, by the commonality score between each of the other entities matching server 20 considers two profiles: Sally and Roxy. and the presententity. Empirical data indicates that people are Sally and Harry both have the same birth date, initials, and more likely to match with people of similar attractiveness. have parents that work in the same profession. In contrast, Thus, in many embodiments, a user may obtain an advantage Roxy and Harry only share the same birth place. Matching in that they are able to be presented with potential matches 45 server 20 may be configured to award more points to Sally that, according to one measurement, are as attractive as the than to Roxy based on these comparisons, making it more USC. likely that Sally's profile will be included in Harry's result As an example only, consider a registered user, Sally, list. whose profile was created by matching server 20 in January. In some embodiments, matching server 20 may be config Since that time, matching server 20 has recorded the number 50 ured to evaluate the likelihood of contact between user 14 and of times Sally's profile has appeared in any user's result list an entity in pool 30. Matching server 20 may be configured to 31; assume that this has occurred 10 times. Further, matching compare demographic data between user 14 and pool entity server 20 has also recorded the number of times a user has 30a. In another embodiment, matching server 20 may be viewed Sally's profile by clicking view button 33 associated configured to weigh the demographic similarities and differ with Sally's profile; assume that this has happened 5 times. In 55 ences based on the sex ofuser 14. The demographic data may this manner, matching server 20 has constructed a ratio that include, but is not limited to, age, education, ethnicity, represents the imputed physical attractiveness of Sally's pro income, and location. file. Still further, assume that Harry, a registered user, now As an example only, assume that Harry and Sally are reg submits a query. Matching server 20 has evaluated the istered users who have profiles in matching server 20. Harry imputed physical attractiveness ratio of Harry's profile. When 60 has submitted a search request to matching server 20. While evaluating Sally's profile for inclusion in result list 31 fulfilling this request, matching server 20 evaluates Sally's returned to Harry, matching server 20 will compare the profile since her profile is in pool 30. As part of the evaluation, imputed physical attractiveness of Sally's profile and Harry's matching server 20 looks at the differences between Harry profile. The more similar the ratios associated with Harry and and Sally's stated age, income, education, ethnicity, and loca Sally's profiles are to each other, the more likely it is that 65 tion. In this example, Harry is 10 years older than Sally, Sally's profile will be selected by matching server 20 to be in makes S10,000 more per year, and has a Master's degree Harry's result list31. In another example, assume that Sally's while Sally has a bachelor's degree. Even with these dispari Ex. E-10 7 US 8,566,327 B2 11 12 ties, matching server 20 will give Sally's profile a high score example, 50 points to Sally's profile. Matching server 20 may which makes it more likely that Sally's profile will appear in also be configured to assign 50 points to Sally's profile had Harry's result list. However, if it was Sally who submitted the she been five years younger than Harry; but, if she had been search, and matching server 20 was evaluating Harry's pro up to two years older than Harry, matching server 20 may file, a different score is possible. So, if it were Sally who was have been configured to assign 40 points to her profile. 10 years older, made S10,000 more per year, and had a Mas Matching server 20 may be further configured to assign 30 ter's degree while Harry had a Bachelor's degree, matching points to Sally's profile if she was 6 to 8 years younger than server 20 would give a low score to Harry's profile, making it Harry. However, if Sally were more than 8 years younger than less likely that his profile would appear in Sally's result list. Harry, matching server 20 may be configured to further Matching server 20 may be configured this way because 10 decrease the number of points assigned to her profile: if she empirical data has shown that these demographic differences was 9 years younger, then 25 points; if she was 10 years do not have an equivalent effect on the choices men and younger, 20 points; if she was 11 years younger, 15 points; women make regarding matches. etc. The more points assigned to Sally's profile, the more In another embodiment, matching server 20 may be con likely it is that her profile will appear in Harry's result list. figured to compare the locations of user 14 and pool entity 15 Thus, matching server 20 may be configured to assign a score 30a in increments often miles. In yet another embodiment, based on age difference using a combination of ranges and a matching server 20 may be configured to score the location sliding scale. comparison in light of other factors; as an example, matching In another example, matching server 20 may assign scores system 20 may be configured to return a score consistent with differently if it was Sally who was searching and if it was a 10 mile difference in location even though there is a 50 mile Harry's profile that was being evaluated. In this example, difference between user 14 and pool entity 30a if user 14 and matching server 20 may be configured to assign Harry's pool entity 30a have the same income, education, and age. An profile 50 points if he were between 1 and 5 years older than advantage realized in several embodiments is that it better her. If he were 6 to 8 years older than her, matching server 20 approximates how a user evaluates entities. Entities that live may assign 45 points. If he were greater than 8 years older further away are generally less appealing to a user; but, users 25 than her, matching server 20 may assign points in the follow may still be interested if the entity matches their preferences ing fashion: if he was 9 years older, 40 points would be in other categories. assigned; if he was 10 years older, 35 points would be As an example only, considera registered user, Harry, who assigned; etc. However, if he was up to two years younger submits a search request. While fulfilling this request, match than Sally, matching server 20 may assign 50 points to his ing server 20 examines Sally's profile in pool 30, and deter 30 profile. If he were more than two years younger, matching mines that the stated locations of Harry's and Sally's profiles server 20 may assign less points on a sliding scale: 45 points are 13 miles apart. Matching server 20 will give Sally's pro if he were 3 years younger, 40 points if he were 4 years file a score as if the distance between them were only 10 younger, etc. The more points assigned to Harry's profile, the miles. However, in yet another example, Sally's profile may more like it is that his profile will appear in Sally's result list. indicate that she lives 50 miles away from Harry. Yet, match 35 This example illustrates how matching server 20 may be ing server 20 also notes that both Harry and Sally make configured to take the sex of user 14 into account when S100,000 per year, have Master's degrees, and that Harry and scoring based on age differences. Sally are one year apart in age (Harry is older). Given these In various embodiments, matching server 20 may be con similarities, matching server 20 will give a score to Sally's figured to evaluate the attractiveness of an entity in pool 30 profile that is consistent with a 20 mile difference in location 40 through collected feedback from other users. In one embodi even though they are actually 50 miles apart. In this manner, ment, matching server 20 may present an entity to user 14, matching server 20 takes into account empirical data that prompting user 14 to rate the attractiveness of the entity on a shows that people searching for matches who indicate that scale from 1-9. This range gives the advantage of having a they want to see matches who live close to them are still midpoint. Matching server 20 may further be configured to willing to pursue a potential match that lives far away if the 45 collect such responses and store them; in one embodiment, potential match fits very closely with the other search criteria. matching server 20 may store the data in memory 26, using a In another embodiment, matching server 20 may be con structure such as database 26b. Matching server 20 may fur figured to evaluate the age difference between user 14 and ther be configured to compute the average of such responses pool entity 30a using ranges as well as a sliding scale. By way for the entity, and store this number as well. In various of example only, matching server 20 may be configured to 50 embodiments, these values may be used in order to help in the assign a high value to an age difference between 0 and -5. matching process. Empirical data indicates that people are while assigning a lower value to an age difference between +2 more likely to match with people of similar attractiveness. and 0. An even lower value may be assigned to an age differ Thus, in various embodiments, users whose attractiveness ence between -6 and -8. Even lower values would be rating are similar will be more likely to appearin each other's assigned incrementally as the age difference increases out 55 result list. Further, a user may indicate that they only want side of the ranges discussed. The higher the assigned value is, profiles in their result list whose average attractiveness rating the more likely it will be that pool entity 30a will be included is higher than an indicated threshold. in result list 31. Yet another embodiment may apply this As an example only, assume registered user, Harry, uses combination of ranges and a sliding scale but use different terminal 10, which in this example is Harry's personal com values and ranges depending on the sex of user 14. 60 puter, and establishes communication with matching server As an example only, consider a situation in which a regis 20. In this example, this communication occurs by Harry tered user, Harry, requests a search to be performed. While using a Web browser to access a Web page controlled by fulfilling this request, matching server 20 evaluates Sally's matching server 20. Sometime after visiting the Web page, profile, which was in pool 30. As part of the evaluation, matching server 20 may present Harry with an option to rate matching server 20 compares the ages of Harry and Sally, and 65 the physical attractiveness of other users registered with determines that Harry is two years older than Sally; this matching server 20. Using display 12 and interface 16, Harry determination leads to matching server 20 assigning, in this may view profiles of registered users and rank them on a scale Ex. E-11 7 US 8,566,327 B2 13 14 of 1-9 by entering the values using interface 16; in this and Sally. Matching server 20 may utilize this pair when example, interface 16 comprises a mouse and/or a keyboard. providing search results to other users. Betty may have After Submitting this rating, matching server 20 will associate requested matches, and Betty may be similar to Sally. Match it with the profile and store it. Matching server 20 will also ing server 20 may present Harry in Betty's result list as a allow other users to rate profiles, thereby collecting a plurality result of the pairing between Harry and Sally. Further, Jim of rankings for profiles. Matching server 20 may use this data may have executed a search and Jim may be similar to Harry. when trying to find matches for users. One example of this is As a result of the pairing between Sally and Harry, matching that matching server 20 may allow user 14 to specify that server 20 may present Sally in Jim's list of search results. he/she is searching for profiles which have an average rating In some embodiments, matching server 20 may be config of6 or above. In turn, matching server 20 may populate user's 10 ured to encourage user 14 to interact with entities in pool 30. 14 result list from the pool only with profiles whose average For example, matching server 20 may presentalist of limited rating is at 6 or above. Another example of how matching entities from pool 30 to user 14, but not present other entities server 20 may use this data involves making it more likely that to user 14 unless user 14 interacts with the already presented an entity will appear in a user's result list if the entity and that entities. Possible interaction with these entities may include user have a similar average attractiveness rating. So, if a user 15 viewing more information regarding the entity, expressing a has an average rating of 6, then an entity with an average positive or negative preference for the entity, and choosing to rating of 5 may be more likely to appearin the user's result list contact the entity. Other suitable forms of interaction may than an entity with an average rating of 2. also be utilized. For example, matching server 20 may prompt In another example, assume that Harry is a registered user the user with a question about the list of entities, such as and has requested a search. While fulfilling this request, asking whether or not the user likes the entity. Responses to matching server 20 evaluates Sally's profile. As part of this such prompts may include "yes" "maybe." "no." "remove." evaluation, matching server 20 notices that Sally's profile and "remove other." The presented entities may be chosen contains feedback from other users ranking the attractiveness using a variety of methods. For example, the presented enti of Sally's profile. Matching server 20, in this example, aver ties may be chosen based on various scoring algorithms as ages that data; Sally's profile average is 6. Matching server 20 25 described above. In addition, presented entities may be cho may then examine Harry's profile to determine a similar Sen using predictive analysis, such as logistical regression. average. If Harry's profile has an average close to 6, it will be Other techniques may be used to determine the presented more likely that matching server 20 will include Sally's pro entities. For example, entities that have been presented pre file in Harry's result list. If Harry's profile average is lower viously may be excluded. As another example, entities that than 6, it will be less likely that Sally's profile will be included 30 have been blocked by user 14 may also be excluded. In in Harry's result list. If Harry's profile average is greater than various embodiments, a combination of these techniques as 6, it will be even less likely that Sally's profile will be well as others may be used to determine the limited number of included in Harry's result list. The more Harry's profile aver entities presented to user 14. age deviates from that of Sally's, the less likely it will be that For example, Harry may be a registered user of the match matching server 20 will present Sally's profile in Harry's 35 ing system. Matching server 20 may be configured to present result list. to Harry a list of five entities that Harry must interact with. In some embodiments, matching server 20 may be config Once Harry has interacted with these entities, matching ured to analyze profile information and received activity server 20 may present five more entities for Harry to interact information to construct "pairs" which link at least two pro with. Previously, Harry has blocked Sally, another registered files. These pairings may also be associated with a value that 40 user of the system. As a result, matching server 20 may ascertains the quality of the pairing. For example, a pairing exclude Sally from being presented to Harry in the list of five which results from one user viewing the profile of another entities. Further, Harry has already interacted with Betty, user may be assigned a value that is less than a pairing which another registered user of the system: Harry sent a message to results from a first user viewing the profile of a second user Betty utilizing matching server 20. As a result, Betty will be when the second user has also viewed the first user's profile. 45 excluded from being presented to Harry in the list of five Matching server 20 may use these pairings in order to gener entities. Matching server 20 may then choose two of the five ate search results for entities within and outside of the pairing. entities using scoring algorithms described above. For Each member of the pair may be used as a seed entity for example, matching server 20 may choose Alice and Amy to be generating search results for users in matching server 20. In presented in the list of five entities because Alice and Amy various embodiments, an advantage may be realized as 50 have received high scores when their profiles were compared matching server 20 analyzes many of these pairs to develop to Harry's profile. Matching server 20 may choose the dynamic results to users of the system, the results being remaining three entities using predictive analysis. According potentially more relevant as matching server 20 leverages the to this example, matching server 20 may use logistical regres interaction between users and profiles to generate search sion to identify Carla, Christi, and Camela as the other three results. 55 entities to present to Harry. Thus, in this example, Harry is Pairs may beformed from a variety of useractivity received presented with a list of five entities by matching server 20. by matching server 20. This activity may include: profile Matching server 20 may not present another set offive entities views, mutual profile views, one-way double blind commu until Harry has interacted with these five entities. Harry may nication, mutual double-blind communication, declining interact with these entities in a variety of ways. For example, double blind communication, one way wink, mutual wink, 60 Harry may send a message to Alice and send a "wink" to Amy. expressing disinterest in response to receiving a wink, one In addition, Harry may choose to view more information way favorite, and mutual favorite. Other suitable activity may about Carla's profile, but express a negative preference also be received by matching server 20 and utilized as a basis towards Christi and Camela. After matching server 20 for generating pairs. receives these types of interaction with the presented five For example, Harry may be a registered user who has 65 entities, another set offive entities may be presented to Harry. expressed a positive preference for Sally. Matching server 20 In this example, matching server 20 may further be con may be configured to generate a pair which includes Harry figured to process the user interaction provided by Harry. For Ex. E-12 7 US 8,566,327 B2 15 16 example, matching server 20 may utilize Alice's profile as a matching server 20 supplements pool 30 with set 52. In yet seed entity to generate other possible entities to present to another embodiment, entities from set 52 appear as entities of Harry since Harry sent a message to Alice. Thus, a benefit is pool 30 to the user in their list of search results. In one from presenting a the five entities to Harry in that the inter embodiment, matching server 20 may be configured to gen action between Harry and these entities may be utilized by 5 erate profiles within pool.30 from entities of set 52; the system matching server 20 to generate other entities for matching to may be configured to do so through capabilities provided by Harry. This serves as an example of how preferences may be Social networking platform 50, such as an application pro identified based on user behavior. gramming interface. In FIG. 4, one embodiment is disclosed wherein matching As an example only, consider two users: Harry, whose server 20, with pool 30, may be configured to interact with 10 profile is stored in matching server 20, and Sally, whose another platform, such as social networking platform 50, profile is stored in social networking platform 50. Harry sub containing a set 52 of users. Users 14 are communicatively mits a search request to matching server 20. Matching server coupled to matching server 20 and social networking plat 20 may return result list 31 to Harry, which, in this example, form 50. Matching server 20 may further be configured to contains an entity representing Sally's profile. Matching provide users of social networking platform 50 a service by 15 server 20 may accomplish this by creating profiles in pool 30 which they may search for users within set 52 or within pool that correspond to the profiles found in set 52. Once these 30 using the algorithms and processing of matching server 20. profiles have been imported into pool 30, matching server 20 Matching server 20 may even further be configured to allow may then search through pool 30. While doing so, matching users of matching server 20 to search through pool.30 and set server 20 applies the algorithms and scores discussed herein. 52. Matching server 20 may be configured to parse the pro Thus, in this example, matching server 20 has been config files of the entities in set 52, collecting data and applying ured to both search and apply scoring algorithms to entities in algorithms. In another embodiment, matching server 20 may be con pool 30 and set 52. Further, in one example, Harry is notable figured to allow users of social networking platform 50 to to distinguish that Sally's profile was originally stored in interact with matching server 20 using social networking 25 social networking platform 50. Rather, matching server 20 platform 50. This level of integration provides the advantage presents Sally's profile in the same manner as other profiles of users not having to learn and sign up for a different plat stored in pool 30. Thus, in this example, Harry may use form. favorite button 34, view button 33, and contact button 35 Social networking platform 50, in one embodiment, may when interacting with Sally's profile in the same manner as described above. be a service which stores profiles of its users. This service 30 One advantage present in various embodiments is that a may be further configured to provide access to the stored profiles. In one embodiment, social networking platform 50 user has a wider pool of entities to search through. Another may also allow other services to interact with users of social advantage is that a user does not have to sign up with several networking platform 50 through social networking platform platforms to search through the users on those platforms. SO. 35 FIG. 5 is a flowchart illustrating one embodiment of how In one embodiment, matching server 20 may be configured result list31 may be generated. At step 62, matching server 20 to collect requests from users of social networking platform generates pool 30, as described above. At step 64, matching 50 and perform a search throughpool.30 and set 52. Matching server 20 applies a filter to pool 30, removing certain entities: server 20 may further be configured to present the results of in various embodiments, this filter is based on user's 14 own this search from within social networking platform 50. 40 sex and the sex user 14 desires to be matched with. At step 66, Matching server 20 may further be configured to present matching server 20 may be configured to apply algorithms to entities in the search result from pool 30 as if they were pool 30 that will generate a plurality of scores for each entity entities of set 52; in one embodiment, matching server 20 may in pool 30. In one embodiment, these algorithms may include be configured to generate profiles of entities from pool.30 into analyzing the text of the profiles of the entities in pool 30 to set 52. Thus, users of social networking platform 50 may view 45 generate a readability score, determining how attractive an all of the entities in the search result, regardless of their source entity of pool 30 is, or measuring how likely it is that user 14 (either from pool 30 or set 52), within the environment of will contact an entity of pool 30. At step 68, matching server social networking platform 50. 20 may be configured to collect all of the scores from step 66: As an example only, consider two users: Harry, for whom in one embodiment, matching server 20 may use database26b matching server 20 has created a profile, and Sally, who has a 50 to store all of these scores. At step 70, matching server 20 may profile stored in social networking platform 50. From within be configured to apply an ordering algorithm which will social networking platform 50, matching server 20 presents to determine the order in which entities in result list 31 are Sally the ability to perform a search which Sally uses. The presented to user 14. In one embodiment, this ordering algo results of this search are presented to Sally within social rithm is based, in part, on the scoring algorithms applied at networking platform 50. In this example, Harry's profile is 55 step 66. The ordering algorithm assigns points to each entity displayed to Sally as a search result along with other entities and orders them based on these values, constructing result list from set 52 though Harry's profile was from pool 30. In this 31. An embodiment of this ordering algorithm is summarized example, matching server 20 uses the algorithms discussed in the following table: herein and searches through the profiles stored in pool.30 and set 52. In order to display Harry's profile to Sally, matching 60 server 20 creates a profile in set 52 using the data stored in Number of Points for Harry's profile in pool 30. Sally is then able to interact with Condition Ordering this newly created profile from within social networking plat Readability score 1 point +33554432 form 50 in the same manner as she is other entities in set 52. higher than user In another embodiment, matching server 20 may be con 65 Match result entity has +16777216 figured to allow its users to interact with social networking expressed a preference for platform 50 through matching server 20. In one embodiment, Ex. E-13 7 US 8,566,327 B2 17 18 -continued entity from which entities may be added to pool 30 (as described above). Hence, matching server 20 will update the Number of Points for pool, apply the filters, apply the scoring algorithms, tabulate Condition Ordering the results, apply the ordering algorithm, and update result list the user 31. As another example, an entity may update their profile Match result entity has been --838.8608 which can change result list 31. For example, assume Sally's recommended by a friend of the user profile had an ordering algorithm score that placed her within User has viewed the details -20971S2 the top 20 entities in result list 31. Sally then changes her of match result entity profile which results in keywords that match Harry's profile Match result entity has --1048576 10 commonality with an entity being added to her profile. Matching server 20 will then user has expressed a update her scoring algorithms. In this example, the change in preference for Sally's profile and resulting increase in keyword matches Both have the same ambition +128 Both have the same beliefs --16384 with Harry's profile significantly increased her score. This Same answer for Build +64 15 was then reflected in the ordering algorithm as it was also Same answer for Car Both have the same diet +1 +4 applied to the updated profile. Afterwards, Sally's profile is Both have the same --131072 now placed within the top 5 entities in result list 31. preference for drinking In some embodiments, matching server 20 may be config alcohol Same answer for Ethnicity +1024 ured to receive required characteristics from user 14 regard Same answer for Fear +256 ing a match. User 14 may be allowed to specify Such restric Same answer for Hair +2 tions based upon any number of characteristics, including Same answer for Number of +524288 those described herein. For example, matching server 20 may children Same answer for morning +32 allow user 14 to specify that entities that indicate they have Same answer for "must have +32768 children should not be displayed. In another example, user 14 Same answer for "night out +16 25 may specify that only entities between the ages of 20 and 30 Same answer for "pets' 65536 should be present in result list 31. In some embodiments, Same answer for politics --8.192 matching server 20 may implement these restrictions in step Same answer for relationship +O 64 of FIG. 5. In other embodiments, however, matching Status Same answer for romance' --512 server 20 may refuse to apply these restrictions to certain Same answer for Smoking +262144 30 entities based on the characteristics of the entities. Any num preferences ber of characteristics, including those described herein, may Same answer for sports +8 form the basis upon which matching server 20 decides not to interests Same answer for "system' +4O96 apply the restrictions Submitted by user 14. As an example only, matching server 20 may ignore the restrictions if the 35 entity has a high enough attractiveness rating. In another As an example only, considera registered user, Harry, who example, though user 14 has requested that no profiles which desires to perform a search. Before processing the request, are located more than 50 miles away should be present in matching server 20 may ask Harry what sex he is and what sex result list 31, matching server 20 may include such profiles does he desire to be matched with; in this example, Harry because those profiles have over 5 matching keywords, a high responds that he is a male seeking a female. After doing so, 40 attractiveness rating, and have specified the same life goals as matching server 20 will generate pool 30 as described above. user 14. Thus, in Some embodiments, matching server 20 may Next, matching server 20 will apply a filter to remove certain refuse to apply restrictions submitted by user 14 based on any entities from pool 30. In this example, all males will be combination of characteristics or algorithms. removed from pool 30 since Harry is seeking a female. Fur An advantage present in many embodiments is that through ther, all females seeking females will be removed from pool 45 taking into account various factors when scoring potential 30 since Harry is a male. In other examples, other entities that matches and using only very few strict filters, a large amount are removed from pool 30 include entities that Harry has of result entities may be returned to the user. A further advan expressed a negative preference for before, or entities that tage is that the ordering algorithm will put the most relevant have expressed a negative preference for Harry. After pool 30 search results first, saving the user time. has been filtered, matching server 20 applies a variety of 50 Although several embodiments have been illustrated and scoring algorithms to the entities remaining in pool 30. These described in detail, it will be recognized that substitutions and algorithms may account for various comparisons such as alterations are possible without departing from the spirit and those based on readability, likelihood to contact, fate, and Scope of the appended claims. keywords described above. Matching server 20 will then tabulate these scores, storing them, in this example, in data 55 What is claimed is: base 26b. Matching server 20 will then determine what order 1. A computer-implemented method for profile matching, these entities are presented to Harry by applying an ordering comprising: algorithm. Here, matching server 20 assigns one ordering receiving a plurality of user profiles, each user profile com score to each entity by examining the results of the scoring prising traits of a respective user; algorithms. After doing so, matching server will present 60 receiving a request requesting matches, the request associ result list 31 to Harry, where the order of the entities that ated with a first user; appear in the result list is based on the ordering algorithm. In determining a first set of results in response to receiving the this example, it is possible for result list 31 to change. Con request, the first set of results comprising one or more of sider another user, Sally, who appears in Harry's result list. If the plurality of user profiles; Harry decides to add her into a separate list by using favorite 65 receiving, from a second user, activity associated with a button 34, Sally will be removed from result list 31 (as profile of a third user, the second user and the third user described above). However, Sally will also become a seed different than the first user; Ex. E-14 7 US 8,566,327 B2 19 20 determining a rating of the profile of the third user based on identify a profile of a fourth user from the plurality of user a number of times the profile of the third user was profiles in response to receiving the activity from the selected by users other than the first user; second user associated with the profile of the third user, identifying a profile of a fourth user from the plurality of the profile of the fourth user not in the first set of results: user profiles in response to receiving the activity from 5 determine a rating of the profile of the fourth user based on the second user associated with the profile of the third a number of times the profile of the fourth user was user, the profile of the fourth user not in the first set of selected by users other than the first user; results; compare the rating of the profile of the third user with the determining a rating of the profile of the fourth user based 10 rating of the profile of the fourth user; on a number of times the profile of the fourth user was determine a difference between a preference associated selected by users other than the first user; with the first user and a characteristic included in the comparing the rating of the profile of the third user with the profile of the fourth user; rating of the profile of the fourth user; reduce an impact of the difference between the preference determining a difference between a preference associated 15 associated with the first user and the characteristic with the first user and a characteristic included in the included in the profile of the fourth user; profile of the fourth user; add the profile of the fourth user to the first set of results in reducing an impact of the difference between the prefer response to comparing the rating of the profile of the ence associated with the first user and the characteristic third user with the rating of the profile of the fourth user included in the profile of the fourth user; and in response to reducing the impact of the difference adding the profile of the fourth user to the first set of results between the preference associated with the first user and in response to comparing the rating of the profile of the the characteristic included in the profile of the fourth third user with the rating of the profile of the fourth user user, and and in response to reducing the impact of the difference provide to the first user the profile of the fourth user to the between the preference associated with the first user and 25 first user. the characteristic included in the profile of the fourth 7. The medium of claim 6, wherein the instructions con user, and figured to receive, from the second user, activity associated providing the profile of the fourth user to the first user. with the profile of the third user comprise instructions con 2. The method of claim 1, wherein receiving, from the figured to receive, from the second user, a recommendation of second user, activity associated with the profile of the third 30 the profile of the third user. user comprises receiving from the second user a recommen 8. The medium of claim 6, wherein the instructions con dation of the profile of the third user. figured to identify the profile of the fourth user from the 3. The method of claim 1, wherein identifying the profile of plurality of user profiles comprise instructions configured to the fourth user from the plurality of user profiles comprises identify commonality between the profile of the fourth user identifying commonality between the profile of the fourth 35 user and the profile of the third user. and the profile of the third user. 4. The method of claim 3, further comprising: 9. The medium of claim 8, wherein the instructions, when determining a readability score associated with the profile executed by the processor, are further configured to: of the third user; determine a readability score associated with the profile of determining a readability score associated with the profile 40 the third user; of the fourth user; and determine a readability score associated with the profile of wherein identifying commonality between the profile of the fourth user; and the fourth user and the profile of the third user comprises wherein the instructions configured to identify commonal comparing the readability score associated with the pro ity between the profile of the fourth user and the profile file of the third user to the readability score associated 45 of the third user comprise instructions configured to with the profile of the fourth user. compare the readability score associated with the profile 5. The method of claim 3, wherein identifying commonal of the third user to the readability score associated with ity between the profile of the fourth user and the profile of the the profile of the fourth user. third user comprises comparing fate characteristics of the 10. The medium of claim 8, wherein the instructions con profile of the third user to fate characteristics of the profile of 50 figured to identify commonality between the profile of the the fourth user. fourth user and the profile of the third user comprise instruc 6. A non-transitory computer-readable medium compris tions configured to compare fate characteristics of the profile ing instructions that, when executed by a processor, are con of the third user to fate characteristics of the profile of the figured to: fourth user. receive a plurality of user profiles, each user profile com- 55 11. A system for profile matching, comprising: prising traits of a respective user; an interface operable to: receive a request requesting matches from a first user, the receive a plurality of user profiles, each user profile first user associated with a first user profile; comprising traits of a respective user; determine a first set of results in response to receiving the receive a request requesting matches, the request asso request for matches, the first set of results comprising 60 ciated with a first user; one or more of the plurality of user profiles; receive, from a second user, activity associated with a receive, from a second user, activity associated with a profile of a third user, the second user different than profile of a third user, the second user and the third user the first user; and different than the first user; a processor coupled to the interface and operable to: determine a rating of the profile of the third user based on 65 determine a first set of results in response to receiving a number of times the profile of the third user was the request, the first set of results comprising one or selected by users other than the first user; more of the plurality of user profiles: Ex. E-15 7 US 8,566,327 B2 21 22 determine a rating of the profile of the third user based on the interface further operable to provide the profile of the a number of times the profile of the third user was fourth user to the first user. selected by users other than the first user; 12. The system of claim 11, wherein the interface is oper identify a profile of a fourth user from the plurality of able to receive, from the second user, activity associated with user profiles in response to receiving the activity from 5 the profile of the third user by receiving from the second user the second user associated with the profile of the third a recommendation of the profile of the third user. 13. The system of claim 11, wherein the processor is oper user, the profile of the fourth user not in the first set of able to identify the profile of the fourth user from the plurality results; ofuser profiles by identifying commonality between the pro determine a rating of the profile of the fourth user based 10 file of the fourth user and the profile of the third user. on a number of times the profile of the fourth user was 14. The system of claim 13, wherein the processor is fur selected by users other than the first user; ther operable to: compare the rating of the profile of the third user with the determine a readability score associated with the profile of rating of the profile of the fourth user; the third user; determine a difference between a preference associated 15 determine a readability score associated with the profile of with the first user and a characteristic included in the the fourth user; and profile of the fourth user; wherein the processor is operable to identify commonality reduce an impact of the difference between the prefer between the profile of the fourth user and the profile of ence associated with the first user and the character the third user by comparing the readability Score asso istic included in the profile of the fourth user; ciated with the profile of the third user to the readability add the profile of the fourth user to the first set of results score associated with the profile of the fourth user. in response to comparing the rating of the profile of 15. The system of claim 13, wherein the processor is oper able to identify commonality between the profile of the fourth the third user with the rating of the profile of the fourth user user and in response to reducing the impact of the and the profile of the third user by comparing fate char difference between the preference associated with the 25 acteristics of the of the profile of the third user to fate characteristics profile of the fourth user. first user and the characteristic included in the profile of the fourth user; and k k k k k Ex. E-16