Systems and methods for verification and mapping of social connections

Systems and methods including computer-executable software for receiving user information, receiving a user request to connect with another user, computing a trust index for the requesting user, and allowing the connection request if the user's trust index is sufficiently high. In some examples, the system includes software for mapping connection and potential connections between the user and a target entity. In some further examples, the systems and methods includes functionality for allowing a user to message other users.

BACKGROUND

The present disclosure relates generally to computerized social networks. In particular, social networks that include systems and methods for verification of user connections to a target entity such as another user or corporation through a series of one or more intermediate entities, and for generating a graph of connections from the user to the target entity, are described.

Social media platforms have become a staple in on-line interactions. The rise of platforms such as Facebook® and LinkedIn® offer a virtual means for people to network, both for business purposes as well as entertainment and personal connections. Such platforms have become ubiquitous to the point where persons of all walks of life now use at least one, and often multiple, social media platforms. In the case of high profile users such as celebrities, politicians, musicians, actors, etc., private users may be interested to know how connected they are to such high profile users for entertainment and/or, in the case of business dealings, to further professional and business goals.

Known social networking platforms are not entirely satisfactory for these ranges of applications. For example, existing social networking platforms typically allow users to enter personal information and then identify contacts with whom to connect. The designated contacts are typically notified of the connection request, and can decide whether to allow the connection, or reject it. Screening or vetting of a potential connection request is limited solely to the request recipient deciding whether to allow it. For connections that the recipient does not know personally, which often comprise the bulk of social media connections, the recipient only has what profile data is available on the user to rely upon in deciding whether to connect. There is no more reliable method for ascertaining the user's truthfulness.

In addition, conventional social media platforms typically do not provide significant information about connections of connections. Some platforms indicate what level of connectedness a user has to potential contacts or other target entities, e.g. first degree for direct connections, second degree for connections of direct connections, etc. However, these platforms typically do not provide a means by which a user can see the connection path to a given target entity. In certain contexts, such as business dealings, or even for fun discussions with friends, specific connection information for chains of connections would be valuable information, allowing a user to know specifically who to contact to further interests towards a target entity.

Thus, there exists a need for social media platforms that improve upon and advance the design of known social media platforms. Examples of new and useful social media platform systems and methods relevant to the needs existing in the field are discussed below.

SUMMARY

A first aspect of the present disclosure is directed to a system for mapping social connections between a user and a specified target entity, comprising a processor capable of executing software instructions, a user interface in communication with the processor, and a storage unit in communication with the processor. The storage unit includes a database and software instructions to add the user to the database, compute a trust index for the user, allow the user to use the user interface to select one or more other persons within the database to establish a connection, each of the one or more other persons within the database having established connections with other existing persons in the database, evaluate whether to allow the connection based upon the user's trust index, and create a graph of connections between the user and the specified target entity based upon the one or more other persons with whom the user has established a connection.

In one embodiment, the user is only allowed to select another person within the database to establish a connection if the user meets criteria specified by the other person.

In another embodiment, the system further comprises an interface to display a visual depiction of the graph of connections between the user and the specified target entity.

In another embodiment, the interface to display a visual depiction of the graph and the user interface further comprise code that is useable by a web browser to display the interface and user interface.

In still another embodiment, the specified target entity is a publicly known person.

In another embodiment, the system further comprises software instructions to allow the user to message other persons within the database via the user interface.

In yet another embodiment, the user can message other persons only within parameters prescribed by the other person.

According to another aspect of the disclosed invention, a method for mapping social connections between a user and a specified target entity comprises providing a user interface upon a computer with a processor, receiving into the computer via the user interface information about a plurality of persons, where at least one of the plurality of persons is the specified target entity; receiving into the computer via the user interface information about connections between at least one of the plurality of persons, and a second of the plurality of persons; receiving from the user into the computer via the user interface information about the user's connection with at least one of the plurality of persons; computing a trust index for the user, validating the user's connection with the at least one of the plurality of persons based upon criteria specified by the at least one of the plurality of persons and the user's trust index; using the computer to create a graph of connections between the user and the specified target entity from the information about connections; and displaying the graph on the user interface.

In one embodiment, the method further comprises sending a message from the user to the specified target entity.

In another embodiment, the content of the message sent from the user is limited according to criteria established by the specified target entity.

