Match Group, LLC v. Bumble Trading Inc.

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

Exhibit 3

Interested in this case?

Current View

Full Text

9 EXHIBIT 3 9 IIIIII IIIIIIII Ill lllll lllll lllll lllll lllll lllll lllll lllll 111111111111111111 US010203854B2 c12) United States Patent (IO) Patent No.: US 10,203,854 B2 Rad et al. (45) Date of Patent: *Feb.12,2019 (54) MATCHING PROCESS SYSTEM AND (58) Field of Classification Search METHOD CPC ........... G06F 17/30867; G06F 17/3053; G06F 17/30386 (71) Applicant: Match Group, LLC, Dallas, TX (US) See application file for complete search history. (72) Inventors: Sean Rad, Los Angeles, CA (US); Todd M. Carrico, Sachse, TX (US); (56) References Cited Kenneth B. Hoskins, Plano, TX (US); James C. Stone, Addison, TX (US); U.S. PATENT DOCUMENTS Jonathan Badeen, North Hollywood, 6,480,885 Bl 11/2002 Olivier CA (US) 7,917,448 B2 3/2011 Smola et al. (Continued) (73) Assignee: Match Group, LLC, Dallas, TX (US) (*) Notice: Subject to any disclaimer, the term ofthis OTHER PUBLICATIONS patent is extended or adjusted under 35 PCT Notification of Transmittal of the International Search Report U.S.C. 154(b) by O days. and the Written Opinion of the International Searching Authority, or This patent is subject to a terminal dis- the Declaration with attached PCT International Search Report and claimer. Written Opinion of the International Searching Authority in Inter- national Application No. PCT/USOS/87706, dated Feb. 10, 2009, 8 (21) Appl. No.: 15/944,542 pages. (Continued) (22) Filed: Apr. 3, 2018 (65) Prior Publication Data Primary Examiner - Yuk Ting Choi US 2018/0292981 Al Oct. 11, 2018 (74) Attorney, Agent, or Firm - Baker Botts L.L.P. Related U.S. Application Data (57) ABSTRACT (63) Continuation of application No. 15/676,773, filed on Aug. 14, 2017, which is a continuation of application A method for profile matching includes receiving a plurality of user profiles, each user profile comprising traits of a (Continued) respective user. The method includes receiving a preference (51) Int. Cl. indication for a first user profile of the plurality of user G06F 17/30 (2006.01) profiles. The method also includes determining a potential G06F 3/0484 (2013.01) match user profile of the plurality of user profiles based on the preference indication for the first user profile. The (Continued) method also includes presenting the potential match user (52) U.S. Cl. profile to a second user. CPC ........ G06F 3/04842 (2013.01); G06F 3/0482 (2013.01); G06F 3/0488 (2013.01); (Continued) 12 Claims, 11 Drawing Sheets = 10 = 10 GgJ tinder 88 88 82 ®CD@ 86 9 US 10,203,854 B2 Page 2 Related U.S. Application Data 2008/0294624 Al 11/2008 Kanigsberg et al. 2008/0301118 Al 12/2008 Chien et al. No. 14/059,192, filed on Oct. 21, 2013, now Pat. No. 2009/0106040 Al 4/2009 Jones 9,733,811, which is a continuation-in-part of appli- 2010/0125632 Al 5/2010 Leonard cation No. 12/339,301, filed on Dec. 19, 2008, now 2011/0087974 Al 4/2011 Kulas 2011/0196927 Al 8/2011 Vance Pat. No. 8,566,327. 2012/0088524 Al* 4/2012 Moldavsky. G06Q 30/02 455/456.3 (60) Provisional application No. 61/793,866, filed on Mar. 2014/0040368 Al 2/2014 Janssens 15, 2013, provisional application No. 61/015,099, 2014/0074824 Al 3/2014 Rad filed on Dec. 19, 2007. OTHER PUBLICATIONS (51) Int. Cl. G06Q 10/10 (2012.01) USPTO, Non-final Office Action dated Aug. 25, 2011 for U.S. Appl. G06Q 30/02 (2012.01) No. 12/339,301, filed Dec. 19, 2008 in the name of Todd M. Carrico, G06Q 50/10 (2012.01) 14 pages. G06Q 50/00 (2012.01) Response to Office Action Pursuant to 37 C.F.R. § 1.111 filed Nov. G06F 3/0482 (2013.01) 23, 2011 for U.S. Appl. No. 12/339,301, filed Dec. 19, 2008 in the name of Todd M. Carrico, 12 pages. G06F 3/0488 (2013.01) USPTO, Final Office Action dated Jan. 6, 2012 for U.S. Appl. No. (52) U.S. Cl. 12/339,301, filed Dec. 19, 2008 in the name of Todd M. Carrico, 15 CPC .. G06F 17/30554 (2013.01); G06F 17/30657 pages. (2013.01); G06Q 10/10 (2013.01); G06Q Request for Continued Examination Transmittal and Amendment 30/02 (2013.01); G06Q 50/01 (2013.01); Filed with Request for Continued Examination filed May 7, 2012 G06Q 50/10 (2013.01) for U.S. Appl. No. 12/339,301, filed Dec. 19, 2008 in the name of Todd M. Carrico, 17 pages. (56) References Cited USPTO, Non-final Office Action dated Oct. 2, 2012 for U.S. Appl. No. 12/339,301, filed Dec. 19, 2008 in the name of Todd M. Carrico, U.S. PATENT DOCUMENTS 10 pages. Response to Office Action Pursuant to 37 C.F.R. § 1.111 filed Dec. 8,060,463Bl 11/2011 Spiegel 31, 2012 for U.S. Appl. No. 12/339,301, filed Dec. 19, 2008 in the 8,180,804Bl 5/2012 Narayanan et al. name of Todd M. Carrico, 13 pages. 8,566,327B2 10/2013 Carrico et al. USPTO, Final Office Action dated Mar. 7, 2013 for U.S. Appl. No. 9,547,369Bl 1/2017 Wernick et al. 12/339,301, filed Dec. 19, 2008 in the name of Todd M. Carrico, 12 9,720,570B2 8/2017 Wernick et al. pages. 2005/0021750 Al 1/2005 Abrams Response to Office Action Pursuant to 37 C.F.R. § 1.116 and 2005/0027707 Al 2/2005 Syed Certification and Request for Consideration Under the After Final 2006/0059147 Al 3/2006 Weiss et al. Consideration Pilot Program 2.0 filed Jun. 6, 2013 for U.S. Appl. 2006/0085419 Al 4/2006 Rosen 2006/0106780 Al 5/2006 Dagan No. 12/339,301, filed Dec. 19, 2008 in the name of Todd M. Carrico, 2007/0073687 Al 3/2007 Terrill et al. 14 pages. 2007/0073803 Al 3/2007 Terrill et al. USPTO, Notice of Allowance and Fees Due dated Jun. 19, 2013 for 2008/0051033 Al* 2/2008 Hymes .............. G06F 17/30247 U.S. Appl. No. 12/339,301, filed Dec. 19, 2008 in the name of Todd 455/47 M. Carrico, 12 pages. 2008/0196094 Al* 8/2008 Benschop G06Q 20/10 726/5 * cited by examiner 9 U.S. Patent Feb.12,2019 Sheet 1 of 11 US 10,203,854 B2 100 i 22 24 22 0 0 0 20 12, 10 ! DISPLAY w26a ...r26 ~28 16 ~ INTERFACE I ~26b 0 ~28 0 Q. 0 0 0 FIG. JB FIG. JC 9 U.S. Patent Feb.12,2019 Sheet 2 of 11 US 10,203,854 B2 NAME PROPERTY 1 PROPERTY 2 0 0 0 Jane Doe./ 3 oa Jane Roe...r 30b 30· Jane Boe...r 30c 0 0 0 Jane Loe ""-- d 30 Jane Snoe""'-- e 0 30 0 0 FIG. JD SEARCH RES ULTS 1. Jane Doe/ 31 a ~ ~ 33 l!vl/34 31, 2. Jane Roe...r31b ~ 33 1!2r34 3.JaneBoe""-- 0 0, II View 31 c - - 33 ~34 0 JI See More FIG. JE Jane Doe Contact r- 35 ~36 Born: 10/01 /75 Hometown: Dallas, TX Likes: Chocolate, rollerblading Dislikes: Body odor, arrogance, football FIG. IF 9 U.S. Patent Feb.12,2019 Sheet 3 of 11 US 10,203,854 B2 SEARCH RESULTS I l 11· Jane Doe) 31 Jane Boe II ~ Jane Loe)) Sally recommended her ",. 39 f HAHf·W'S SEARCH RESULTs·"--·----·----·w···----·········--·--·· tFJG. 2 ~ .- ---1 Jan.Do. Ei;;;,;;;,;;oD'- 37 - - - I j 12b ./·~! 31 ·~ Jane Boe 1 [~~;;~~""I ·I t l i I 1 [~~::.~:;,;~·d· ·. Jane Loe l _ _ _ _ _ _ _ _ _ _ _ _ _ _ ·. . . ."..........-- .. --------,. . . . . . . . . . . . .- I l --.--- 12 -----------------------···-------.. ~~ <handle> .......... ............ ~ --........ ~-- .... ., .......... . ···• '-) ....... · .............................. __ ........................................................... l<·t:~:-r:~~,\ t/,!;/"-V:l \ \ it f.'S'f:,--.) ' ' / ·1' t).:k,/1\ i. '\'<"' /, I. \ ~. ~--·~i ! ·, ("'\t:'mf""\ ·r ·· .. ~• .\1\"'J'i •.••••• ·· ··.h I Age Location Gender/Age Seeking 3 ~.....-- You and <handle> both like music, speak German, 2 and mentioned "Play-·doh" in your profiles. ·--····----·----·------"'""""'""""'"·----···············---------~ 9 U.S. Patent Feb. 12,2019 Sheet 4 of 11 US 10,203,854 B2 20 50 14 30 52 D [] 24 22 22 FIG. 4 62 GENERATE POOL 64 APPLY FILTER APPLY SCORING 66 ALGORITHMS 68 TABULATE SCORES APPLY ORDERING ALGORITHM 70 PRESENT LIST OF RESULTS 72 WAIT FOR USER ACTIVITY 74 FIG. 5 9 U.S. Patent Feb.12,2019 Sheet 5 of 11 US 10,203,854 B2 10 10 tinder tinder Sally 88 88 82 ®CD@ 86 FIG. 6 FIG. 7 10 C====> 10 tinder tinder It's a match! 88 lltll~ You and Sally Ideal 92 Send A Message or 94 ®CD@ Keep Playing @) @) FIG. 8 FIG. 9 9 U.S. Patent Feb.12,2019 Sheet 6 of 11 US 10,203,854 B2 1002 GENERATE USER POOL 1004 DISPLAY USER POOL 1006 RECEIVE USER PREFERENCE NO 1012 1014 STORE FIRST ALLOW COMMUNICATION USER S PREFERENCE 1 11016 DO NOT ALLOW COMMUNICATION FIG. 10 9 U.S. Patent Feb.12,2019 Sheet 7 of 11 US 10,203,854 B2 1102 RECEIVE PAIR OF USER IDENTIFIERS 1104 OK NO 1106 1108 ALLOW DO NOT ALLOW COMMUNICATION COMMUNICATION FIG. 11 9 U.S. Patent Feb.12,2019 Sheet 8 of 11 US 10,203,854 B2 (ct Matchmaker) ~ Sent Matches 1206 Tap on a friend 1204 r~ Search "---'-- - - -) 1202 Ashok Kumar John Stiles Clark Kent Richard Miles John Doe Steve Rogers FIG. 12A 9 U.S. Patent Feb.12,2019 Sheet 9 of 11 US 10,203,854 B2 (~ Matchmaker) ~ Sent Matches 1206 Jonathan Tap on a friend Smith 1204 Ashok Kumar John Stiles Clark Kent 1202 Richard Miles John Doe Steve Rogers FIG. 12B 9 U.S. Patent Feb. 12,2019 Sheet 10 of 11 US 10,203,854 B2 (ct Matchmaker) ~ Sent Matches 1206 Jonathan Mary Major Make a Match! Smith 1204 (Q, Search) 1202 Ashok Kumar John Stiles Clark Kent Richard Miles John Doe Steve Rogers FIG. 12C 9 U.S. Patent Feb. 12,2019 Sheet 11 of 11 US 10,203,854 B2 (..___ _ Re_ce_nt_ _) A-Z Ashok "Heyl How's it going? My nam ... 11 Q~ 1208 John 1208 Matched on 12/4 Jonathan 1208 Matched on 12/4 by: Ashok Kumar Ryan Match Pending ... '---'-'-'--~~ 1 by: Sean Rad FIG. 12D 9 US 10,203,854 B2 1 2 MATCHING PROCESS SYSTEM AND Too many nuisance requests may deter the user from further METHOD use of the system. Users with the most attractive profiles are oftentimes the ones that receive the most unwanted atten- RELATED APPLICATION tion. If the users with the most attractive profiles cease to use 5 the system, the quality of the user pool deteriorates. This application is a continuation of U.S. application Ser. No. 15/676,773 filed Aug. 14, 2017 and entitled "Matching SUMMARY Process System And Method," which is a continuation of U.S. application Ser. No. 14/059,192 filed Oct. 21, 2013 and In one embodiment, a method for profile matching com- entitled "Matching Process System and Method;" which (a) 10 prises receiving a plurality of user profiles, each user profile is a continuation-in-part of U.S. application Ser. No. 12/339, comprising traits of a respective user. It also comprises 301 filed Dec. 19, 2008 and entitled "Matching Process receiving a preference indication for a first user profile of the System and Method," now U.S. Pat. No. 8,566,327, which plurality of user profiles. It further comprises determining a claims benefit under 35 U.S.C. § 119(e) to U.S. Provisional potential match user profile of the plurality of user profiles Application Ser. No. 61/015,099, entitled "Matching Pro- 15 based on the preference indication for the first user profile. cess System And Method," filed Dec. 19, 2007; and (b) The method also comprises presenting the potential match claims benefit under 35 U.S.C. 119(e) to U.S. Provisional user profile to a second user. Application Ser. No. 61/793,866 filed Mar. 15, 2013 and Receiving a preference indication for a first user profile entitled "Social Matching System and Method." 20 may include receiving from a third user a recommendation TECHNICAL FIELD of the first user profile for the second user. It may also include receiving from the second user a preference indica- This invention relates generally to computer matching tion for the first user profile. The method may further include systems and more particularly to a matching process system determining a score of a third user profile of the plurality of and method. 25 user profiles as a potential match for the second user. It may also include altering the score of the third user profile based BACKGROUND on the preference indication for the first user profile. In another embodiment, a method for profile matching Networking architectures have grown increasingly com- comprises receiving a plurality of user profiles, each user plex in communications environments. In recent years, a 30 profile comprising traits of a respective user. The method series of protocols and configurations have been developed further comprises receiving a request for matches from a in order to accommodate a diverse group of end users having first user, the first user associated with a first user profile. various networking needs. Many of these architectures have The method also comprises scoring the plurality of user gained significant notoriety because they can offer the profiles for potential matching with the first user based on benefits of automation, convenience, management, and 35 comparisons of the plurality of user profiles with the first enhanced consumer selections. user profile. It also comprises identifying a second user Certain network protocols may be used in order to allow an end user to conduct an on-line search of candidates to fill profile of the plurality of user profiles as a potential match a given vacancy. These protocols may relate to job searches, for the first user based on the scoring. The method further person finding services, real estate searches, or on-line 40 comprises identifying commonality between a third user dating. While some believe that on-line dating is simply a profile of the plurality of user profiles and the second user matter of matching supply and demand, there is statistical profile. In addition, the method comprises presenting to the and empirical evidence to suggest that successful on-line first user the third user profile as a potential match for the dating entails far more. first user. For example, people having similar and/or compatible 45 Depending on the specific features implemented, particu- character traits and values should be matched together. lar embodiments may exhibit some, none, or all of the However, effectively linking two participants together can following technical advantages. Various embodiments may prove to be a challenging endeavor. Coordinating a relation- be capable of dynamically updating match search results ship between two like-minded individuals can be a signifi- based on user activity. Some embodiments may be capable cant chore, as there are a number of obstacles and barriers 50 of enhancing match search results by reducing the impact of that must be overcome. restrictive user preferences. In addition, some embodiments One problem that has arisen is that matching services are may provide the ability to evaluate the attractiveness of limited to searching for matches only within their own potential matches. Various embodiments may be capable of platform. Thus, only people who have gone through the importing user profiles from other social-networking sys- process of signing up for the service are searched for a 55 terns. Some embodiments may be capable of generating the match. One solution to this problem is to have users register pool of users based on both explicit and implicit criteria in multiple services. This is problematic because it can be derived from other social networking systems. Other tech- expensive and time consuming for users. Further, the user nical advantages will be readily apparent to one skilled in the must then visit all of the services to monitor the search art from the following figures, description and claims. progress: this inefficiency may cause users to give up on the 60 search process. BRIEF DESCRIPTION OF THE DRAWINGS Another problem is that the search results of these ser- vices contain many irrelevant entities to the searcher. This Reference is now made to the following description taken costs the user of the service time and may deter them from in conjunction with the accompanying drawings, wherein continuing through all of the search results. 65 like reference numbers represent like parts, and which: Another problem is that large numbers of unwanted FIG. lA is an overview of one embodiment of the communication requests can become a nuisance to the user. matching system; 9 US 10,203,854 B2 3 4 FIG.1B shows the contents of the terminal from FIG. lA; example) associated with other users in order to make FIG. lC shows the contents of the matching server from matching decisions or elections. Data, as used herein, refers FIG. lA; to any type of numeric, voice, video, text, or script data, or FIG. lD is a diagram of a database from FIG. lC showing any other suitable information in any appropriate format that one embodiment of how a matching server stores a pool; 5 may be communicated from one point to another. FIG. lE is a diagram of the display from FIG.1B showing In one embodiment, terminal 10 represents (and is inclu- one embodiment of the presentation of search results to a sive of) a personal computer that may be used to access user; network 24. Alternatively, terminal 10 may be representative FIG. lF is a diagram of the display from FIG. 1B showing of a cellular telephone, an electronic notebook, a laptop, a one embodiment of the presentation of details of a match 10 personal digital assistant (PDA), or any other suitable device result entity to a user; (wireless or otherwise: some of which can perform web FIG. 2 is a diagram depicting how a user may recommend browsing), component, or element capable of accessing one an entity to another user, in accordance with a particular or more elements within system 100. Interface 16, which embodiment; may be provided in conjunction with the items listed above, FIG. 3 is a diagram of the display from FIG. lB depicting 15 may further comprise any suitable interface for a human user how the user may be made aware of fate characteristics the such as a video camera, a microphone, a keyboard, a mouse, user shares with a match result entity, in accordance with a or any other appropriate equipment according to particular particular embodiment; configurations and arrangements. In addition, interface may FIG. 4 is a diagram depicting how two platforms may be be a unique element designed specifically for communica- searched for a match, in accordance with a particular 20 tions involving system 100. Such an element may be fab- embodiment; ricated or produced specifically for matching applications FIG. 5 is a flow chart indicating how a result list may be involving a user. generated, in accordance with a particular embodiment; Display 12, in one embodiment, is a computer monitor. FIG. 6 shows one embodiment of the matching system Alternatively, display 12 may be a projector, speaker, or displaying to a user the profile information of a second user; 25 other device that allows user 14 to appreciate information FIG. 7 is a diagram of the display from FIG. 6 showing that system 100 transmits. the effect of a left swipe gesture; Network 24 is a communicative platform operable to FIG. 8 is a diagram of the display from FIG. 6 showing exchange data or information emanating from user 14. the effect of a right swipe gesture; Network 24 could be a plain old telephone system (POTS). FIG. 9 shows the matching system displaying a match of 30 Transmission of information emanating from the user may a first user and a second user, in accordance with a particular be assisted by management associated with matching server embodiment; 20 or manually keyed into a telephone or other suitable FIG. 10 is a flowchart depicting a method for enabling electronic equipment. In other embodiments, network 24 communication between two users of the matching system could be any packet data network offering a communications of FIG. 1 based on a mutual expression of approval, in 35 interface or exchange between any two nodes in system 100. accordance with a particular embodiment; Network 24 may alternatively be any local area network FIG. 11 is a flowchart depicting a method for enabling (LAN), metropolitan area network (MAN), wide area net- communication between two users of the matching system work (WAN), wireless local area network (WLAN), virtual of FIG. 1 based on a user suggested matching proposal, in private network (VPN), intranet, or any other appropriate accordance with a particular embodiment; and 40 architecture or system that facilitates communications in a FIGS. 12A-D depict embodiments of a user interface. network or telephonic environment, including a combination of any networks or systems described above. In various DETAILED DESCRIPTION embodiments, network connections 22 may include, but are not limited to, wired and/or wireless mediums which may be Referring to FIG. lA, one embodiment of a matching 45 provisioned with routers and firewalls. system is shown. FIG. lA is a simplified block diagram of Matching server 20 is operable to receive and to commu- a 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 matching server 20 may comprise a plurality of servers or can be leveraged to identify and to evaluate suitable candi- other equipment, each performing different or the same dates in other areas (e.g. hiring/employment, recruiting, real 50 functions in order to receive and communicate information estate, general person searches, etc.). Users 14 interact with to terminal 10. Matching server 20 may include software a matching server 20 through terminals 10. FIG. lB is a and/or algorithms to achieve the operations for processing, diagram showing, in one embodiment, the contents of ter- communicating, delivering, gathering, uploading, maintain- minal 10. Terminal 10 comprises interface 16 (so that user ing, and/or generally managing data, as described herein. 14 may be able to interact with terminal 10) and display 12. 55 Alternatively, such operations and techniques may be FIG. lC is a diagram showing, in one embodiment, the achieved by any suitable hardware, component, device, contents of matching server 20. Matching server 20 com- application specific integrated circuit (ASIC), additional prises memory 26 and at least one CPU 28. Memory 26 may software, field programmable gate array (FPGA), server, store multiple databases, such as databases 26a and 26b. processor, algorithm, erasable programmable ROM Terminal 10 and matching server 20 are communicatively 60 (EPROM), electrically erasable programmable ROM (EE- coupled via network connections 22 and network 24. PROM), or any other suitable object that is operable to Users 14 are clients, customers, prospective customers, or facilitate such operations. entities wishing to participate in an on-line dating scenario In some embodiments, user 14, using terminal 10, regis- and/or to view information associated with other participants ters with matching server 20. Registration may include user in the system. Users 14 may also seek to access or to initiate 65 14 submitting information to matching server 20 about user a communication with other users that may be delivered via 14 as well as characteristics user 14 is seeking to be matched network 24. Users 14 may review data (such as profiles, for with. Such information may include a user handle, which 9 US 10,203,854 B2 5 6 may be a combination of characters that uniquely identifies server 20 provide more information about an entity in result user 14 to matching server 20. In various embodiments, list 31 by pressing the associated view button 33. Matching matching server 20 may be configured to collect this infor- server 20 may then communicate to user 14 more informa- mation; for example, matching server 20 may be configured tion about that entity by retrieving the information from to ask user 14 to respond to a series of questions. Matching 5 memory 26. In FIG. lF, one embodiment of information that server 20 may be configured to receive the information matching server 20 provides for user 14 is shown. Using submitted by user 14 and create a profile for user 14 based display 12, user 14 views an entity from result list 31. on that information, storing the profile in memory 26. Matching server 20 may also provide user 14 with the ability As an example only, consider a case where user 14 is to contact the entity through a contact button 35. In one interested in participating in an on-line dating scenario. User 10 embodiment, when contact button 35 is utilized by user 14, 14 can access the Internet via terminal 10, travel to a web matching server 20 may provide user 14 with contact site managed by matching server 20, and begin the regis- information of the entity such as a telephone number or an tration process. As part of the registration process, matching e-mail address; in another embodiment, matching server 20 server 20 may ask user 14 a series of questions which may provide user with a way to directly contact the entity, identifies characteristics about user 14. Thus, matching 15 such as sending a message or providing voice or video server 20 may ask about the height, weight, age, location, communication between user 14 and the entity. Even further, and ethnicity ofuser 14. It may also ask about the birthplace, matching server 20 may be configured to allow user 14 to parents, eating habits, activities, and goals of user 14. express a negative preference for the entity through dislike Matching server 20 may further use the registration process button 36. In one embodiment, when, for example, dislike to discover what user 14 may be looking for in a match, such 20 button 36 is utilized by user 14, matching server 20 may as age, weight, height, location, ethnicity, diet, education, remove the entity from result list 31; in another embodiment, etc. Further, matching server 20 may ask user 14 to indicate the entity may be removed from pool 30 of users from which how important certain factors are when looking for a match. matches are identified. For example, matching server 20 may allow the user to As an example only, consider that user 14 has submitted indicate which characteristics in a potential match are a 25 a search request to matching server 20. Matching server 20 necessity. In another example, matching server 20 may ask, may search through pool 30, identify results, and commu- "How important is it that your match does not smoke?" nicate result list 31 to user 14 which would contain other Matching server 20 may also allow the user to indicate that users for whom matching server 20 had created a profile and certain characteristics are not important search criteria. For who were identified through a search and selection process. example, when asking user 14 about what height or weight 30 Next, user 14 may be interested in learning more about Jane user 14 is seeking in a match, matching server 20 may be Doe, entity 31a; thus, user 14 would click view button 33 configured to receive "not important" as a response. In yet associated with Jane Doe. Matching server 20 would receive another example, matching server 20 may allow user 14 to this request and respond by displaying Jane Doe's profile rate which factors are important on a numerical scale. For (stored in memory 26), as depicted in FIG. lF. Next, after example, matching server 20 may ask user 14 the following: 35 reading the profile, user 14 may be interested in contacting "On a scale of 1-10, how important is it that your match has Jane Doe; hence, user 14 would click contact button 35. the same education level as you?" In some embodiments, Matching server 20 would respond by allowing user 14 enter matching server 20 may specify that any number of ques- a message that matching server 20 would then communicate tions or requested descriptions are necessary before regis- to Jane Doe. tration may be concluded. As an example only, matching 40 Matching server 20 may even further be configured to server 20 may require that user 14 communicate the sex of allow user 14 to store a match result entity; in one embodi- user 14 and the sex user 14 prefers to be matched with. After ment, the system may be configured to allow user 14 to concluding the registration process, matching server 20 may utilize favorite button 34 that will add the desired match store the responses of user 14 as a profile. This same process result entity into another list. In another embodiment, uti- may be repeated by several different users 14, causing 45 lizing favorite button 34 will remove the associated match matching server 20 to contain a plurality of profiles. result entity from result list 31. FIG. lD depicts an embodiment in which matching server As an example only, user 14 may decide that he would 20 has a database 26a which contains a pool 30. Each entry like to save Jane Doe's profile so that he can review it later. in database 26a has a pool entity 30a along with information User 14 may click favorite button 34, and matching server concerning that entity. In one embodiment, each pool entity 50 20 may respond by placing Jane Doe's profile into a separate 30a-e represents a user and their profile. In some embodi- list. Further, matching server 20 may also remove Jane Doe ments, not all registered users are in pool 30. As discussed from user's 14 result list 31. As a result, user 14 may see further below, matching server 20 may use a selection another match result entity populate result list 31. This is process for including stored profiles in pool 30. As depicted beneficial because it may focus user 14 on evaluating new in FIG. lD, in this embodiment, the collection of users and 55 entities rather than reevaluating previously-known entities profiles forms pool 30 through which matching server may because the entities still appear in result list 31. perform various functions such as searches for matches. In some embodiments, matching server 20 may be con- Matching server 20 may be configured to search through figured to generate pool 30 by default according to various pool 30 and present matches to user 14. In FIG. lE, one characteristics and preferences of user 14 and other users of embodiment of this presentation is depicted as occurring 60 the system. Matching server 20 may also restrict entities through display 12. In various embodiments, matches may from being included in pool 30 based on the status of the be presented to user 14 utilizing other communication profile, or if user 14 has rejected or blocked an entity. schemes, such as electronic messages (i.e., e-mail) or text Matching server 20 may also restrict entities from the pool messages (i.e., utilizing SMS). In the depicted embodiment, that have blocked or rejected user 14. For example, match- a result list 31 is presented to user 14. A match result entity 65 ing server 20 may not allow profiles that are not in good 31a in a result list 31 may be associated with a view button standing to be included in pool 30. In other embodiments, 33. Using interface 16, user 14 may request that matching matching server 20 may be configured to generate pool 30 9 US 10,203,854 B2 7 8 by first choosing seeds. Seeds include, but are not limited to, user (Bob) had indicated a positive preference toward both profiles that user has sent a message to or profiles that user Lucy and Jane. Continuing the example, matching server 20 14 has expressed a preference for. Each seed is then com- is using a commonality threshold score of 70, which results pared to other entities to determine which entities will be in including Susan's profile (whose commonality score was included in pool 30. Any suitable method can be used to 5 greater than the threshold score) in pool 30 and excluding determine which entities are included in pool 30. For Lucy's (whose commonality score was less than the thresh- example, any characteristics or algorithms described herein old score). Thus, user 14 gets the benefit of having more may form the basis of such a determination. As another entities identified that may be good matches. example, a commonality score may be generated based on In some embodiments, matching server 20 may be con- the comparison between each entity and the seed. In some 10 figured to include behavioral scales. These may include embodiments, this commonality score can be a measure of multi-item scales for materialism and gender-role tradition- how physically similar the users are to each other. This score alism. Such scales may provide the advantage of improved may be generated based on the number of users that have matching through deeper appreciation for the personality of expressed a positive preference for both the seed and the entities in the system. entity being compared. This score may also be generated 15 In some embodiments, matching server 20 may be con- based on whether the seed and entity have been viewed figured to analyze profile text for categories. It may search together in one session; further, the more times the seed and for a number of text strings and then associate the profile entity have been viewed together, the larger the common- with any number of categories. As an example only, match- ality score. The law of large numbers may allow for a vast ing server 20 may add any profile to the Cat category whose amount of such commonalities to be established over a few 20 text contains any of the following strings: days. Testing has revealed that using such commonality "cat" "cats" "cat." "cats." "cat," "cats," scoring methods has yielded at least one physical match for Matching server 20 may be configured to make it more 80% of users whose profile has been viewed at least once, likely that a profile will be in a result list if categories and between and 1000 physical matches for 60% of users associated with the profile are also categories found in the whose profile has been viewed at least once. Matching 25 user's profile who submitted the search request. server 20 may be further configured to allow entities that Matching server 20 may be configured to analyze one or have a commonality score above a certain threshold to more portions of the text of an entity's profile and generate become a part of pool 30. Matching server 20 may further a readability score that may be used in various ways, such be configured to update pool 30. In some embodiments, as in the process of searching for matches for user 14. In matching server 20 may do so by creating new seed entities 30 some embodiments, matching server 20 may analyze factors based on activity by user 14, such as indicating a preference such as, but not limited to: average number of words per for that entity. Further, matching server 20 may then com- sentence, total number of words with greater than three pare the chosen seed entity with other profiles stored in syllables, and total number of words in the profile. Matching matching server 20 and determine whether those profiles server 20 may also concatenate all of the collected responses will be included in pool 30 using a threshold score as 35 with a single space between them. It may further break the described above. At least one advantage realized by this text into sentences, words, and syllables. From these statis- embodiment is that user 14 is presented with updated tics, matching server 20 may also be configured to generate potential matches which increases the likelihood of user 14 a readability score by, in one embodiment, taking the aver- finding a suitable match. Another advantage present in age of the Flesch Kincaid Reading Ease test, the Flesch certain embodiments is that these updated potential matches 40 Kincaid Grade Level test, and the Gunning Fox score. Other have a greater likelihood of compatibility with user 14 since embodiments may utilize any other combination of these or they are chosen based on their commonality with entities other tests to determine a readability score. In some embodi- user 14 has expressed a preference for. ments, analyses may be used to determine the IQ of an As an example only, consider the case in which user 14 entity, the grade level of the writing, or how nervous the has registered, requested a search, and received from match- 45 entity generally is. An advantage of this embodiment may be ing server 20 results list 31. Then, user 14 decides to contact that the system provides user 14 with a metric for determin- Jane Doe and presses contact button 35. Aside from provid- ing approximate intelligence of other users. The readability ing user 14 with the ability to contact Jane Doe, matching score may be used, for example, in the matching process to server 20 will designate Jane Doe's profile as a seed. identify potential matches. Matching server 20 will then compare Jane Doe's profile to 50 As an example only, the Flesch Kincaid Reading Ease other profiles stored in memory 26 in order to identify other score may be generated by first computing the following users who may be similar to Jane Doe and thus be a good intermediate score: match for user 14. In this example, matching server 20 will 206.835-(1.015*[Average Words per Sentence])- generate a commonality score for each of these comparisons (84.6*[Average Syllables per Word]) and compare these scores to a preset threshold. If the 55 commonality score is lower than the threshold, that profile Then, the Flesch Kincaid Reading Ease score is determined will not be added to pool 30. However, if the commonality by using the following table: score is higher than the threshold, matching server 20 will add this profile to pool 30. As an example, further assume that the seed, Jane Doe, is being compared to another entity, 60 Flesh Kincaid Reading Ease Intermediate Score Condition Score Susan Smith. Based on the fact that both Susan and Jane have three users (Tom, Dick, and Harry) who have expressed <100 4 a positive preference for their profiles, matching server 20 <91 5 <81 6 generates a commonality score of 100 for the comparison. In <71 7 contrast, matching server 20 generated a commonality score 65 <66 8 of 50 for the comparison between the seed (Jane Doe) and <61 9 yet another entity, Lucy Goosey. This was because only one 9 US 10,203,854 B2 9 10 -continued server 20. Matching server 20 then analyzes each of these profiles by comparing it to a list of predefined keywords. Flesh Kincaid Reading Ease Matching server 20 then associates each word that matched Intermediate Score Condition Score the list of keywords with each profile. Now assume that <51 10 5 Harry performs a search. While fulfilling Harry's query, <31 13 matching server 20 evaluates Sally's profile for inclusion in <O 14 Harry's result list 31. This evaluation includes comparing Else 15 the list of keywords found in Harry's profile to the keywords found in Sally's profile. The more keywords that Harry and The Flesch Kincaid Grade Level may be computed accord- 10 Sally have in common, the more likely it will be that ing to the following: matching server 20 will include Sally's profile in Harry's result list 31. (0.39*[Average Words Per Sentence])+(ll.8*[Aver- age Syllables Per Word])-15.59 In some embodiments, matching server 20 may be con- figured to impute a level of physical attractiveness to an The Gunning Fox score may be computed according to the 15 entity in pool 30. Matching server 20 may be configured to following: monitor how frequent an entity in pool 30 has been viewed ([Average Words Per Sentence]+(([Nurnber Of as well as how many times that entity has been part of a Words With More Than 3 Syllables ]/[Number result list in order to impute the level of physical attractive- of Words In Entire Text])+l00))*0.4 ness. Matching server 20 may further be configured to As indicated, any suitable tests may be utilized m any 20 generate a score based on this data. Further, in some suitable manner to determine a readability score. embodiments, matching server 20 may impute physical In some embodiments, matching server 20 may be con- attractiveness to an entity based on the imputed physical figured to allow a user to interact with the result list of attractiveness scores of other entities. Matching server 20 another user. Matching server 20 may be configured to allow may compute an average of the imputed physical attractive- a user to express a preference for entities within a result list 25 ness scores of the other entities weighted by the common- of another user, and to indicate to the other user of this ality score between each of the other entities and the present preference. Thus, a user may be able to get advice from a entity. Empirical data indicates that people are more likely friend regarding what other users may constitute good to match with people of similar attractiveness. Thus, in many matches for the user and thus be able to find a better match. embodiments, a user may obtain an advantage in that they As an example only, consider FIG. lA and FIG. 2. Two 30 are able to be presented with potential matches that, accord- users 14, Harry and Sally, are connected to matching server ing to one measurement, are as attractive as the user. 20 via terminals 10. Display 12a is used by Harry while As an example only, consider a registered user, Sally, display 12b is used by Sally. Matching server 20 allows whose profile was created by matching server 20 in January. Sally to view Harry's result list 31 on her terminal in display Since that time, matching server 20 has recorded the number 12b. By pressing recommend button 37, Sally may indicate 35 of times Sally's profile has appeared in any user's result list a preference for one or more of the entities in result list 31. 31; assume that this has occurred 10 times. Further, match- Assume Sally presses recommend button 37 associated with ing server 20 has also recorded the number of times a user Jane Loe. After doing so, matching server 20 will notify has viewed Sally's profile by clicking view button 33 Harry of Sally's preference. On Harry's display 12a, match- associated with Sally's profile; assume that this has hap- ing server 20 will cause notification 39 to appear, associating 40 pened 5 times. In this manner, matching server 20 has it with Jane Loe. Notification 39 will indicate to Harry that constructed a ratio that represents the imputed physical Sally has recommended Jane Loe as a potential match. Harry attractiveness of Sally's profile. Still further, assume that may find Sally's preference helpful in determining which Harry, a registered user, now submits a query. Matching entities he should pursue further if, for example, he believes server 20 has evaluated the imputed physical attractiveness Sally understands the type of person he is looking for. 45 ratio of Harry's profile. When evaluating Sally's profile for In one embodiment, matching server 20 may be config- inclusion in result list 31 returned to Harry, matching server ured to analyze the profiles of both user 14 and the entities 20 will compare the imputed physical attractiveness of in pool 30 for keywords. Matching server 20 may be Sally's profile and Harry's profile. The more similar the configured to search through the profile of user 14 for ratios associated with Harry and Sally's profiles are to each keywords that relate to things such as activities and interests. 50 other, the more likely it is that Sally's profile will be selected Matching server 20 may generate a score for each entity in by matching server 20 to be in Harry's result list 31. In pool 30 based on a comparison between the list of keywords another example, assume that Sally's profile has not been found in user's 14 profile and a similarly-generated list of registered long enough to generate a meaningful imputed keywords of each entity in pool 30. In one embodiment, this physical attractiveness ratio. Matching server 20 may then is accomplished by storing a list of words in memory 26, and 55 generate an imputed physical attractiveness score based on using it to identify keywords in the searched profiles. In entities that Sally does have commonality scores with. This some embodiments, identified keywords may be used as a computed average may be weighted by the strength of the means of weighting various scores. As an example only, a commonality score between Sally and each entity with profile that contains the word "God" may be weighted much whom she has a commonality score. Continuing the differently than a profile which has merely indicated that 60 example, assume that Sally has a commonality score of 5 their religious preference is Christian. In various embodi- with Lucy and 10 with Julia. When matching server 20 ments, this may provide an advantage to user 14 in that user computes the Sally's average, it will give twice as much 14 is able to determine how similar he/she is with a potential weight to Julia's imputed physical attractiveness score than match. In addition, the keyword analysis may be used by the to Lucy's. system when searching and identifying matches for a user. 65 In some embodiments, matching server 20 may be con- As an example only, consider two registered users, Harry figured to make an entity in result list 31 more appealing to and Sally, both of whom have profiles stored in matching user 14 by pointing out coincidences in the profile data that 9 US 10,203,854 B2 11 12 give user 14 a sense of fate with the entity. In one embodi- In another embodiment, matching server 20 may be ment, matching server 20 may be configured to search for configured to compare the locations of user 14 and pool similar initials, birthplaces, birth dates, birth month, birth entity 30a in increments often miles. In yet another embodi- year, university, first names, last names, user handles, paren- ment, matching server 20 may be configured to score the tal occupations, and keywords to identify users who may 5 location comparison in light of other factors; as an example, give another user a sense of fate. In other embodiments, matching system 20 may be configured to return a score matching server 20 may use the fate characteristics as a consistent with a 10 mile difference in location even though metric in the matching process. there is a 50 mile difference between user 14 and pool entity As an example only, assume that Harry is a registered user 30a if user 14 and pool entity 30a have the same income, who has performed a search. After matching server 20 10 education, and age. An advantage realized in several returns a result list, Harry chooses to learn more about one embodiments is that it better approximates how a user of the entities in the result list and clicks view button 33. evaluates entities. Entities that live further away are gener- Consider FIG. 3, which is only an example of information ally less appealing to a user; but, users may still be interested that matching server 20 may return to Harry after clicking if the entity matches their preferences in other categories. view button 33. In Harry's display 12, matching server 20 15 As an example only, consider a registered user, Harry, presents certain details about the profile. In particular, who submits a search request. While fulfilling this request, matching server 20 presents to Harry a fate notification 32 matching server 20 examines Sally's profile in pool 30, and which points out specific similarities between the profile of determines that the stated locations of Harry's and Sally's the entity and Harry's profile. Reading fate notification 32 profiles are 13 miles apart. Matching server 20 will give gives Harry a sense of familiarity which enhances his 20 Sally's profile a score as if the distance between them were appreciation for the profile. only 10 miles. However, in yet another example, Sally's In another example, fate characteristics may be used to profile may indicate that she lives 50 miles away from Harry. decide whether a profile in pool 30 is included in user's 14 Yet, matching server 20 also notes that both Harry and Sally result list 31. Assume that Harry is a registered user who has make $100,000 per year, have Master's degrees, and that submitted a matching query to matching server 20. While 25 Harry and Sally are one year apart in age (Harry is older). determining which entities to include in Harry's result list, Given these similarities, matching server 20 will give a score matching server 20 considers two profiles: Sally and Roxy. to Sally's profile that is consistent with a 20 mile difference Sally and Harry both have the same birth date, initials, and in location even though they are actually 50 miles apart. In have parents that work in the same profession. In contrast, this manner, matching server 20 takes into account empirical Roxy and Harry only share the same birth place. Matching 30 data that shows that people searching for matches who server 20 may be configured to award more points to Sally indicate that they want to see matches who live close to them than to Roxy based on these comparisons, making it more are still willing to pursue a potential match that lives far likely that Sally's profile will be included in Harry's result away if the potential match fits very closely with the other list. search criteria. In some embodiments, matching server 20 may be con- 35 In another embodiment, matching server 20 may be figured to evaluate the likelihood of contact between user 14 configured to evaluate the age difference between user 14 and an entity in pool 30. Matching server 20 may be and pool entity 30a using ranges as well as a sliding scale. configured to compare demographic data between user 14 By way of example only, matching server 20 may be and pool entity 30a. In another embodiment, matching configured to assign a high value to an age difference server 20 may be configured to weigh the demographic 40 between O and -5, while assigning a lower value to an age similarities and differences based on the sex of user 14. The difference between +2 and 0. An even lower value may be demographic data may include, but is not limited to, age, assigned to an age difference between -6 and -8. Even lower education, ethnicity, income, and location. values would be assigned incrementally as the age difference As an example only, assume that Harry and Sally are increases outside of the ranges discussed. The higher the registered users who have profiles in matching server 20. 45 assigned value is, the more likely it will be that pool entity Harry has submitted a search request to matching server 20. 30a will be included in result list 31. Yet another embodi- While fulfilling this request, matching server 20 evaluates ment may apply this combination of ranges and a sliding Sally's profile since her profile is in pool 30. As part of the scale but use different values and ranges depending on the evaluation, matching server 20 looks at the differences sex of user 14. between Harry and Sally's stated age, income, education, 50 As an example only, consider a situation in which a ethnicity, and location. In this example, Harry is 10 years registered user, Harry, requests a search to be performed. older than Sally, makes $10,000 more per year, and has a While fulfilling this request, matching server 20 evaluates Master's degree while Sally has a bachelor's degree. Even Sally's profile, which was in pool 30. As part of the with these disparities, matching server 20 will give Sally's evaluation, matching server 20 compares the ages of Harry profile a high score which makes it more likely that Sally's 55 and Sally, and determines that Harry is two years older than profile will appear in Harry's result list. However, if it was Sally; this determination leads to matching server 20 assign- Sally who submitted the search, and matching server 20 was ing, in this example, points to Sally's profile. Matching evaluating Harry's profile, a different score is possible. So, server 20 may also be configured to assign 50 points to if it were Sally who was 10 years older, made $10,000 more Sally's profile had she been five years younger than Harry; per year, and had a Master's degree while Harry had a 60 but, if she had been up to two years older than Harry, Bachelor's degree, matching server 20 would give a low matching server 20 may have been configured to assign 40 score to Harry's profile, making it less likely that his profile points to her profile. Matching server 20 may be further would appear in Sally's result list. Matching server 20 may configured to assign 30 points to Sally's profile if she was 6 be configured this way because empirical data has shown to 8 years younger than Harry. However, if Sally were more that these demographic differences do not have an equiva- 65 than 8 years younger than Harry, matching server 20 may be lent effect on the choices men and women make regarding configured to further decrease the number of points assigned matches. to her profile: if she was 9 years younger, then 25 points; if 9 US 10,203,854 B2 13 14 she was 10 years younger, 20 points; if she was 11 years matching server 20 may populate user's 14 result list from younger, 15 points; etc. The more points assigned to Sally's the pool only with profiles whose average rating is at 6 or profile, the more likely it is that her profile will appear in above. Another example of how matching server 20 may use Harry's result list. Thus, matching server 20 may be con- this data involves making it more likely that an entity will figured to assign a score based on age difference using a 5 appear in a user's result list if the entity and that user have combination of ranges and a sliding scale. a similar average attractiveness rating. So, if a user has an In another example, matching server 20 may assign scores average rating of 6, then an entity with an average rating of differently if it was Sally who was searching and if it was 5 may be more likely to appear in the user's result list than Harry's profile that was being evaluated. In this example, an entity with an average rating of 2. matching server 20 may be configured to assign Harry's 10 In another example, assume that Harry is a registered user profile 50 points ifhe were between 1 and 5 years older than and has requested a search. While fulfilling this request, her. If he were 6 to 8 years older than her, matching server matching server 20 evaluates Sally's profile. As part of this 20 may assign 45 points. If he were greater than 8 years evaluation, matching server 20 notices that Sally's profile older than her, matching server 20 may assign points in the contains feedback from other users ranking the attractive- following fashion: if he was 9 years older, 40 points would 15 ness of Sally's profile. Matching server 20, in this example, be assigned; if he was 10 years older, 35 points would be averages that data; Sally's profile average is 6. Matching assigned; etc. However, if he was up to two years younger server 20 may then examine Harry's profile to determine a than Sally, matching server 20 may assign 50 points to his similar average. If Harry's profile has an average close to 6, profile. If he were more than two years younger, matching it will be more likely that matching server 20 will include server 20 may assign less points on a sliding scale: 45 points 20 Sally's profile in Harry's result list. If Harry's profile if he were 3 years younger, 40 points if he were 4 years average is lower than 6, it will be less likely that Sally's younger, etc. The more points assigned to Harry's profile, profile will be included in Harry's result list. If Harry's the more like it is that his profile will appear in Sally's result profile average is greater than 6, it will be even less likely list. This example illustrates how matching server 20 may be that Sally's profile will be included in Harry's result list. The configured to take the sex of user 14 into account when 25 more Harry's profile average deviates from that of Sally's, scoring based on age differences. the less likely it will be that matching server 20 will present In various embodiments, matching server 20 may be Sally's profile in Harry's result list. configured to evaluate the attractiveness of an entity in pool In some embodiments, matching server 20 may be con- 30 through collected feedback from other users. In one figured to analyze profile information and received activity embodiment, matching server 20 may present an entity to 30 information to construct "pairs" which link at least two user 14, prompting user 14 to rate the attractiveness of the profiles. These pairings may also be associated with a value entity on a scale from 1-9. This range gives the advantage of that ascertains the quality of the pairing. For example, a having a midpoint. Matching server 20 may further be pairing which results from one user viewing the profile of configured to collect such responses and store them; in one another user may be assigned a value that is less than a embodiment, matching server 20 may store the data in 35 pairing which results from a first user viewing the profile of memory 26, using a structure such as database 26b. Match- a second user when the second user has also viewed the first ing server 20 may further be configured to compute the user's profile. Matching server 20 may use these pairings in average of such responses for the entity, and store this order to generate search results for entities within and number as well. In various embodiments, these values may outside of the pairing. Each member of the pair may be used be used in order to help in the matching process. Empirical 40 as a seed entity for generating search results for users in data indicates that people are more likely to match with matching server 20. In various embodiments, an advantage people of similar attractiveness. Thus, in various embodi- may be realized as matching server 20 analyzes many of ments, users whose attractiveness rating are similar will be these pairs to develop dynamic results to users of the system, more likely to appear in each other's result list. Further, a the results being potentially more relevant as matching user may indicate that they only want profiles in their result 45 server 20 leverages the interaction between users and pro- list whose average attractiveness rating is higher than an files to generate search results. indicated threshold. Pairs may be formed from a variety of user activity As an example only, assume registered user, Harry, uses received by matching server 20. This activity may include: terminal 10, which in this example is Harry's personal profile views, mutual profile views, one-way double blind computer, and establishes communication with matching 50 communication, mutual double-blind communication, server 20. In this example, this communication occurs by declining double blind communication, one way wink, Harry using a Web browser to access a Web page controlled mutual wink, expressing disinterest in response to receiving by matching server 20. Sometime after visiting the Web a wink, one way favorite, and mutual favorite. Other suitable page, matching server 20 may present Harry with an option activity may also be received by matching server 20 and to rate the physical attractiveness of other users registered 55 utilized as a basis for generating pairs. with matching server 20. Using display 12 and interface 16, For example, Harry may be a registered user who has Harry may view profiles of registered users and rank them expressed a positive preference for Sally. Matching server on a scale of 1-9 by entering the values using interface 16; 20 may be configured to generate a pair which includes in this example, interface 16 comprises a mouse and/or a Harry and Sally. Matching server 20 may utilize this pair keyboard. After submitting this rating, matching server 20 60 when providing search results to other users. Betty may have will associate it with the profile and store it. Matching server requested matches, and Betty may be similar to Sally. 20 will also allow other users to rate profiles, thereby Matching server 20 may present Harry in Betty's result list collecting a plurality of rankings for profiles. Matching as a result of the pairing between Harry and Sally. Further, server 20 may use this data when trying to find matches for Jim may have executed a search and Jim may be similar to users. One example of this is that matching server 20 may 65 Harry. As a result of the pairing between Sally and Harry, allow user 14 to specify that he/she is searching for profiles matching server 20 may present Sally in Jim's list of search which have an average rating of 6 or above. In tum, results. 9 US 10,203,854 B2 15 16 In some embodiments, matching server 20 may be con- to Harry. This serves as an example of how preferences may figured to encourage user 14 to interact with entities in pool be identified based on user behavior. 30. For example, matching server 20 may present a list of In FIG. 4, one embodiment is disclosed wherein matching limited entities from pool 30 to user 14, but not present other server 20, with pool 30, may be configured to interact with entities to user 14 unless user 14 interacts with the already 5 another platform, such as social networking platform 50, presented entities. Possible interaction with these entities containing a set 52 of users. Users 14 are communicatively may include viewing more information regarding the entity, coupled to matching server 20 and social networking plat- expressing a positive or negative preference for the entity, form 50. Matching server 20 may further be configured to and choosing to contact the entity. Other suitable forms of provide users of social networking platform 50 a service by interaction may also be utilized. For example, matching 10 which they may search for users within set 52 or within pool server 20 may prompt the user with a question about the list 30 using the algorithms and processing of matching server of entities, such as asking whether or not the user likes the 20. Matching server 20 may even further be configured to entity. Responses to such prompts may include "yes," allow users of matching server 20 to search through pool 30 "maybe," "no," "remove," and "remove other." The pre- and set 52. Matching server 20 may be configured to parse sented entities may be chosen using a variety of methods. 15 the profiles of the entities in set 52, collecting data and For example, the presented entities may be chosen based on applying algorithms. various scoring algorithms as described above. In addition, In another embodiment, matching server 20 may be presented entities may be chosen using predictive analysis, configured to allow users of social networking platform to such as logistical regression. Other techniques may be used interact with matching server 20 using social networking to determine the presented entities. For example, entities that 20 platform 50. This level of integration provides the advantage have been presented previously may be excluded. As of users not having to learn and sign up for a different another example, entities that have been blocked by user 14 platform. may also be excluded. In various embodiments, a combina- Social networking platform 50, in one embodiment, may tion of these techniques as well as others may be used to be a service which stores profiles of its users. This service determine the limited number of entities presented to user 25 may be further configured to provide access to the stored 14. profiles. In one embodiment, social networking platform 50 For example, Harry may be a registered user of the may also allow other services to interact with users of social matching system. Matching server 20 may be configured to networking platform 50 through social networking platform present to Harry a list of five entities that Harry must interact 50. with. Once Harry has interacted with these entities, match- 30 In one embodiment, matching server 20 may be config- ing server 20 may present five more entities for Harry to ured to collect requests from users of social networking interact with. Previously, Harry has blocked Sally, another platform 50 and perform a search through pool and set 52. registered user of the system. As a result, matching server 20 Matching server 20 may further be configured to present the may exclude Sally from being presented to Harry in the list results of this search from within social networking platform of five entities. Further, Harry has already interacted with 35 50. Matching server 20 may further be configured to present Betty, another registered user of the system: Harry sent a entities in the search result from pool 30 as if they were message to Betty utilizing matching server 20. As a result, entities of set 52; in one embodiment, matching server 20 Betty will be excluded from being presented to Harry in the may be configured to generate profiles of entities from pool list of five entities. Matching server 20 may then choose two 30 into set 52. Thus, users of social networking platform 50 of the five entities using scoring algorithms described above. 40 may view all of the entities in the search result, regardless For example, matching server 20 may choose Alice and Amy of their source (either from pool 30 or set 52), within the to be presented in the list of five entities because Alice and environment of social networking platform 50. Amy have received high scores when their profiles were As an example only, consider two users: Harry, for whom compared to Harry's profile. Matching server 20 may matching server 20 has created a profile, and Sally, who has choose the remaining three entities using predictive analysis. 45 a profile stored in social networking platform 50. From According to this example, matching server 20 may use within social networking platform 50, matching server 20 logistical regression to identify Carla, Christi, and Camela as presents to Sally the ability to perform a search which Sally the other three entities to present to Harry. Thus, in this uses. The results of this search are presented to Sally within example, Harry is presented with a list of five entities by social networking platform 50. In this example, Harry's matching server 20. Matching server 20 may not present 50 profile is displayed to Sally as a search result along with another set of five entities until Harry has interacted with other entities from set 52 though Harry's profile was from these five entities. Harry may interact with these entities in pool 30. In this example, matching server 20 uses the a variety of ways. For example, Harry may send a message algorithms discussed herein and searches through the pro- to Alice and send a "wink" to Amy. In addition, Harry may files stored in pool 30 and set 52. In order to display Harry's choose to view more information about Carla's profile, but 55 profile to Sally, matching server 20 creates a profile in set 52 express a negative preference towards Christi and Camela. using the data stored in Harry's profile in pool 30. Sally is After matching server 20 receives these types of interaction then able to interact with this newly created profile from with the presented five entities, another set of five entities within social networking platform 50 in the same marmer as may be presented to Harry. she is other entities in set 52. In this example, matching server 20 may further be 60 In another embodiment, matching server 20 may be configured to process the user interaction provided by Harry. configured to allow its users to interact with social network- For example, matching server 20 may utilize Alice's profile ing platform 50 through matching server 20. In one embodi- as a seed entity to generate other possible entities to present ment, matching server 20 supplements pool 30 with set 52. to Harry since Harry sent a message to Alice. Thus, a benefit In yet another embodiment, entities from set 52 appear as is from presenting a the five entities to Harry in that the 65 entities of pool 30 to the user in their list of search results. interaction between Harry and these entities may be utilized In one embodiment, matching server 20 may be configured by matching server 20 to generate other entities for matching to generate profiles within pool 30 from entities of set 52; the 9 US 10,203,854 B2 17 18 system may be configured to do so through capabilities -continued provided by social networking platform 50, such as an application programming interface. Number of Points for Condition Ordering As an example only, consider two users: Harry, whose profile is stored in matching server 20, and Sally, whose 5 Match result entity has +1048576 profile is stored in social networking platform 50. Harry commonality with an entity user has expressed a submits a search request to matching server 20. Matching preference for server 20 may return result list 31 to Harry, which, in this Both have the same ambition +128 example, contains an entity representing Sally's profile. Both have the same beliefs +16384 10 Same answer for Build +64 Matching server 20 may accomplish this by creating profiles Sarne answer for Car +1 in pool 30 that correspond to the profiles found in set 52. Both have the same diet +4 Once these profiles have been imported into pool 30, match- Both have the same +131072 preference for drinking ing server 20 may then search through pool 30. While doing alcohol so, matching server 20 applies the algorithms and scores 15 Same answer for Ethnicity +1024 discussed herein. Thus, in this example, matching server 20 Sarne answer for Fear +256 has been configured to both search and apply scoring Sarne answer for Hair +2 Sarne answer for Number of +524288 algorithms to entities in pool 30 and set 52. Further, in one children example, Harry is not able to distinguish that Sally's profile Sarne answer for morning +32 was originally stored in social networking platform 50. 20 Sarne answer for "must have" +32768 Rather, matching server 20 presents Sally's profile in the Sarne answer for "night out" +16 same manner as other profiles stored in pool 30. Thus, in this Sarne answer for "pets" +65536 Sarne answer for politics +8192 example, Harry may use favorite button 34, view button 33, Sarne answer for relationship +O and contact button 35 when interacting with Sally's profile status in the same manner as described above. 25 Sarne answer for "romance" +512 Sarne answer for smoking +262144 One advantage present in various embodiments is that a preferences user has a wider pool of entities to search through. Another Sarne answer for sports +8 advantage is that a user does not have to sign up with several interests platforms to search through the users on those platforms. Sarne answer for "system" +4096 FIG. 5 is a flowchart illustrating one embodiment of how 30 result list 31 may be generated. At step 62, matching server As an example only, consider a registered user, Harry, 20 generates pool 30, as described above. At step 64, who desires to perform a search. Before processing the matching server 20 applies a filter to pool 30, removing request, matching server 20 may ask Harry what sex he is certain entities; in various embodiments, this filter is based and what sex does he desire to be matched with; in this on user's 14 own sex and the sex user 14 desires to be 35 example, Harry responds that he is a male seeking a female. matched with. At step 66, matching server 20 may be After doing so, matching server 20 will generate pool 30 as configured to apply algorithms to pool 30 that will generate described above. Next, matching server 20 will apply a filter a plurality of scores for each entity in pool 30. In one to remove certain entities from pool 30. In this example, all embodiment, these algorithms may include analyzing the males will be removed from pool 30 since Harry is seeking text of the profiles of the entities in pool 30 to generate a 40 a female. Further, all females seeking females will be readability score, determining how attractive an entity of removed from pool 30 since Harry is a male. In other pool 30 is, or measuring how likely it is that user 14 will examples, other entities that are removed from pool 30 contact an entity of pool 30. At step 68, matching server 20 include entities that Harry has expressed a negative prefer- may be configured to collect all of the scores from step 66; ence for before, or entities that have expressed a negative in one embodiment, matching server 20 may use database 45 preference for Harry. After pool 30 has been filtered, match- 26b to store all of these scores. At step 70, matching server ing server applies a variety of scoring algorithms to the 20 may be configured to apply an ordering algorithm which entities remaining in pool 30. These algorithms may account will determine the order in which entities in result list 31 are for various comparisons such as those based on readability, presented to user 14. In one embodiment, this ordering likelihood to contact, fate, and keywords described above. algorithm is based, in part, on the scoring algorithms applied 50 Matching server 20 will then tabulate these scores, storing at step 66. The ordering algorithm assigns points to each them, in this example, in database 26b. Matching server 20 entity and orders them based on these values, constructing will then determine what order these entities are presented to result list 31. An embodiment of this ordering algorithm is Harry by applying an ordering algorithm. Here, matching surmnarized in the following table: server 20 assigns one ordering score to each entity by 55 examining the results of the scoring algorithms. After doing so, matching server will present result list 31 to Harry, where Number of Points for Condition Ordering the order of the entities that appear in the result list is based on the ordering algorithm. In this example, it is possible for Readability score 1 point +33554432 result list 31 to change. Consider another user, Sally, who higher than user Match result entity has +16777216 60 appears in Harry's result list. If Harry decides to add he_r into expressed a preference for a separate list by using favorite button 34, Sally will be the user removed from result list 31 (as described above). However, Match result entity has been +8388608 Sally will also become a seed entity from which entities may recommended by a friend of the user be added to pool 30 (as described above). Hence, matching User has viewed the details +2097152 65 server 20 will update the pool, apply the filters, apply the of match result entity scoring algorithms, tabulate the results, apply the ordering algorithm, and update result list 31. As another example, an 9 US 10,203,854 B2 19 20 entity may update their profile which can change result list as common friends, common interests, common network, 31. For example, assume Sally's profile had an ordering location, gender, sexuality, or age to evaluate potential algorithm score that placed her within the top 20 entities in matches between users 14. Matching server 20 may also use result list 31. Sally then changes her profile which results in implicit signals such as for whom a user 14 expresses keywords that match Harry's profile being added to her 5 approval and disapproval. Implicit signals may also include profile. Matching server 20 will then update her scoring facial recognition algorithms to detect ethnicity, hair color, algorithms. In this example, the change in Sally's profile and eye color, etc., of profiles that user 14 has expressed interest resulting increase in keyword matches with Harry's profile Ill. significantly increased her score. This was then reflected in In particular embodiments, matching server 20 may have the ordering algorithm as it was also applied to the updated 10 users 14 to link their user profiles to an existing profile profile. Afterwards, Sally's profile is now placed within the within social networking platform 50. Matching server 20 top 5 entities in result list 31. may be configured to generate and add profiles to user In some embodiments, matching server 20 may be con- profile pool 30 from entities of set 52; the system may be figured to receive required characteristics from user 14 configured to do so through capabilities provided by social regarding a match. User 14 may be allowed to specify such 15 networking platform 50, such as an application program- restrictions based upon any number of characteristics, ming interface. One advantage of linking is that matching including those described herein. For example, matching server 20 can use the authentication features provided by server 20 may allow user 14 to specify that entities that social networking platform 50. For example, creating a user indicate they have children should not be displayed. In profile on matching server 20 containing false information another example, user 14 may specify that only entities 20 becomes harder when the information must come from between the ages of 20 and 30 should be present in result list another verifiable and peer monitored source such as social 31. In some embodiments, matching server 20 may imple- networking platform 50. ment these restrictions in step 64 of FIG. 5. In other In some embodiments, matching server 20 may allow a embodiments, however, matching server 20 may refuse to user 14 to propose a match between two of his connections apply these restrictions to certain entities based on the 25 within social networking platform 50. For example, Harry characteristics of the entities. Any number of characteristics, may be friends with both Bob and Sally within social including those described herein, may form the basis upon networking platform 50. Harry believes Bob and Sally are a which matching server 20 decides not to apply the restric- good match and therefore instructs matching server 20 to tions submitted by user 14. As an example only, matching create a match between the two users in user profile pool 30. server 20 may ignore the restrictions if the entity has a high 30 Once matched, matching server 20 allows Harry and Sally enough attractiveness rating. In another example, though to communicate with each other. user 14 has requested that no profiles which are located more In some embodiments, matching server 20 may be con- than 50 miles away should be present in result list 31, figured to apply a relevance algorithm which determines the matching server 20 may include such profiles because those content and order in which matching server 20 displays profiles have over 5 matching keywords, a high attractive- 35 potential matches to user 14. A relevance algorithm may be ness rating, and have specified the same life goals as user 14. based on both explicit and implicit signals from user 14. Thus, in some embodiments, matching server 20 may refuse Explicit signals include information entered by user 14 as to apply restrictions submitted by user 14 based on any part of its user profile, such as height, weight, age, location, combination of characteristics or algorithms. income, and ethnicity. Explicit signals may also include An advantage present in many embodiments is that 40 information about the characteristics user 14 is seeking in a through taking into account various factors when scoring match, such as gender, hair color, eye color, or occupation. potential matches and using only very few strict filters, a Explicit signals may also be entered by user 14 as part of a large amount of result entities may be returned to the user. search request. For example, user 14 may request matching A further advantage is that the ordering algorithm will put server 20 limit the pool of potential matches to those users the most relevant search results first, saving the user time. 45 within a fixed geographic region. Matching server 20 is FIGS. 6-9 depict embodiments of a user interface pre- operable to compare geographic positions associated with sented to users of the matching system discussed above with the plurality of user profiles in user profile pool 30 with a respect to FIGS. 1 and 4. According to some embodiments, geographic position associated with user 14. Explicit signals users 14 interact with matching server 20 through interface may be imported from a social networking platform 50, such 16 presented by terminal 10. In addition to the embodiments 50 as the number of shared entities in a social graph of user 14. of interface 16 described above in relation to FIG. lA, Implicit signals may be based on the behavior of user 14 interface 16 may also comprise a touch screen interface either within system 100 or other social networking plat- operable to detect and receive touch input such as a tap or forms 50. For example, if user 14 has expressed disapproval a swiping gesture. In some embodiments, matching server of a user profile in the past, matching server 20 may no 20 may import profiles from other social networking sys- 55 longer present the disapproved of user profile to user 14 in terns. This level of integration provides the advantage of future searches. In various embodiments, matching server 20 users only having to update their profile information in one may be configured to evaluate the attractiveness of a user in place. For example, when user 14 updates his profile within user profile pool 30 through collected feedback from other social networking platform 50, matching server 20 is also users. For example, matching server 20 may rank a user able to access the updated profile information. 60 profile that receives more likes as more relevant than a user In some embodiments, matching server 20 may further be profile that receives fewer likes. In particular embodiments, configured, as part of the user registration process, to link to matching server 20 may assign a higher relevance to a user a user's existing profile within social networking platform profile if the other user has previously expressed a prefer- 50. Matching server 20 may be configured to parse the ence for user 14. As an example, user Harry may have profiles of the users in set 52, e.g., collecting data and 65 previously expressed a preference for user Sally. If Sally applying algorithms. For example, matching server 20 may requests a set of user profiles from matching server 20, and use explicit signals from social networking platform 50 such Harry's user profile is included in the set, matching server 20 9 US 10,203,854 B2 21 22 may assign Harry's user profile a higher relevance based on users' profile information as well. Harry may request more his expression of preference for Sally. This can result in information about Sally by pressing information button 84. Harry's profile being presented to Sally sooner than other- Harry may also indicate his preference to communicate wise would have occurred. This may be advantageous in that directly with Sally by selecting like button 86. In another it can increase the chances of a match without compromising 5 example, Harry may expand his search to a twenty-five mile a user's feelings of privacy when expressing preferences for radius to meet people in his town, not just his immediate potential matches. In some embodiments, matching server vicinity. 20 may be configured to use the fate characteristics as a FIGS. 7 and 8 are diagrams of embodiments of the display metric in the relevance algorithm. from FIG. 6 showing the effect of a left swipe gesture (FIG. In some embodiments, terminal 10 is operable to deter- 10 7) and the effect of a right swipe gesture (FIG. 8). In one mine its own geographic location by a global positioning embodiment, users 14 may navigate through the set of satellite navigational system. Terminal 10 may also deter- presented users by swiping through stack of cards 88. Users mine its own geographic location using cellphone-based 14 may also express approval of a presented user by per- triangulation techniques, Wi-Fi based positioning system, forming a right swipe gesture or express disapproval by Global Positioning Satellite (GPS) system, or network 15 performing a left swipe gesture. In some embodiments, user addresses assigned by a service provider. 14 performs a swiping gesture by moving a finger or other FIG. 6 shows one embodiment of system 100 displaying suitable object across a screen of terminal 10. Other suitable to a user the profile information of a second user. Matching gestures or marmers of interacting with terminal 10 may be server 20 may be configured to search through its plurality used (e.g., tapping on portions of a screen of terminal 10). of profiles and present suggested matches to user 14. In FIG. 20 In some embodiments, matching server 20 creates a 6, one embodiment of this presentation is depicted as match between two users 14 after both users 14 have occurring through the display of terminal 10. In this embodi- expressed a preference for each other's profiles using like ment, a plurality of user profiles is presented to user 14. button 86 or the swiping gesture associated with like button Using terminal 10, user 14 may request that matching server 86. When matching server 20 creates a match, it may also 20 present a subset of users from user profile pool 30 based 25 provide the matched users with the ability to contact each on specified search parameters. The display may show an other through a contact button. In some embodiments, when image of a suggested user and one or more aspects of the a match is created, matching server 20 may immediately (or suggested user's profile information. In some embodiments, soon thereafter) present an option to users 14 that have been the combination of image and one or more aspects of profile matched to engage in a communication session (e.g., a chat, information is displayed as "card" 88 representing the 30 an SMS message, an e-mail, a telephone call, a voice suggested user. A set of suggested users may be displayed as communication session, a video communication session). stack of cards 88. User 14 may view information regarding This may be done in response to a first user 14 expressing one suggested user at a time or more than one of the a preference for a second user 14 that has already expressed suggested users at a time. User 14 may be presented with a a preference for the first user 14. summary of information regarding a suggested user. The 35 FIG. 9 shows one embodiment of matching system 100 summary may include one or more of: a picture, an icon, displaying a match of a first user and a second user, in name, location information, gender, physical attributes, hob- accordance with a particular embodiment. Matching server bies, or other profile information. 20 may provide first user 14 and second user 14 with each In some embodiments, terminal 10 may also display other's contact information such as a telephone number or "information" button 84 which allows user 14 to request 40 an e-mail address. Matching server 20 may also provide both matching server 20 to retrieve and display more information first and second users 14 with a way to directly contact the about the presented user from user profile pool 30. In other, such as sending a message or providing voice or video addition, user 14 may express approval or disapproval for a communication between the first and second user. In some presented user. Expressing approval or disapproval can be embodiments, direct communication may be initiated by accomplished through various methods. For example, ter- 45 pressing "Send a Message" button 92. Alternatively, a user minal 10 may display "like" button 86 (represented by a may choose to continue browsing the set of presented users green heart icon) and "dislike" button (represented by a red by pressing "Keep Playing" button 94. "X" icon). Pressing like button 86 indicates to matching For example, user Harry may indicate a preference to server 20 that user 14 approves of and is interested in communicate directly with user Sally by selecting like communication with the presented user. Pressing dislike 50 button 86. At this point, Sally is not aware that Harry button 82 indicates that user 14 disapproves of and does not expressed a preference for her. If Sally also requests match- want to communicate with the presented user. The approval ing server 20 present her with a set of possible matches, preference of user 14 is anonymous in that matching server Harry may appear in her set. Sally may select like button 86 20 does not inform users 14 whether other users have (or perform an associated swiping gesture) when viewing expressed approval or disapproval for them. 55 Harry's profile. Matching server 20 may then notify both As an example, consider two registered users, Harry and Harry and Sally that a match occurred. At this point, both Sally, both of whom have profiles stored in matching server Harry and Sally are made aware that they each expressed 20. Harry is at a restaurant and requests matching server 20 approval of each other's profile. Matching server 20 then to present him users within a one-mile radius of his location. enables Harry and Sally to directly communicate with each Matching server 20 compares a geographic position associ- 60 other (e.g., through a private chat interface). ated with Sally with a geographic position associated with In some embodiments, one advantage of a system dis- Harry. If Sally is currently within the one-mile radius of closing preferences of profiles to users when mutual Harry and matching server 20 determines her profile infor- approval has occurred is that a user can feel more secure in mation matches Harry's preferences, matching server 20 their privacy knowing that their preferences will be dis- will present Harry one or more aspects of Sally's profile 65 closed to those that have expressed a preference for that user. information. If other users also meet the search criteria, As an example, a user can avoid embarrassment if their matching server 20 will present one or more aspects of those expression of preference for a profile was not reciprocated. 9 US 10,203,854 B2 23 24 This may lead to users more actively expressing their matched at step 1106. If matching server 20 determines the preferences. Such increased activity can be used by the suggested matching proposal is not valid, matching server matching system to generate more potential matches or 20 does not create a match and does not allow communi- better rankings of potential matches. In some embodiments, cation between second and third users 14 at step 1108. In matching server 20 may be configured to allow direct 5 some embodiments, step 1104 may not be performed. For communication between users when there has been a mutual example, if a matching proposal is suggested, then matching expression of preference. This may be advantageous server 20 may perform step 1106 with respect to the users because users can avoid browsing, deleting, or responding to suggested to be matched. unwanted messages. FIGS. 12A-D depict embodiments of a user interface. In FIG. 10 is a flowchart depicting a method for enabling 10 some embodiments, the interface allows user 14 of terminal communication between two users of the matching system 10 to enable communication between other users 14 by of FIG. 1 based on a mutual expression of approval, in suggesting a matching proposal to matching server 20. accordance with a particular embodiment. At step 1002, in some embodiments, matching server 20 FIG. 12A illustrates one embodiment of an interface for generates a set of user profiles in response to a request for 15 proposing a match between two users. The interface is matching from a first user 14. At step 1004, matching server divided into three sections: connection list area 1202, search 20 presents the set of user profiles to first user 14. Matching area 1204, and suggestion area 1206. Connection list area server 20 determines the contents and ordering of the set of 1202 displays a set of connections user 14 has with other users profiles by using, e.g., the relevance algorithms users of, e.g., system 100 of FIG. 1. Connections may be described above in the discussion of FIG. 4. For example, 20 based on prior matches created by matching server 20. matching server 20 may only include user profiles whose Connections may also be imported from another social contents indicate location within a specified geographical networking platform 50. Search area 1204 enables user 14 to radius and order the presentation of those user profiles based search for particular connections within system 100. In some on the number of mutual friends in common with first user embodiments, the search may be limited to just the connec- 14. 25 tions displayed in connection list area 1202. Suggestion area At step 1006, in some embodiments, matching server 20 1206 displays the connections that user 14 may use to form receives an indication of the preference of first user 14 a suggested match. regarding a presented user profile. Matching server deter- FIG. 12B illustrates suggestion area 1206 displaying a mines if first user 14 expresses approval or disapproval of first selected user (i.e., "Jonathan Smith") of a proposed the presented user profile at step 1008. If first user 14 30 match between two users. User 14 identifies the first selected disapproves of the presented user profile then a match is not user through a set of interactions with connection list area made and, at step 1016, matching server 20 will not allow 1202, search area 1204, and suggestion area 1206. For communication between the two users. If first user 14 example, user 14 may locate a connection in connection list expresses approval for the presented user profile at step 1008, then matching server 20 will check if second user 14 35 area 1202 by typing a user handle in search area 1204. User represented by the presented user profile has already 14 may then add the connection to suggestion area 1206. In expressed a preference for first user 14 at step 1010. If some embodiments, user 14 may drag the connection from matching server 20 detects a mutual expression of approval connection list area 1202 to suggestion area 1206. then a match is made between first and second users 14. FIG. 12C illustrates suggestion area 1206 displaying a Then, at step 1012, matching server 20 allows private 40 proposed match between two suggested users (i.e., "Jona- communications between first and second users 14. If a than Smith" and "Mary Major"). For example, user 14 may mutual expression of approval is not detected at step 1010, locate a second connection in connect list area 1202 that user then matching server 20 stores the preference of first user 14 14 believes is a match for the first connection. User 14 may regarding the presented user profile for future comparison add the second connection to suggestion area 1206. When and continues to step 1016 where private communications 45 both connections are added to suggestion area 1206, match- are not yet allowed. ing server 20 may create a match between the two users and FIG. 11 is a flowchart depicting a method for enabling allow communication between them. communication between two users of the matching system FIG. 12D illustrates an example communication interface of FIG. 1 based on a matching proposal suggested by a user, between users of the matching system. User 14 is presented in accordance with a particular embodiment. At step 1102, 50 with chat box 1208 for each of the matches that exist for user matching server 20 receives interactions from first user 14. 14. Users 14 may communicate with each other through chat Interactions from first user 14 may include identification of box 1208. In some embodiments, users 14 may communi- user profiles for two other users 14. For example, Harry is cate through SMS messages, e-mail, telephone calls, online connected to both Bob and Sally within social networking voice communication sessions, and/or video communication platform 50. Harry believes Bob and Sally are a good match 55 sess10ns. for each other and generates a matching proposal requesting Modifications, additions, or omissions may be made to the matching server 20 to create a match between Bob and Sally. methods described herein (such as those described above At step 1104, in some embodiments, matching server with respect to FIGS. 5, 10 and 11) without departing from validates the suggested matching proposal between second the scope of the disclosure. For example, the steps may be and third users 14. For example, matching server 20 verifies 60 combined, modified, or deleted where appropriate, and addi- that Bob's profile indicates that he wants to be matched with tional steps may be added. Additionally, the steps may be a woman, and Sally's profile indicates that she wants to be performed in any suitable order without departing from the matched with a man. Matching server may also verify that scope of the present disclosure. Sally has not previously expressed disapproval for Bob. If Although several embodiments have been illustrated and matching server 20 determines the suggested matching 65 described in detail, it will be recognized that substitutions proposal is valid, matching server 20 creates the match and and alterations are possible without departing from the spirit allows communication between the users 14 suggested to be and scope of the appended claims. 9 US 10,203,854 B2 25 26 What is claimed is: 2. The medium of claim 1, wherein at least one or more 1. A non-transitory computer-readable medium compris- of the plurality of user on-line dating profiles is associated ing instructions that, when executed by a processor, are with a social networking platform. configured to: 3. The medium of claim 1, further comprising instructions electronically receive a plurality of user online-dating 5 configured to, in response to determining to allow the first profiles, each profile comprising traits of a respective user to communicate with the second user, cause the display user; of a graphical notification on the graphical user interface of electronically receive a first request for matching, the first the first electronic device of the first user, the graphical request electronically submitted by a first user using a notification indicating that a match exists between the first first electronic device; 10 user and the second user and presenting an option for the determine from the plurality of user online-dating profiles first user to communicate with the second user. a set of potential matches for the first user; 4. A system for profile matching, comprising: cause the display of a graphical representation of a first an interface operable to: potential match of the set of potential matches to the electronically receive a plurality of user online-dating first user on a graphical user interface of the first 15 profiles, each profile comprising traits of a respective electronic device, the first potential match correspond- user; and ing to a second user; electronically receive a first request for matching, the first receive from the first electronic device of the first user a request electronically submitted by a first user using a first positive preference indication associated with the first electronic device; graphical representation of the second user on the 20 a processor coupled to the interface and operable to: graphical user interface, the first positive preference determine from the plurality of user online-dating profiles indication associated with a first gesture performed on a set of potential matches for the first user; and the graphical user interface, wherein the first gesture cause the display of a graphical representation of a first comprises a first swiping gesture; potential match of the set of potential matches to the cause the graphical user interface to display a graphical 25 first user on a graphical user interface of the first representation of a second potential match of the set of electronic device, the first potential match correspond- potential matches instead of the graphical representa- ing to a second user; tion of the first potential match; wherein the interface is further operable to receive from receive from a second electronic device of the second user the first electronic device of the first user a first positive a positive preference indication regarding the first user; 30 preference indication associated with the graphical determine to allow the first user to communicate with the representation of the second user on the graphical user second user in response to receiving from the first interface, the first positive preference indication asso- electronic device of the first user the first positive ciated with a first gesture performed on the graphical preference indication regarding the second user and user interface, wherein the first gesture comprises a first receiving from the second electronic device of the 35 swiping gesture; second user the positive preference indication regard- wherein the processor is further operable to cause the ing the first user; graphical user interface to display a graphical repre- receive from the first electronic device of the first user a sentation of a second potential match of the set of first negative preference indication associated with a potential matches instead of the graphical representa- graphical representation of a third potential match on 40 tion of the first potential match; the graphical user interface, the first negative prefer- wherein the interface is further operable to receive from ence indication associated with a second gesture per- a second electronic device of the second user a positive formed on the graphical user interface, the third poten- preference indication regarding the first user; tial match corresponding to a third user, wherein the wherein the processor is further operable to determine to second gesture comprises a second swiping gesture 45 allow the first user to communicate with the second different than the first swiping gesture; user in response to receiving from the first electronic without allowing communication between the first user device of the first user the first positive preference and the third user, receive from the first electronic indication regarding the second user and receiving from device of the first user a second positive preference the second electronic device of the second user the indication associated with a graphical representation of 50 positive preference indication regarding the first user; a fourth potential match on the graphical user interface, and the second positive preference indication associated wherein the interface is further operable to: with the first gesture performed on the graphical user receive from the first electronic device of the first user interface, the fourth potential match corresponding to a a first negative preference indication associated with fourth user; 55 a graphical representation of a third potential match receive from a third electronic device of the fourth user a on the graphical user interface, the first negative second negative preference indication associated with a preference indication associated with a second ges- graphical representation of the first user; and ture performed on the graphical user interface, the without allowing communication between the first user third potential match corresponding to a third user, and the fourth user, receive from the first electronic 60 wherein the second gesture comprises a second swip- device of the first user a third positive preference ing gesture different than the first swiping gesture; indication associated with a graphical representation of without allowing communication between the first user a fifth potential match on the graphical user interface, and the third user, receive from the first electronic the third positive preference indication associated with device of the first user a second positive preference the first gesture performed on the graphical user inter- 65 indication associated with a graphical representation face, the fifth potential match corresponding to a fifth of a fourth potential match on the graphical user user. interface, the second positive preference indication 9 US 10,203,854 B2 27 28 associated with the first gesture performed on the of the first user a second positive preference indication graphical user interface, the fourth potential match associated with a graphical representation of a fourth corresponding to a fourth user; potential match on the graphical user interface, the receive from a third electronic device of the fourth user second positive preference indication associated with a second negative preference indication associated 5 the first gesture performed on the graphical user inter- with a graphical representation of the first user; and face, the fourth potential match corresponding to a without allowing communication between the first user fourth user; and the fourth user, receive from the first electronic wherein there is a fourth user expression of a negative device of the first user a third positive preference preference for the first user; and indication associated with a graphical representation 10 without allowing communication between the first user of a fifth potential match on the graphical user and the fourth user, transmitting from the first elec- interface, the third positive preference indication tronic device of the first user a third positive preference associated with the first gesture performed on the indication associated with a graphical representation of graphical user interface, the fifth potential match a fifth potential match on the graphical user interface, corresponding to a fifth user. 15 the third positive preference indication associated with 5. The system of claim 4, wherein at least one or more of the first gesture performed on the graphical user inter- the plurality of user on-line dating profiles is associated with face, the fifth potential match corresponding to a fifth a social networking platform. user. 6. The system of claim 4, wherein the processor is further 8. The method of claim 7, wherein at least one or more of operable to, in response to determining to allow the first user 20 the plurality of user on-line dating profiles is associated with to communicate with the second user, cause the display of a a social networking platform. graphical notification on the graphical user interface of the 9. The method of claim 7, further comprising causing the first electronic device of the first user, the graphical notifi- display of a graphical notification on the graphical user cation indicating that a match exists between the first user interface of the first electronic device of the first user, the and the second user and presenting an option for the first 25 graphical notification indicating that a match exists between user to communicate with the second user. the first user and the second user and presenting an option 7. A computer implemented method of profile matching, for the first user to communicate with the second user. comprising: 10. A system for profile matching, comprising: electronically transmitting from a first electronic device of an interface operable to electronically transmit from a first a first user a first request for matching; 30 electronic device of a first user a first request for causing the display of a graphical representation of a first matching; potential match of a set of potential matches to the first a processor coupled to the interface and operable to cause user on a graphical user interface of the first electronic the display of a graphical representation of a first device, the first potential match corresponding to a potential match of a set of potential matches to the first second user; 35 user on a graphical user interface of the first electronic wherein the set of potential matches for the first user are device, the first potential match corresponding to a determined from a plurality of user online-dating pro- second user; files in response to the first request for matching; wherein the set of potential matches for the first user are wherein the plurality of user online-dating profiles each determined from a plurality of user online-dating pro- comprises traits of a respective user; 40 files in response to the first request for matching; transmitting from the first electronic device of the first wherein the plurality of user online-dating profiles each user a first positive preference indication associated comprises traits of a respective user; with the graphical representation of the second user on wherein the interface is further operable to transmit from the graphical user interface, the first positive preference the first electronic device of the first user a first positive indication associated with a first gesture performed on 45 preference indication associated with the graphical the graphical user interface, wherein the first gesture representation of the second user on the graphical user comprises a first swiping gesture; interface, the first positive preference indication asso- causing the display on the graphical user interface of a ciated with a first gesture performed on the graphical graphical representation of a second potential match of user interface, wherein the first gesture comprises a first the set of potential matches instead of the graphical 50 swiping gesture; representation of the first potential match; wherein the processor is further operable to: allowing the first user to communicate with the second cause the display on the graphical user interface of a user in response to the first electronic device of the first graphical representation of a second potential match user transmitting the first positive preference indication of the set of potential matches instead of the graphi- regarding the second user and a second user expressing 55 cal representation of the first potential match; and a positive preference regarding the first user; allow the first user to communicate with the second transmitting from the first electronic device of the first user in response to the first electronic device of the user a first negative preference indication associated first user transmitting the first positive preference with a graphical representation of a third potential indication regarding the second user and a second match on the graphical user interface, the first negative 60 user expressing a positive preference regarding the preference indication associated with a second gesture first user; performed on the graphical user interface, the third wherein the interface is further operable to: potential match corresponding to a third user, wherein transmit from the first electronic device of the first user the second gesture comprises a second swiping gesture a first negative preference indication associated with different than the first swiping gesture; 65 a graphical representation of a third potential match without allowing the first user to communicate with the on the graphical user interface, the first negative third user, transmitting from the first electronic device preference indication associated with a second ges- 9 US 10,203,854 B2 29 30 ture performed on the graphical user interface, the fourth user, transmit from the first electronic device of third potential match corresponding to a third user, the first user a third positive preference indication wherein the second gesture comprises a second swip- associated with a graphical representation of a fifth ing gesture different than the first swiping gesture; potential match on the graphical user interface, the and 5 third positive preference indication associated with the without allowing the first user to communicate with the first gesture performed on the graphical user interface, third user, transmit from the first electronic device of the fifth potential match corresponding to a fifth user. the first user a second positive preference indication 11. The system of claim 10, wherein at least one or more associated with a graphical representation of a fourth of the plurality of user on-line dating profiles is associated potential match on the graphical user interface, the 10 with a social networking platform. second positive preference indication associated 12. The system of claim 10, wherein the processor is with the first gesture performed on the graphical user further operable to cause the display of a graphical notifi- interface, the fourth potential match corresponding cation on the graphical user interface of the first electronic to a fourth user; device of the first user, the graphical notification indicating wherein there is a fourth user expression of a negative 15 that a match exists between the first user and the second user preference for the first user; and and presenting an option for the first user to communicate wherein the interface is further operable to, without with the second user. allowing communication between the first user and the * * * * *