In another embodiment, the method further comprises recomputing the user's trust index following validation and approval of a connection request from the user.

In yet another embodiment, the connection request from the user is automatically denied if the user's trust index is below an established threshold.

In another embodiment, the specified person is either an actor, a musician, or an athlete.

In another embodiment, the method further comprises receiving one or more subsequent requests to add additional persons into the computer; and recomputing the user's trust index following receipt of each subsequent request.

In another embodiment, receiving into the computer further comprises storing received information into a database.

In another embodiment, receiving via the user interface further comprises receiving information from a web browser displaying the user interface.

In still another embodiment, displaying the graph further comprises displaying the graph on the web browser.

According to yet another aspect of the present invention, a system for mapping social connections between a user and a specified target entity comprises a server computer, which further comprises a processor capable of executing computer instructions, a communications device in data communication with the processor and a network, and a storage unit in data communication with the processor. The storage unit contains a database containing information about a plurality of persons, including the specified target entity, the information further comprising a computed trust index for the user, computer instructions for receiving information for storage in the database about the user, including a connection between the user and at least one of the plurality of persons, the connection being subject to validation based upon criteria set by the at least one of the plurality of persons and the user's trust index; computer instructions for displaying a user interface on a client computer, and computer instructions for determining a graph of connections linking the user to the specified target entity. The system includes a client computer further comprising a processor capable of executing computer instructions; a communications device in data communication with the processor and the network so as to be able to communicate with the server computer, and a storage unit in data communication with the processor, the storage unit containing instructions for displaying the user interface upon receiving instructions from the client computer, wherein the user interface allows the user to input information about the user to be sent to the server computer, and to receive a depiction of the graph of connections.

According to one embodiment, the user interface is displayed on the client computer in a web browser.

According to another embodiment, the information about a plurality of persons further comprises login credentials corresponding to each of the plurality of persons so that each of the plurality of persons can log into the server computer to view or modify the information.

According to still another embodiment, the user interface allows the user using the client computer to send a message to one of the plurality of persons, provided the message complies with criteria established by the one of the plurality of persons.

DETAILED DESCRIPTION

Various disclosed examples may be implemented using electronic circuitry configured to perform one or more functions. For example, with some embodiments of the invention, the disclosed examples may be implemented using one or more application-specific integrated circuits (ASICs). More typically, however, components of various examples of the invention will be implemented using a programmable computing device executing firmware or software instructions, or by some combination of purpose-specific electronic circuitry and firmware or software instructions executing on a programmable computing device.

Accordingly,FIG. 1shows one illustrative example of a computer, computer101, which can be used to implement various embodiments of the invention. Computer101may be incorporated within a variety of consumer electronic devices, such as personal media players, cellular phones, smart phones, personal data assistants, global positioning system devices, and the like.

As seen in this figure, computer101has a computing unit103. Computing unit103typically includes a processing unit105and a system memory107. Processing unit105may be any type of processing device for executing software instructions, but will conventionally be a microprocessor device. System memory107may include both a read-only memory (ROM)109and a random access memory (RAM)111. As will be appreciated by those of ordinary skill in the art, both read-only memory (ROM)109and random access memory (RAM)111may store software instructions to be executed by processing unit105.

Processing unit105and system memory107are connected, either directly or indirectly, through a bus113or alternate communication structure to one or more peripheral devices. For example, processing unit105or system memory107may be directly or indirectly connected to additional memory storage, such as a hard disk drive117, a removable optical disk drive119, a removable magnetic disk drive125, and a flash memory card127. Processing unit105and system memory107also may be directly or indirectly connected to one or more input devices121and one or more output devices123. Input devices121may include, for example, a keyboard, touch screen, a remote control pad, a pointing device (such as a mouse, touchpad, stylus, trackball, or joystick), a scanner, a camera or a microphone. Output devices123may include, for example, a monitor display, an integrated display, television, printer, stereo, or speakers.

Still further, computing unit103will be directly or indirectly connected to one or more network interfaces115for communicating with a network. This type of network interface115is also sometimes referred to as a network adapter or network interface card (NIC). Network interface115translates data and control signals from computing unit103into network messages according to one or more communication protocols, such as the Transmission Control Protocol (TCP), the Internet Protocol (IP), and the User Datagram Protocol (UDP). These protocols are well known in the art, and thus will not be discussed here in more detail. An interface115may employ any suitable connection agent for connecting to a network, including, for example, a wireless transceiver, a power line adapter, a modem, or an Ethernet connection.

It should be appreciated that, in addition to the input, output and storage peripheral devices specifically listed above, the computing device may be connected to a variety of other peripheral devices, including some that may perform input, output and storage functions, or some combination thereof. For example, the computer101may be connected to a digital music player, such as an IPOD® brand digital music player or iOS or Android based smartphone. As known in the art, this type of digital music player can serve as both an output device for a computer (e.g., outputting music from a sound file or pictures from an image file) and a storage device.

In addition to a digital music player, computer101may be connected to or otherwise include one or more other peripheral devices, such as a telephone. The telephone may be, for example, a wireless “smart phone.” such as those featuring the Android or iOS operating systems. As known in the art, this type of telephone communicates through a wireless network using radio frequency transmissions. In addition to simple communication functionality, a “smart phone” may also provide a user with one or more data management functions, such as sending, receiving and viewing electronic messages (e.g., electronic mail messages, SMS text messages, etc.), recording or playing back sound files, recording or playing back image files (e.g., still picture or moving video image files), viewing and editing files with text (e.g., Microsoft Word or Excel files, or Adobe Acrobat files), etc. Because of the data management capability of this type of telephone, a user may connect the telephone with computer101so that their data maintained may be synchronized.

Of course, still other peripheral devices may be included with or otherwise connected to a computer101of the type illustrated inFIG. 1, as is well known in the art. In some cases, a peripheral device may be permanently or semi-permanently connected to computing unit103. For example, with many computers, computing unit103, hard disk drive117, removable optical disk drive119and a display are semi-permanently encased in a single housing.

Still other peripheral devices may be removably connected to computer101, however. Computer101may include, for example, one or more communication ports through which a peripheral device can be connected to computing unit103(either directly or indirectly through bus113). These communication ports may thus include a parallel bus port or a serial bus port, such as a serial bus port using the Universal Serial Bus (USB) standard or the IEEE 1394 High Speed Serial Bus standard (e.g., a Firewire port). Alternately or additionally, computer101may include a wireless data “port,” such as a Bluetooth® interface, a Wi-Fi interface, an infrared data port, or the like.

It should be appreciated that a computing device employed according to the various examples of the invention may include more components than computer101illustrated inFIG. 1, fewer components than computer101, or a different combination of components than computer101. Some implementations of the invention, for example, may employ one or more computing devices that are intended to have a very specific functionality, such as a digital music player or server computer. These computing devices may thus omit unnecessary peripherals, such as the network interface115, removable optical disk drive119, printers, scanners, external hard drives, etc. Some implementations of the invention may alternately or additionally employ computing devices that are intended to be capable of a wide variety of functions, such as a desktop or laptop personal computer. These computing devices may have any combination of peripheral devices or additional components as desired.

In many examples, computers may define mobile electronic devices, such as smartphones, tablet computers, or portable music players, often operating the iOS, Symbian, Windows-based (including Windows Mobile and Windows 8), or Android operating systems.

With reference toFIG. 2, an exemplary mobile device, mobile device200, may include a processor unit203(e.g., CPU) configured to execute instructions and to carry out operations associated with the mobile device. For example, using instructions retrieved from memory, the controller may control the reception and manipulation of input and output data between components of the mobile device. The controller can be implemented on a single chip, multiple chips or multiple electrical components. For example, various architectures can be used for the controller, including dedicated or embedded processor, single purpose processor, controller, ASIC, etc. By way of example, the controller may include microprocessors, DSP, A/D converters, D/A converters, compression, decompression, etc.

In most cases, the controller together with an operating system operates to execute computer code and produce and use data. The operating system may correspond to well known operating systems such as iOS, Symbian, Windows-based (including Windows Mobile and Windows 8), or Android operating systems, or alternatively to special purpose operating system, such as those used for limited purpose appliance-type devices. The operating system, other computer code and data may reside within a system memory207that is operatively coupled to the controller. System memory207generally provides a place to store computer code and data that are used by the mobile device. By way of example, system memory207may include read-only memory (ROM)209, random-access memory (RAM)211, etc. Further, system memory207may retrieve data from storage units294, which may include a hard disk drive, flash memory, etc. In conjunction with system memory207, storage units294may include a removable storage device such as an optical disc player that receives and plays DVDs, or card slots for receiving mediums such as memory cards (or memory sticks).

Mobile device200also includes input devices221that are operatively coupled to processor unit203. Input devices221are configured to transfer data from the outside world into mobile device200. As shown, input devices221may correspond to both data entry mechanisms and data capture mechanisms. In particular, input devices221may include the following: touch sensing devices232such as touch screens, touch pads and touch sensing surfaces; mechanical actuators234such as button or wheels or hold switches; motion sensing devices236such as accelerometers; location detecting devices238such as global positioning satellite receivers, WiFi based location detection functionality, or cellular radio based location detection functionality; force sensing devices240such as force sensitive displays and housings; image sensors242; and microphones244. Input devices221may also include a clickable display actuator.

Mobile device200also includes various output devices223that are operatively coupled to processor unit203. Output devices223are configured to transfer data from mobile device200to the outside world. Output devices223may include a display unit292such as an LCD, speakers or jacks, audio/tactile feedback devices, light indicators, and the like.

Mobile device200also includes various communication devices246that are operatively coupled to the controller. Communication devices246may, for example, include both an I/O connection247that may be wired or wirelessly connected to selected devices such as through IR, USB, or Firewire protocols, a global positioning satellite receiver248, and a radio receiver250which may be configured to communicate over wireless phone and data connections. Communication devices246may also include a network interface252configured to communicate with a computer network through various means which may include wireless connectivity to a local wireless network, a wireless data connection to a cellular data network, a wired connection to a local or wide area computer network, or other suitable means for transmitting data over a computer network.

Mobile device200also includes a battery254and possibly a charging system. Battery254may be charged through a transformer and power cord or through a host device or through a docking station. In the cases of the docking station, the charging may be transmitted through electrical ports or possibly through an inductance charging means that does not require a physical electrical connection to be made.

The various aspects, features, embodiments or implementations of the invention described above can be used alone or in various combinations. The methods of this invention can be implemented by software, hardware or a combination of hardware and software. The invention can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system, including both transfer and non-transfer devices as defined above. Examples of the computer readable medium include read-only memory, random access memory, CD-ROMs, flash memory cards, DVDs, magnetic tape, optical data storage devices, and carrier waves. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

With reference toFIGS. 1-7, a first example of a system, system300, will now be described. System300functions to provide a way to verify the truthfulness and reliability of a user making a connection request with a target entity, as well as to visually show a user a graphical connection chain with a target entity with whom the user may not yet be connected. The reader will appreciate from the figures and description below that system300addresses shortcomings of conventional social media systems and methods.

For example, system300computes and provides a trust index for each user of system300as a quantifiable measure of the reliability and likely truthfulness of a user requesting a connection. Further, system300can provides enhanced connectivity information for users to a given target entity. As mentioned in the background, a target entity is potentially any other user of system300, and in some implementations, can include entities such as organizations and corporations. Rather than simply displaying a level of connectedness, viz. the number of connected users between a user and a target entity, system300can provide a visual display of the connection path, and where intermediate users so permit, also identify intermediate connections. With this information, a user can strategically plan how to further closer communications with target entities.

System300has multiple possible uses. Many people may wish to know how connected they are to various recognized persons in society and/or their personal interest circles, for purposes of curiosity, bragging rights, or to potentially get to meet the recognized person. Alternatively or additionally, system300can be deployed in the context of businesses, where employees, managers and executives can use system300to determine connections between the constituents of various corporate and organizational boards, executive suites, etc. System300further can be deployed to show a network or networks between executives who may sit on the boards of multiple companies; such information can be useful for investment and/or regulatory disclosure purposes, e.g. to determine potential conflicts of interest.

FIG. 3depicts a diagram for a possible implementation of system300for establishing connections to a specified target entity308. System300is preferably implemented in software, which includes software instructions for instructing a web server302to generate a user interface. Web server302preferably is in communication with a database304. Software instructions are included to add a user306to database304, and compute a trust index for user306. User306can use the user interface to select one or more other persons310within database304to establish a connection, each of the one or more other persons310within database304having established connections with still other existing persons310in database304. Each one or more other person310receiving a connection request308can evaluate whether to accept user306's connection request based upon user's306trust index. User306can further use the user interface to create a graph of connections between user306and the specified target entity308in database304based upon the one or more other persons310with whom user306has established a connection.

In addition to web server302and database304, the various users including user306, target entity308, and other existing persons310preferably interact with system300via one or more user terminals312. Web server302, database304and user terminals312are in turn connected via a network314. Web server302, database304and user terminals312are preferably deployed on one or more computer systems similar to computer101and/or mobile device200. Network314is preferably the Internet, but can be any network implementation that allows the various components of system300to maintain data communication. Examples of such networks include local area networks connected by WiFi and/or Ethernet technologies, private wide area networks implemented using fiber optics and various WAN network technologies well known in the relevant art, or public wide area networks such as the Internet.

Web server302is preferably implemented using any technology now known or later developed for deploying web sites, and database304is likewise preferably implemented using any technology now known or later developed for data storage, organization and retrieval. Such implementations contemplate well-known web architectures with a corresponding web browser on user terminals312; however, other implementations may contemplate a client-server model that interfaces with a dedicated app that can run on user terminal312. Such an architecture may be appropriate where system300is to be deployed across mobile devices. Still other implementations can use a combination of any of the foregoing. Furthermore, web server302and database304may, in many implementations, be deployed on a single computer platform. In other implementations, web server302and database304may be deployed in a data center context, across multiple machines or clusters of machines. In still other implementations, web server302and/or database304may be implemented in a cloud environment, with web and database services being deployed using remote hosting services.

InFIG. 4, the basic conceptual structure of users of system300is seen from the perspective of a user306. User306has one or more connections402to other existing persons310, which in turn can have one or more connections406with more existing persons310and a specified target entity308. When determining a connection path from user306to target entity308, connections404and408provide a series of direct links. As will be discussed in greater detail below, the path defined by connections404and408can be graphically displayed to a user upon request. The reader will observe that there are multiple possible paths from user306to specified target entity308, namely through both person A and person B. This will not always be the case, and is provided here for example purposes only. In many instances, it is expected that only one path would be available between a given user306and specified target entity308. Furthermore, although only a single level of existing persons310is present between user306and specified target entity308, it will be appreciated by a person skilled in the relevant art that multiple layers of connections may be necessary to traverse to establish a connection path between user306and target entity308.

In the example shown inFIG. 5, a mock-up of a potential interface500to system300is provided. Interface500includes a category selector502, a field504to enter and search for a name or phrase, a selector506to designate the type of asserted relationship between a user306and person310once identified via field504, and controls for submitting a connection request. Below field504and selector506is a list508of the various connections to user306. Interface500thus forms the basis for users306making connection requests to other existing persons310.

Category selector502is intended to allow a user to narrow the field of search for other existing persons310to particular related categories. InFIG. 5, these categories relate to celebrities, and include movies, music and sports. However, it should be understood that these categories are arbitrary. Where system300is implemented in a business context, the list of categories in category selector502would dramatically differ. In other implementations, category selector502may be omitted.

Field504is used for entering the name of an existing person310with whom user306wishes to connect. Search capabilities may be added to enhance user's306ability to located the desired existing person310. Selector506preferably provides a predetermined list of possible acceptable relationships between user306and selected existing person310. Such predetermined relationships can vary depending upon the selected category, predetermined requirements for connections, as well as requests from the existing person310. In some implementations, existing person310may be able to specifically enter acceptable relationship types that user306must possess prior to being allowed to connect with existing person310. For example, for an existing user310who is a celebrity, pre-determined acceptable relationship types may include being friends with the celebrity or another user who is connected to the celebrity, having been within 10 feet of the celebrity, having attended at least two events or performances featuring the celebrity or by the celebrity, or having attended one performance of the celebrity. In other implementations, selector506could instead be implemented as a text box to allow free-form description of the relationship between user306and existing person310. Still further, some implementations may allow user306to include other media, such as one or more photographs, sound clips, videos, documents, files, etc., in their connection requests in addition to text, to be provided to person310. If a connection request is approved, other implementations of system300may allow a greater number or additional media and/or media types to be submitted between user306and person310. Still further implementations may place limits on transfers, such as a per-session limit, to keep storage usage on servers to a manageable level.

Referring now toFIG. 6, an example visual graph600of the connections between user306and selected target entity308is shown. Similar to the path shown inFIG. 4, user306connects to target entity308via two existing persons310. Visual graph600can be generated by user306selecting a target entity308, and requesting that system300generate visual graph600. ConsideringFIG. 4, visual graph600could optionally display multiple paths between user306and target entity308where multiple possible connection paths exist. Alternatively, visual graph600could offer controls that allow user306to toggle through possible connection paths. Still other possible options could include providing a shortest path preference, where visual graph600by default would display the connection path between user306and target entity308that has the fewest intermediate connections. Visual graph600could optionally be configured so that each name entry for existing person310and target entity308are hyperlinks, where clicking on one of the links will allow user306to initiate a new connection request and/or message the existing person310or target entity308, provided that existing person310and/or target entity308have either not established criteria for connection, or user306meets established criteria.

Although not shown in the figures,FIG. 6is generated by a user306simply selecting a target entity308from a list of available users in system300. System300then computes the graph as described above, showing a path that includes persons310with whom user306has an existing connection, and then additional chain or chains of users310with whom user306is not yet connected leading to target entity308. Graph600may use different lines between persons310with whom user306is connected and other persons310, so that user306can visually see any additional connections he or she may need to make to get connected to target entity308.

InFIG. 7, a mock-up possible display700seen by an existing person310who has received a connection request from a user306is depicted. In display700, a trust index702is displayed, along with options to confirm704or deny706the request. If person310confirms704the connection request, then user306is connected in database304to existing person310, and existing person310would appear in list508for user306as a connection. Conversely, if person310denies706the request, then user306will not be connected and, depending upon the implementation of system300, may not receive notification of denial. Trust index702is optionally displayed to person310. In one possible embodiment, trust index702is scaled from 0 to 100, with 100 being absolutely trustworthy, and 0 being untrustworthy. Some embodiments may omit displaying trust index702, and still other embodiments may use trust index702as a threshold amount for determining whether user306can send a connection request to person310. Where trust index702is used as a threshold, display of trust index702may be omitted to person310.

A person skilled in the relevant art will recognize thatFIGS. 5-7are only possible implementations of portions of system300's user interface, and assume a web-based implementation using a web browser. Appearance and layout of components, controls, and displayed information may all vary substantially between implementations of system300without deviating from the disclosed invention. Implementations that are mobile-platform centric may use a dedicated app to render the user interface. Furthermore, system300may have other screens not disclosed herein for functionality such as inputting new users and information associated with new users, individual user profile/account information management, system administration functions including database maintenance and establishing system parameters such as use of trust index702, connection criteria, inter-user messaging, etc. The layout and configuration of such functionality is well known in the art relating to social media, web design, and general system maintenance.

System300may optionally include inter-user messaging functionality. User306may be allowed to message other existing persons310or targeted entity308. Messaging may be restricted by number and/or criteria. For example, system300may be configured to only allow messaging from users with a minimum trust index702. Such minimum threshold could be established on a system-wide basis, a per-user basis, or both. Other possible limits are a maximum number of messages allowed to be sent per person310, and/or message content restrictions. These limits could be set by person310, or implemented on a system-wide basis.

Turning attention toFIG. 8, a method800of using and operating system300with respect to establishing connections will now be described. Method800includes a first step802where a user306, having already set up an account, optionally enters information about any existing connections, connections with other persons310on other social media platforms, connections with other persons310in real life, and/or other similar connections. In step804, system300computes a trust index702for user306. User306can then request a connection with another existing person310in step806, which is sent to existing person310in step808. Existing person310can approve or deny the request in step810. If the request is denied, in step812user306can optionally be notified of the denial. Should existing person310approve the connection request, then user306is notified of the approval in step814and, in some implementations, trust index702for user306can be recomputed in step816. With the exception of steps802and804, method800is iteratively performed each time user306requests a new connection.

In first step802, a new user306may sign up with system300, providing any information requested by system300. The specific information will vary depending upon the particular implementation of system300, and can include personal information such as name, address, date of birth, e-mail, etc. Other fundamental information will include login credentials such as a username and password combination that user306supplies to access system300, modify their profile, submit connection requests, etc. For purposes of computing an initial trust index702, system300can preferably be configured to have user306supply information regarding the user's existing contacts and connections. Examples of such information could include user306supplying system300with user306's credentials to access various other existing social media sites, many of which provide APIs to allow third parties to access site information. System300could then retrieve user306's connection information for further evaluation and processing. In other implementations of system300, this information could be used to expedite onboarding of user306; in such an implementation a new user306would need only supply credentials from another social media site, such as logging in using Facebook®, at which point system300would use Facebook® profile information to create user306's account and determine an initial trust index702, as well as to optionally suggest possible connections. Other connection information could also be supplied, such as persons who user306may know in real life. Where such information is sought, system300may require further validation of such connections.

In step804, system300uses user306's profile and connection information to compute an initial trust index702. Trust index702is intended to prevent user306from inflating their performance or otherwise “gaming” system300to obtain greater connections or connections with high-status users that user306would not otherwise be able to obtain. This allows system300to more accurately model real life dynamics of interpersonal connections. Trust index702is preferably a function that accepts as input a user's306set of friends, existing connections, and any other pertinent information along with a set of evaluation criteria and heuristics specific to a particular implementation of system300, and returns a numerical value representing the computed trustworthiness of user306. Preferably, this is a number between 0 (least trustworthy) and 100 (most trustworthy), as discussed above. The actual algorithms used to compute the trust index702can be tailored to the specific needs of a given implementation of system300, and thus can be modified or fine tuned to achieve desired results depending upon the context in which system300is deployed. For example, where system300is deployed in a social context, viz. to reflect popular connections to celebrities, the algorithms and weights used to compute trust index702may be radically different than those used where system300is deployed in a business context, such as to describe networks between persons sitting on multiple corporate boards. In such a context, user306may already be considered to be relatively trustworthy as opposed to system300in a context where user306may be a member of the general populace, and thus of unknown trustworthiness.

Heuristics for evaluating user's306trustworthiness can and will vary from implementation to implementation of system300. Such criteria include: 1) We are more likely to trust claims of a friend, rather than a stranger. Thus, for a user306, trustworthiness (as expressed in the trust index) can be elevated when user306is connected to other persons who themselves are known to be trustworthy. Existing users who are connected with user306and who are known to be honest and unlikely to associate with dishonest persons in turn can impute trustworthiness to user306. The opposite can also be held true; connections with others who are relatively untrustworthy could potentially have a negative effect on user306's trust index. 2) Each person has an anticipated number of friends, and deviations from thus number can reflect trustworthiness. A user306that has an increasingly large number of Internet-based friends should have the weight accorded those friends in computing the trust index decreased, as it unlikely user306is actually in a meaningful relationship with a significant number of their Internet-based friends. Similarly, an unexpectedly low number of friends can indicate potential untrustworthiness. In either case, the user's306trust index will effectively be decreased, as connections with high trust indexes will not hold as great a weight. 3) A person's stature impacts the number of likely friends. Simply put, the higher a public profile a user306has, the more likely the person is to have a high number of friends and/or connections. Thus, a user306who is determined to have a significant public profile will be permitted to have a higher than normal number of friends (Internet or otherwise) before the weight of such friends' trust indices is diminished.

As a further example of the heuristics for evaluating user's306trustworthiness, the following hierarchy of trust criteria can be employed in some implementations, particularly those where a targeted person308is a celebrity: The most trusted persons are, for example, those who can have their connection to a celebrity verified in historical records and facts. Other trusted connections are, for example, the members of a musical group, because they have obvious strong connection. Such information is also verifiable via public record. More most trusted connections are, for example, the members of a baseball or soccer team, etc., because they have (almost certainly) been “within 10 feet” of every other member of the team at one time or another. Other trusted connections are persons310who both claim to be friends with yet another person310. For example, any network of friends, who are willing to vouch for each other.

There is also a “negative hierarchy” which can serve reduce user306's trust index702. For example, a regular person who claims to be connected to, say, more than ten (10) persons310who are celebrities and/or100ordinary persons310is unlikely. Still further, as user306's trust index702increases, system300could optionally allow user306to claim connections to a greater number of persons310, on the basis of user306simply being apparently more trustworthy. This works the other way: if user306has no connections to other persons310(regardless of whether possessing celebrity status), but claims to be connected to many celebrity-level persons310, user306's trust index702would be close or equal to zero. If user306has no connections, then system300will not permit them to link to a person310who is a celebrity (e.g. target person308). Additional algorithms may be deployed in system300to further prevent automated “fishing” for connection information in the database. A users306with a persistently low trust index702, despite multiple connection attempts to other persons310may ultimately be blocked from using system300.

In step806, user306can submit a request to another existing person310to connect. System300may be configured to only allow connections where user306has a trust index that is above a predetermined threshold. This threshold may be established on a system-wide basis, or may be established by each existing person310personally, so as to act as a per-user filter against users306that are not sufficiently trustworthy. Additionally or alternatively, person310may require that a user306desiring to connect meet certain criteria established by person310before user306can send a connection request to person310. As with a trust threshold, such criteria may also be established on a system-wide basis. Examples of such criteria are limiting connections to only to those who are immediately connected with existing connections to user306. Referring toFIG. 6, for example, user306would not be able to submit a friend request to JIMI (target entity308), but could only submit a connection request to K.E., who is a direct connection to M.W., to whom user306is directly connected. This restriction does not necessarily apply to graph600inFIG. 6; a user306would still be able to select a target entity308and view a path of connections to target entity308. This raises the problem of establishing an initial series of connections for a new user306. Such problems could be resolved by allowing initial connection requests to be sent to those existing persons310that user306is already connected to on an external site, and/or by using a trust index threshold for initial ad hoc connections.

Still another possible way to moderate connection requests is to require some sort of verification or qualification, especially where the request recipient is a person310with a high profile, such as a public figure, actor, musician, politician, etc. Examples of such qualifiers may include a user306having attended 1 or 2 or more events involving person310; being within 10 feet of person310; and/or being a friend. System300could be implemented such that user306can self-report their qualification, and such qualification will only be accepted without verification if user306has a sufficiently high trust index702. If trust index702is not sufficiently high, user306may be required to submit additional verification, or may not be allowed to connect. A form of this approach to verification could also be implemented as a solution to a new user306establishing an initial round of connections.

If a connection request is allowed, person310is notified of the connection request and, as described above, could be supplied additional information about requesting user306. Additional information may include user306's current trust index702, purported qualifications for user306to connect with person310, user306's personal details, etc., and/or any other information that could be useful to person310in evaluating the request, or pertinent to the specific implementation of system300. Person310then decides whether to allow or deny the request in step810.

Depending upon whether the request is allowed or denied, user306may be notified of the decision in steps812or814. In some implementations, user306may not be notified if person310determines to deny a connection request.

Following an approved connection request, in step814the trust index702of user306is recomputed to take into account the new connection to person310, considering person310's trust index and stature. Trust index702is also preferably recomputed for person310who has accepted the connection request, taking into consideration the trust index of requesting user306. Furthermore, in some implementations of system300the trust indices702of every user could be made available for inspection by all other users. In still other implementations, each user306may be able to view the trust index of those persons310whom user306may be allowed to submit a connection request.

Furthermore, in a preferred implementation of system300, trust index702is recomputed on a frequent basis. Preferably, trust index702will be recomputed every time the trust index of a person310to which user306is connected is updated or changed. As the trust index of connections is initially used to compute user306's trust index702(as described above), it is appropriate to update user306's trust index702when the trust indices of one or more connected persons310updates. Some implementations of system300can dedicate one or more processes or threads to continual refreshing and updating of all trust indices702in the background as the various connections in system300dynamically change over time, so that trust indices702accurately reflect the current trustworthiness of all system users, including user306.

System300may allow persons310to defriend or disconnect from other users. Where such a defriending or disconnection takes place, system300may further recompute the trust indices of person310and disconnected user306in light of the disconnection. Further embodiments of system300may also weight a disconnection differently than an accepted connection request for purposes of trust index computation, and still further embodiments may bias a disconnection weighting depending upon stated or provided reasons for disconnection, e.g. an event or transgression by user306such as a misrepresented connection or fraudulent request may result in a greater lowering of the recomputed trust index702than a simple disconnection from a user306due to inactivity.