US20060259957A1 - System and method for creating a secure trusted social network - Google Patents

System and method for creating a secure trusted social network Download PDF

Info

Publication number
US20060259957A1
US20060259957A1 US11/381,282 US38128206A US2006259957A1 US 20060259957 A1 US20060259957 A1 US 20060259957A1 US 38128206 A US38128206 A US 38128206A US 2006259957 A1 US2006259957 A1 US 2006259957A1
Authority
US
United States
Prior art keywords
user
users
trusted
network
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/381,282
Inventor
Chung Tam
Paramjit Gill
Barjinderpal Gill
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US11/381,282 priority Critical patent/US20060259957A1/en
Publication of US20060259957A1 publication Critical patent/US20060259957A1/en
Priority to US12/965,358 priority patent/US20110265148A1/en
Priority to US13/404,361 priority patent/US8402512B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/03Credit; Loans; Processing thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Definitions

  • the history of computing and computer network architecture can be viewed as a spectrum falling between a more centralized approach in a Client-Server environment and the decentralized approach of a Peer-to-Peer environment.
  • Each architecture has been used to build electronic communities and create various forms of computer services.
  • a simple example of a Client-Server environment is a website.
  • a website is a service provided by a web server.
  • Third party computing devices access the website by connecting to the web server through a network connection (via the Internet, through a Local Area Network or the like).
  • One problem associated with Client-Server environments is that the server and the bandwidth required to service the number of request must also be able to scale with the growth of the number of third party devices seeking to access the server.
  • Peer-to-Peer environments are networks in which each computing device connected to the network can have equivalent capabilities and responsibilities.
  • Peer-to-Peer environments are generally simpler to create and maintain than Client-Server environments and, at present, do not offer the same performance under heavy loads.
  • Examples of Peer-to-Peer networks are file sharing networks such as Napster (http://www.napster.com), E-donkey (http://www.edonkey2000.com) or Kazaa (http://www.kazaa.com).
  • Napster http://www.napster.com
  • E-donkey http://www.edonkey2000.com
  • Kazaa http://www.kazaa.com
  • Each of these examples allow for direct connections between individual computing devices in the network to exchange files.
  • the problems associated with Peer-to-Peer networks involve, among others a lack of security, control and authenticity of the requested files. There are no limits on access to these networks and therefore users have no way to ascertain the quality or source of the received file.
  • the present invention addresses such a need as it uses a Client-Server environment to identify, authenticate and control access to a Peer-to-Peer network.
  • this invention applies the ideas of pre-existing social relationships characterized by trust to the access control of the Peer-to-Peer network to create a flexible and secure network.
  • U.S. Pat. No. 5,941,947 to Brown et al. describes a system and method for controlling access to data entities in a computer network using the concept of control access rights list (ACL) to assign network privileges to users and groups of users.
  • ACL control access rights list
  • U.S. patent application Ser. No. 10/165,330 assigned to Yeager et al. and U.S. patent application Ser. No. 10/285,133 assigned to Yeager and Chen, describe the creation and distribution of a trust mechanism within a Peer-to-Peer network.
  • trust is a value that is quantitatively calculated through the interaction of peers or determined a priori as a numerical value by the user. The total trust and risk of an object on their network can then be established as a path summation of the nodes that offers the object.
  • the disadvantage of this design is that it requires a series of interactions between users on the network before a level of trust can truly be established. There is no provision for ratings based on pre-existing relationships of trust.
  • the work of Yeager et al. does not provide a mechanism to identify and authenticate a user and relied on their defined “Trust mechanism”.
  • Trust The key element in the establishment of a social network is the implicit understanding of the concept of “trust” between known users of a social network. Trust is defined in Merriam-Webster's Dictionary as “assured reliance on the character, ability, strength, or truth of someone or something”. The nature of trust has proved to be elusive and has been discussed extensively in the context of philosophy. The practical implications of trust can be explained using game theory, human physiology and psychology. The concept of trust also forms the basis of corporate strategy, and economics and sociology.
  • Trust is also recognized as a valuable component of business strategy (see for example, Robert Bruce Shaw and Jossey-Bass (1997), Trust in the Balance: Building Successful Organizations on Results, Integrity, and Concern, Jossey-Bass Business & Management Series). Trust exists within the human behaviour spectrum of confidence (result of specific knowledge built on reason and facts) and faith (belief that is largely immune to contradictory information or events). Trust for an individual can be characterized as a belief that those on whom the individual depends will fulfill that individual's expectations of them. In a sense, therefore, predictability of behaviour engenders trust. For individuals, varying levels of trust can be established based on fulfilling expectations, acting with integrity and being empathetic.
  • trust is also a key element in the theories of macro-economics.
  • trust can be characterized as an expectation within a community that users of the community will exhibit regular, honest, and cooperative behaviour, based on commonly shared norms.
  • the existence of trust creates social capital, which in turn determines the size of firms, businesses and even economies.
  • CMS Web-based content management system
  • Peer-to-Peer collaborative environment the resources are located in one central location with specific functions provided by a web server and a database (see for example, CMS Review 2005 at http://www.cmsreview.com).
  • CMS Review 2005 at http://www.cmsreview.com
  • decentralized systems individual machines execute local programs to create a shared environment connected by a network (see for example, U.S. Pat. Nos. 6,859,821; 6,640,241; and 6,446,113 to Ozzie et al.).
  • ZopaTM launched the first peer-to-peer lending network in the United Kingdom (http://www.zopa.com/).
  • One main important criterion for lending is the credit-worthiness of the borrower (for more information see http://news.bbc.co.uk/1/hi/business/4325761.stm).
  • ZopaTM allows strangers to lend money to strangers. Access to the system is contingent upon the users passing a credit check.
  • An object of the present invention is to provide a system for a plurality of users to share resources.
  • system for a plurality of users to share resources comprising: one or more software clients, each of said software clients installed on a computing device; one or more trusted servers; one or more communication means allowing communication between said one or more trusted servers and said one or more software clients, wherein said trusted servers comprise: a network interface operable to receive data packets from the software clients and further operable to send processed data packets to the software clients; a processing engine in communication with the network interface, said engine operable to associate each data packet with an identifier and to thereby provide said processed data packets; a database containing an identifier associated with each software client in said system, and wherein each identifier in said database is related to each other identifier by means of a criterion, wherein said criterion is the degree of separation between one user of a software client and a second user of a software client based on a pre-exist
  • a method of searching for information, resources or services contained on a computing device connected to the system of claim 1 based on the properties of the object as well as criteria as specified by the user wherein the search can be conducted either by said software client or be the trusted server.
  • a method for creating a market on a system for a plurality of users to share resources comprising the following steps: establishing a network of computing devices used by two or more users wherein each of said users possesses a unique network identifier and wherein each unique identifier can be related to each other unique identifier based on a criterion, wherein said criterion is the degree of separation between one user and another user based on a pre-existing relationship of trust, as defined by said users; and providing a market server connected to said network wherein said computing devices can exchange processed data packets with said market server; wherein said processed data packets relate to the buying and selling of goods and wherein said market server coordinates interactions between said users of said computing devices.
  • a method for creating an auction on a system for a plurality of users to share resources comprising the following steps: establishing a network of computing devices used by two or more users wherein each of said users possesses a unique network identifier and wherein each unique identifier can be related to each other unique identifier based on a criterion, wherein said criterion is the degree of separation between one user and another based on a pre-existing relationship of trust, as defined by said users; and providing an auction server connected to said network wherein said computing devices can exchange processed data packets with said auction server; wherein said processed data packets contain information relating to the designation of objects that are available to be auctioned, and bids for said by one or more of said users; and wherein said auction server manages said processed data packets to manage and regulate auctions on said network according to pre-set rules.
  • a method for playing games via a system for a plurality of users to share resources comprising the following steps: establishing a network of computing devices used by two or more users wherein each of said users possesses a unique network identifier and wherein each unique identifier can be related to each other unique identifier based on a criterion, wherein said criterion is the degree of separation between one user and another based on a pre-existing relationship of trust, as defined by said users; and providing a game server connected to said network wherein said computing devices can exchange processed data packets with said game server; wherein said processed data packets contain information relating to a game in which the users are participants; and wherein said game server coordinates and manages the interactions between the users according to pre-set rules.
  • a method for distributing one or more objects to members of a system for a plurality of users to share resources comprising the following steps: establishing a network of computing devices used by two or more users wherein each of said users possesses a unique network identifier and wherein each unique identifier can be related to each other unique identifier based on a criterion, wherein said criterion is the degree of separation between one user and another based on a pre-existing relationship of trust, as defined by said users; providing one or more trusted servers connected to said network wherein said computing devices can exchange processed data packets with said one or more trusted servers; establishing a list of unique network identifiers corresponding to users who wish to receive the object and the location of a folder on said computing devices of said users designated to receive said one or more objects, said list located on said trusted servers; transmitting said one or more objects to said one or more trusted servers with instructions to distribute said object to the members on said list; and transmitting
  • a method for banking via a system for a plurality of users to share resources comprising the following steps: establishing a network of computing devices used by two or more users wherein each of said users possesses a unique network identifier and wherein each unique identifier can be related to each other unique identifier based on a criterion, wherein said criterion is the degree of separation between one user and another based on a pre-existing relationship of trust, as defined by said users; and providing a banking server connected to said network wherein said computing devices can exchange processed data packets with said banking server; wherein said processed data packets contain information relating to communication between said two or more users relating to borrowing or loaning money from one of said two or more users to another of said two or more users; and wherein said banking server coordinates and manages the interactions between said users according to pre-set rules.
  • FIG. 1 is a process diagram for setting up the Network according to one embodiment of the present invention.
  • FIG. 2 is a flowchart diagram for setting up the Network according to one embodiment of the present invention.
  • FIG. 3 is a process diagram describing the situation in which a new user is invited to join the network and contacted through a trusted server according to one embodiment of the present invention.
  • FIG. 4 is a flow chart describing the situation where a new user is contacted through the trusted servers according to one embodiment of the present invention.
  • FIG. 5 is a process diagram describing the process by which a user refers a friend to the trusted server according to one embodiment of the present invention.
  • FIG. 6 is a flow chart describing the situation where a user is referred by a friend to the service according to one embodiment of the present invention.
  • FIG. 7 is a process diagram describing the process by which a user establishes a relationship with another user of the network according to one embodiment of the present invention.
  • FIG. 8 is a flowchart describing the process by which a user establishes a relationship with another user of the network according to one embodiment of the present invention.
  • FIG. 9 is a process diagram describing the process of accessing to the network according to one embodiment of the present invention.
  • FIG. 10 is a flow chart describing the access process according to one embodiment of the present invention.
  • FIG. 11 is a process diagram describing the process to access to the network according to one embodiment of the present invention.
  • FIG. 12 is a flow chart describing the situation where the client logoff from the network gracefully according to one embodiment of the present invention.
  • FIG. 13 is a process diagram describing the situation where the client logs off from the network suddenly according to one embodiment of the present invention.
  • FIG. 14 is a flowchart describing the situation of sudden client logoff from the network according to one embodiment of the present invention.
  • FIG. 15 is a process diagram describing searching other trusted clients with information passing directly back to the initiator according to one embodiment of the present invention.
  • FIG. 16 is a flow-chart diagram describing the process of searching other trusted clients with information passing directly back to the initiator according to one embodiment of the present invention.
  • FIG. 17 is a process diagram describing the process of searching for information on the computing devices of trusted peers with some degree of privacy according to one embodiment of the present invention.
  • FIG. 18 is a flow chart describing the process of searching for information on the computing devices of trusted peers with some degree of privacy according to one embodiment of the present invention.
  • FIG. 19 is a process diagram describing the process of searching for information located on the computing devices of trusted peers through the trusted servers according to one embodiment of the present invention.
  • FIG. 20 is a flow chart describing the process of searching for information located on the computing devices of trusted peers through the trusted servers according to one embodiment of the present invention.
  • FIG. 21 is a process diagram describing the process of transferring/exchanging/communicating through the network according to one embodiment of the present invention.
  • FIG. 22 is a flow chart describing the process of transferring/exchanging/communicating through the network according to one embodiment of the present invention.
  • FIG. 23 is a process diagram describing the process of transferring/exchanging/communicating through the network according to one embodiment of the present invention.
  • FIG. 24 is a flow chart describing the process of transferring/exchanging/communicating through the network according to one embodiment of the present invention.
  • FIG. 25 is a process diagram describing the process of service delivery through a relay according to one embodiment of the present invention.
  • FIG. 26 is a flow chart describing the process of service delivery through relay according to one embodiment of the present invention.
  • FIG. 27 is a process diagram describing the process of remote client access according to one embodiment of the present invention.
  • FIG. 28 is a flow chart describing the process of remote client access according to one embodiment of the present invention.
  • FIG. 29 is a process chart demonstrating an example of a file transfer through a trusted social network according to one embodiment of the present invention.
  • FIG. 30 is a process chart demonstrating an example of photo file sharing through a trusted social network according to one embodiment of the present invention.
  • FIG. 31 is a process chart demonstrating and example of video file sharing through a trusted social network according to one embodiment of the present invention.
  • FIG. 32 is a process chart demonstrating an example of remote access and file sharing through a trusted social network according to one embodiment of the present invention.
  • FIG. 33 is a process chart demonstrating a transaction based electronic markets on a trusted social network according to one embodiment of the present invention.
  • FIG. 34 is a process chart demonstrating an electronic market based on the transfer of digital rights according to one embodiment of the present invention.
  • FIG. 35 is a process chart demonstrating an example of extending the electronic market to include identifiable non-digital goods according to one embodiment of the present invention.
  • FIG. 36 is a process chart demonstrating an example of auction over a trusted network according to one embodiment of the present invention
  • FIG. 37 is a process chart demonstrating a reverse auction on a trusted social network according to one embodiment of the present invention.
  • FIG. 38 is a process chart demonstrating an application of instant messaging (IM) services on a trusted social network according to one embodiment of the present invention.
  • IM instant messaging
  • FIG. 39 is a process chart demonstrating Voice Over Internet Protocol (VOIP) services on a trusted social network according to one embodiment of the present invention.
  • VOIP Voice Over Internet Protocol
  • FIG. 40 is a process chart demonstrating Interactive Video services on a trusted social network according to one embodiment of the present invention.
  • FIG. 41 is a process chart demonstrating an application of electronic resource sharing on a trusted social network according to one embodiment of the present invention.
  • FIG. 42 is a process chart demonstrating a process for non-electronic resource sharing on a trusted social network according to one embodiment of the present invention.
  • FIG. 43 is a process chart demonstrating a process for non-electronic resource sharing on a trusted social network where delivery of the resource is managed physically by a trusted peer according to one embodiment of the present invention.
  • FIG. 44 is a process chart demonstrating information collaboration and management on a trusted social network according to one embodiment of the present invention.
  • FIG. 45 is a process chart demonstrating playing games on a trusted social network according to one embodiment of the present invention.
  • FIG. 46 is a process chart demonstrating advertising to users through a trusted social network according to one embodiment of the present invention.
  • FIG. 47 is a process chart demonstrating the use of a trusted social network in the multi-level marketing industry according to one embodiment of the present invention.
  • FIG. 48 is a process chart demonstrating the use of a trusted social network in the process of film production according to one embodiment of the present invention.
  • FIG. 49 is a process chart demonstrating the use of a trusted social network in film festivals according to one embodiment of the present invention.
  • FIG. 50 is a process chart demonstrating the use of a trusted social network in the medical industry according to one embodiment of the present invention.
  • FIG. 51 is a process chart demonstrating the use of a trusted social network in the retail music/movie industry according to one embodiment of the present invention.
  • FIG. 52 is a flow chart describing the steps required to create and distribute an initial collaboration object using a trusted network according to an embodiment of the present invention according to one embodiment of the present invention.
  • FIG. 53 is a flow chart describing the steps required to edit a collaboration object using a trusted network according to an embodiment of the present invention.
  • FIG. 54 is a schematic describing the steps required to initiate a synchronization object and propagate the object throughout a trusted network according to one embodiment of the present invention.
  • FIG. 55 is a flow chart illustrating the steps required to become a lender using a banking service in a trusted network according to an embodiment of the present invention.
  • FIG. 56 is a flow chart illustrating the steps required to become a borrower using a banking service in a trusted network according to an embodiment of the present invention.
  • FIG. 57 is a flow chart illustrating the steps required to finalize a loan using a banking service in a trusted network according to an embodiment of the present invention.
  • FIG. 58 is a schematic describing the steps required to initiate a push object and propagate the object throughout a trusted network according to one embodiment of the present invention.
  • acceptable social behaviour or trust can be codified as a security rule and through its implementation can create a secure electronic community.
  • the simple rule “I trust my close peers and will therefore allow them access to my computing device” can be extended to include “I trust peers of my peers and will therefore allow them access to my computing device”.
  • This logic can be extended recursively until the list of immediate and extended social links are exhausted.
  • the underlying social expectations inherent in a pre-existing relationship characterised by trust forms the security rule for a Peer-to-Peer network.
  • the trust that forms the basis of social relationships can also be found in the workplace. In such cases, the implicit trust is based on the roles of an individual within an organization.
  • the CEO of a company allows the vice presidents permission to access a company resource.
  • the vice presidents can allow their managers access to the same resource without the intervention of the CEO or another central administrator.
  • This role-based trust can once again form the basis of the security rule for establishing a Peer-to-Peer network.
  • the criteria of trust therefore is defined independent of the actions occurring within the network, does not need to be quantitatively assigned, and is derived from pre-existing social networks.
  • the system is a combination of a Peer-to-Peer network and Client-Server network formed of computing devices designed to permit users to share resources.
  • Users are understood to be human beings. Resources can include without being limited to: data, digital files, memory, processing power, and storage space.
  • a computing device would be understood by a worker skilled in the art to include any electronic device with storage and computing capability and a communication means with which to communicate with other computing devices.
  • Computing devices may include but are not limited to computers, cell phones, mp3 players, pagers, gaming consoles, handheld gaming devices, wireless devices, and personal digital assistants.
  • the communications means would be understood by a worker skilled in the art to include any necessary elements of hardware, including but not limited to communications ports, wireless transmitter/receivers, wires or fibre optics, and software, including but not limited to telephony, e-mail, facsimile, Bluetooth®, TCP/IP, FTP, XML, and IRC, that allow a computing device to exchange data packets with another computing device.
  • Trusted servers provide the services of authentication, identification and verification for each user within the network.
  • the trusted servers are computing devices connected to the network that can identify, verify and authenticate users of the network. This process defines who the users are, for example by means of a login and password, and where they are located in relation to other users of the network, for example an IP address.
  • the trusted server can confirm these facts as part of an authentication process.
  • Authorization and some services are provided by the trusted servers in a client-server environment. Once users are authorized to access the system, interactions between users take place in a Peer-to-Peer environment.
  • a software client installed on each computing device connected to the network acts as an interface to allow the user to communicate with the trusted servers and other computing devices.
  • Initial access to the network is controlled by each of the users who can invite members of their trusted social network to access the network. Once invited, a new user can download the software client, access the network and invite new members. Processes are described that lead to the formation of electronic communities, which facilitates communication between computing devices connected to the system and transactions between those computing devices in a defined manner.
  • Some examples of interactions and services that are possible using this type of system are: transfer and exchange of electronic files, transfer or exchange of text messages and/or transfer and exchange of voice data, such as executable programs, digitized music, video and photo files, streamed media such as videos, remote access and file sharing, transaction based electronic markets, electronic markets of electronic and non-electronic goods and resources, auctions and reverse auctions, instant messaging (IM) services.
  • IM instant messaging
  • Voices Over Internet Protocol services, interactive video services, electronic resource sharing such as hard drive space and processor capacity, non-electronic resource sharing, information collaboration and management, playing games, advertising, multi-level marketing programs, information distribution, distribution of digital content involving digital rights management, collaboration on projects involving editing and distribution of information, distribution and synchronization services for information, banking services, directed distribution incorporating push technology, and RSS feed services.
  • VOIP Voices Over Internet Protocol
  • the present invention allows users to share resources without the need to negotiate access on a case-by-case basis.
  • the embodiments discuss a single network of users linked through pre-existing social relationships it should be understood that the present invention may consist of an unlimited number of such social networks existing parallel to one another. If none of the members of two networks have a pre-existing social relationship to one another, members of one network will be unaware of the existence of members of the other network or networks for the purposes of interaction via the system.
  • the user 1 uses a computing device 2 .
  • the computing device 2 has a software client 6 installed on it, which is supplied from a legitimate source, such as a CD bought from a merchant or downloaded from the trusted servers 3 .
  • the software client 6 is a software interface that manages the flow of data between the computing device 2 , the trusted servers 3 and other computing devices connected to the network.
  • the computing device 2 can be any digital device with sufficient capacity to run the software client 6 and to exchange data packets with other computing devices.
  • the computing devices 2 include, but are not limited to, a computer, cell phone, mp3 player, pager, gaming console, handheld gaming device, wireless device, personal digital assistant and the like.
  • the trusted servers 3 are computing devices connected to the network that can identify, verify and authenticate users of the network.
  • the user 1 uses the software client to connect to the trusted servers 3 and the rest of the network.
  • the software client can run on any computing device that has the capacity to store and process digital information and one or more communication means 4 .
  • the communications means 4 would be understood by a worker skilled in the art to include any necessary elements of hardware, including but not limited to communications ports, wireless transmitter/receivers, wires or fibre optics, and software, including but not limited to telephony, e-mail, facsimile, Bluetooth®, TCP/IP, FTP, XML, and IRC, that allow a computing device to exchange data packets with another computing device.
  • the user 1 of a computing device 2 communicates with the trusted servers 3 by means of the communications means 4 , downloads the software client, completes the setup process and is designated as User A 1 .
  • FIG. 2 is a representation of the same process as a flowchart. Descriptions of the steps required in the process are as follows.
  • steps 0010 A to 0010 C of the process the user 1 contacts the trusted servers 3 through an appropriate communication service 4 and downloads the software client 6 .
  • the user 1 obtains the software client 6 from an offline source such as a software store. After the installation of the software client 4 , the user 1 can now be known as User A 1 .
  • step 0020 is for User A 1 to activate the software client 6 .
  • the software client 6 queries User A 1 for setup information (D 0020 ).
  • the setup information (D 0020 ) contains the contact information for User A 1 (e.g. Telephone number, e-mail, mailing address). In an alternative embodiment of the present invention, the setup information also includes demographic information such as gender, age, salary range, education, occupation, and other points of contact.
  • User A 1 enters the required setup information D 0020 which is sent through communication service 4 to trusted servers 3 .
  • trusted servers 3 receive the setup information (D 0020 ) and send an automatically generated authentication message (M 0030 ) to User A 1 based on the contact information specified in D 0020 . This step represents a confirmation of contact information provided by the software client 6 .
  • User A 1 receives the message.
  • User A 1 now has a choice of actions after receiving information (M 0030 ) from the trusted servers 3 .
  • User A 1 accepts the terms and conditions of use and, in step 0046 , sends acceptance to trusted servers 3 .
  • the trusted servers 3 then create an account for User A 1 .
  • User A 1 declines to accept the terms and conditions of use for the network, this refusal is send to the trusted servers 3 .
  • the trusted servers 3 note that User A 1 has abandoned the signup process.
  • steps 0055 A to E User A 1 does not act on Message (M 0030 ) after a set period of time. The trusted servers 3 assume that the application has been abandoned.
  • steps 0060 A and B assume that the authentication message (M 0030 ) was returned to trusted servers 3 with an error condition for message delivery.
  • error conditions include but are not limited to a bounced back e-mail, a busy signal on a telephone or a returned mailing.
  • the trusted servers 3 take note of the failure and reacts accordingly, either by abandoning the application process or repeating attempts to contact User A 1 .
  • Propagation describes the process of how a user, in this case, User A adds another user whom they trust as a result of a pre-existing relationship (e.g. friends, family, and co-workers). This process can be repeated indefinitely to build up a list of trusted peers for User A.
  • a pre-existing relationship e.g. friends, family, and co-workers
  • a user of the network initiates the process of adding a new user by sending the contact information of a trusted individual to the trusted servers 3 .
  • this process can take place at the same time as User A 1 initially joins the network.
  • the new user in this case defined as User Z 7 , is contacted by the trusted servers 3 and prompted to join the network.
  • User Z 7 is a person with whom User A 1 has a pre-existing relationship of trust either through a social network or through predefined roles in an organization.
  • step 0200 User A 1 logs on to the network and sends a message (D 0200 ) to the trusted servers 3 .
  • Message D 0200 is comprised of the contact information for another trusted peer Z 7 , as defined by User A 1 (for example, telephone number, e-mail, etc.). This is the start of the referral process for a new user, in this case, referred to as Z, a trusted peer defined by User A 1 .
  • the trusted servers 3 receive message D 0200 and initiate the referral process.
  • the trusted servers 3 send a message (M 0215 ) to User Z 7 , through an appropriate communication means 4 (as defined by the contents of message D 0200 ) inviting User Z 7 to obtain the software client 6 from the trusted servers 3 .
  • the message (M 0215 ) comprises: Explanation of Service, How to Download Software Client from trusted servers.
  • step 0220 User Z 7 receives message (M 0215 ), and then downloads and installs the software client 6 .
  • User Z 7 proceeds through the setup process defined above by steps 0020 - 0070 , above.
  • step 0250 the trusted servers 3 send a confirmation message (M 0250 ) back to User A 1 indicating that User Z 7 is now a user of the electronic community.
  • Step 0280 is the end of new user signup process.
  • the new user is contacted by another user directly and prompted to sign up for the service.
  • User A 1 refers User Z 7 to a website where the software client can be downloaded and User Z 7 goes directly to this website.
  • User Z 7 could obtain the software client through offline sources such as buying the software client on a CD from a store.
  • FIG. 6 The details follow and the accompanying flow chart is shown in FIG. 6 .
  • User A 1 sends a message (D 0300 ) through an appropriate communication means 4 to a trusted peer, User Z 7 , to tell them to sign up onto the network.
  • Message (D 0300 ) contains the location where User Z 7 can download the software client 6 .
  • step 0302 A to C User Z 7 receives Message (D 0300 ), connects to the trusted servers 3 and proceeds through the Initial Setup process as discussed above in steps 0010 - 0100 .
  • steps 0310 A to C after the account is set up, User Z 7 proceeds to define his or her relationship with User A 1 as outlined in process 0400 - 0499 below.
  • a user wishes to establish a linkage with another user that is already a member of the network.
  • both User A 1 and User Z 7 are users of the network with a pre-existing relationship characterized by trust but who are not related users on the network.
  • User A 1 sends a message to the trusted servers 3 , defining User Z 7 as a trusted peer.
  • User Z 7 can accept or reject this new definition, by communicating with the trusted servers 3 .
  • step 0402 in step 0402 , User A 1 sends data (D 0402 ) to the trusted servers 3 defining User Z 7 as a trusted peer.
  • Data (D 0402 ) comprises the unique identifying information of User Z 7 .
  • step 0410 the trusted servers 3 receive data (D 0402 ) and send message (M 0410 ) to User Z 7 notifying them of a request to create a relationship with User A 1 .
  • step 0420 User Z 7 receives message (M 0410 ) and takes one of several, alternative, actions.
  • step 0422 User Z 7 accepts the request and sends acceptance (D 0422 ) back to the trusted servers 3 .
  • step 0424 User Z 7 declines the request and sends refusal (D 0424 ) back to the trusted servers 3 .
  • steps 0426 A to E User Z 7 ignores the request and the request is considered to have been refused after a set time has elapsed.
  • step 0430 the trusted servers 3 relay the action of User Z 7 to User A 1 and also note the action for the authentication and identification service.
  • step 0502 User A 1 activates software client 6 .
  • step 0506 the software client 6 contacts the trusted servers 3 through an appropriate communication means 4 and sends the identification information (D 0506 ) which comprises a UserID and a Password.
  • the identification information can further comprise an e-mail address, communication port information or IP address, N (level of trust required to access the user's information, or a list of trusted peers (L 0506 ).
  • step 0507 User A 1 undergoes an authentication process on the trusted servers 3 .
  • the authentication process comprises comparing the UserID and password submitted by User A 1 , with information stored on the trusted servers 3 .
  • the authentication information further comprises biometrics data such as fingerprint or retinal scan, facial recognition, or other types of metrics that are designed to verify the identity of User A 1 .
  • step 0520 User A's 1 identity is verified.
  • the trusted servers 3 generate information and instructions (M 0520 ) which are sent to the Location Service 8 , a software program.
  • the information and instructions (M 0520 ) include at the minimum the UserID and a list of trusted peers for the particular User.
  • the Location Service 8 is a specialized service that has access to a database comprising the identifying information and connection point of each user on the network.
  • the Location Service 8 is run by a Location Server which is considered to be one of the trusted servers 3 .
  • connection point is defined as a socket connection for a TCP/IP network.
  • the Location Service 8 goes through a list and determines which trusted peers 7 , 9 , 10 , 11 of User A 1 are currently connected to the network.
  • the connection points of the users are summarized in a list (LIST 0530 ).
  • the Location Service 8 sends list (LIST 0530 ) to User A 1 .
  • step 0550 the list (LIST 0530 ) has been received and User A 1 can now connect to each of the trusted peers on the list.
  • the trusted peers of User A that are currently not connected to the network are identified as “not available”.
  • step 0560 the Location Service also goes through list (LIST 0530 ) and notifies each user of the list, namely, User Z 7 , User B 9 , User D 10 , and User C 11 that User A 1 is now available on the network.
  • step 0550 User A's 1 identity is not verified.
  • the trusted servers 3 will not allow User A 1 to proceed further.
  • Step 0599 is the end of the logon process.
  • the two ways there are two ways to logoff or disconnect from the network.
  • the two ways are:
  • the process details regarding disconnecting or logging off from the network gracefully are summarized in FIG. 11 .
  • the details of the process are given in steps 0600 - 0699 and a flow diagram given in FIG. 12 .
  • the graceful logoff process begins at step 0602 where User A 1 decides to disconnect from the network and follows the standard logoff procedure.
  • the logoff procedure comprises suspending all activities and, optimally, saving all key configurations.
  • User A 1 uses the software client 6 to send a command to log off of the network (D 0604 ) to the trusted servers 3 .
  • the trusted servers 3 execute the logoff procedure for User A 1 .
  • the trusted servers 3 inform the Location Server 8 that User A 1 is logging off.
  • step 0607 the Location Server 8 executes procedures to inform all the trusted peers of User A 1 that User A 1 will be unavailable. For example, User Z 7 will be informed that User A 1 is no longer available.
  • step 0610 the Location Server 8 sends message to the trusted servers 3 that User A's logoff procedure is completed.
  • step 0620 the trusted servers 3 send message to the software client 6 of User A 1 that it is allowed to shut down.
  • step 0675 the software client 6 of User A 1 completes the shutdown routine.
  • step 0700 The process details for when a software client suddenly disconnects from the network is summarized in steps 0700 - 0799 .
  • a process diagram for those steps is given in FIG. 13 and the corresponding flow diagram for this process given in FIG. 14 .
  • step 0700 User A 1 is suddenly disconnected from the trusted servers 3 (i.e. the connection point between the location server 8 and the software client 6 is severed, for example, due to an equipment or power failure).
  • step 0720 the client software of User A 1 attempts to reconnect to the trusted servers 3 .
  • the number of reconnection attempts is defined by a set condition, such as a finite number of attempts or a defined period of time.
  • step 0730 the attempt to reconnect fails.
  • step 0735 User A 1 executes logoff procedure.
  • step 0740 the Location Server 8 executes procedures to inform all the trusted peers connected to User A 1 , namely 7 , 9 , 10 , and 11 that User A 1 will be unavailable.
  • step 0745 the Location Server 8 sends message to trusted servers 3 that User A's 1 logoff procedure has been completed.
  • the trusted servers 3 note that User A 1 is not on the network.
  • step 0760 User A l's attempt to re-connect with the trusted servers 3 succeeds.
  • step 0765 the trusted servers 3 note the new connection point for the User and, in step 0770 starts process 0525 - 0560 to inform User A l's trusted peers 7 , 9 , 10 , 11 that User A 1 is again available.
  • Step 0799 is the end of the sudden logoff process.
  • User A 1 is known as the initiator of the query.
  • the query is sent to User Z 7 and User B 9 . They in turn, forward the query from User A 1 to their list of trusted peers.
  • the local computing device 2 of each user is searched to see if the objective of the query can be satisfied.
  • User D 10 who is authorized to be on the network but bears no social relationship to User A 1 will not be queried.
  • step 4010 User A 1 sends a message (M 4010 ) containing a search query, the degree of separation (N) and identification information to each of the trusted peers on the network.
  • User A 1 is known as the initiator of the query.
  • the search query can be comprised of, text strings, file descriptors, commands or instructions.
  • the message is sent to one of the trusted peers of User A 1 , for example User Z 7 .
  • User Z 7 's software client decreases the parameter N by 1, then, in step 4016 , it checks to see if N is less then 0 then proceeds to step 4022 , performing a query of the system of User Z 7 .
  • step 4020 the client of User Z 7 sends a new message with the initial query and the new value of N to the trusted peers of User Z 7 .
  • step 4025 the query is successful send message M 4025 to the initiator.
  • User C 9 sends back a message (M 4025 ) to User A 1 .
  • message M 4025 comprises the location and availability of the object and the parameter N.
  • step 4030 the query is unsuccessful and the search ends on that particular computing device. In either case, step 4099 is the end search.
  • the initiator of a query wishes to protect their anonymity or limit the knowledge of their identity only to their own trusted peers.
  • identification information of the initiator is not passed on with the search query through the trusted network.
  • Each user queried is only aware of the identity of the user who forwarded the query to them, not the identity of the initiator.
  • the process details for searching in this fashion are summarized in steps 4100 - 4250 .
  • the process diagram is given in FIG. 17 and a flow chart is given in FIG. 18 .
  • Both User Z 7 and B 9 keep an internal record of the query and then pass on the query to the trusted peers on their list.
  • the response to the query is passed back to the immediate user that submitted the query—in this case, User Z 2 13 . This process continues through the network until the initiator, in this case, User A 1 , receives the answer. In this example, User Z 3 14 passes the answer back to User Z 2 13 , who in turn passes the information back to Z 1 12 .
  • Z 1 12 passes back to Z 7 and finally Z 7 responds to User A 1 .
  • step 4100 User A 1 sends a message (M 4010 ) containing a search query, the degree of separation (N) to each of User A 1 's trusted peers on the network and query identification information.
  • the search query can be, but is not limited to, a text string, file descriptors, commands or instructions.
  • the query identification information includes but is not limited to a unique identifier of a query, the originator of the query and the recipient of the query. In this case, User A 1 's question Q 1 is sent to User Z 7 .
  • step 4102 the software client 6 of User A 1 creates a tracking list (L 4101 ) of trusted peers that were forwarded Q 1 , namely, User Z 7 and User B 9 were asked the question Q 1 .
  • step 4113 on one of the trusted peers of User A 1 , for example User Z 7 , the software client 6 also creates a list to track the trusted peers (L 4113 ) that will have Q 1 forwarded to them. For example, all the trusted peers of User Z 7 , 12 , 13 , 14 that are forwarded Q 1 from User Z 7 .
  • step 4114 the software client 6 of User Z 7 decreases the parameter N by 1.
  • step 4016 the software client 6 of User Z 7 checks as to whether N is less than 0.
  • step 4018 amends the query identification in Q 1 to be that of User Z 7 .
  • step 4020 the software client sends a new message from User Z 7 , with the new query identification information and the new value of N to each trusted peers as defined by User Z 7 .
  • Q 1 is forwarded to User Z 1 12 and to User Zn 2 .
  • step 4021 the software client 6 of User Z 7 creates an entry on the list (L 4113 ) for each query sent to each particular trusted peer of Z 7 . If, in step 4016 above, N is less than 0 then the software client does not forward the query on to further trusted peers.
  • step 4122 the software client 6 proceeds to step 4122 and performs the query on the local computing device. If the query is successful the software client 6 moves to step 4125 and sends a message (M 4125 ) to the user that requested the information based on the query identification information. For example, User Z 3 14 sends message M 4125 back to User Z 2 13 that the search was successful.
  • Message M 4125 includes but is not limited, to the location and availability of the object of the search.
  • the software client 6 sends a message (M 4130 ) back to the contact as specified in the query identification information.
  • Message M 4130 comprises a report that the query was not successful.
  • the software client 6 of the next user in the chain of communication checks to see if the message is 4125 (successful query) or 4130 (unsuccessful query).
  • a software client 6 that receives the unsuccessful query message 4130 deletes this entry from the tracking List L 4113 .
  • step 4150 the software client 6 that receives message 4125 (successful query) searches on list L 4113 to identify the queror and sends a response back to this initiator on the success of the query. This information is relayed from one trusted peer to the next until the original initiator of the query is contacted.
  • User Z 3 14 can satisfy User A 1 's query. User Z 3 14 sends an affirmative message to Z 2 13 . User Z 2 13 searches on list L 4113 to see that Z 1 12 forwarded the query to User Z 2 13 . Z 2 13 then informs Z 1 12 that Z 2 13 has an answer to the query. This process continues until User Z 7 informs User A 1 that an answer to the query is available. At this point User A 1 can access the object of the query on User Z 3 's 14 computing device.
  • Search processes can also be carried out through the use of a search service that can be a part of the trusted servers.
  • the search service in this case will be used to generate the list of users that need to be contacted, contact each user with the query, summarize the response and send this response back to the originator of the query.
  • the process details for searching through the location server are summarized in steps 4300 - 4399 .
  • the process diagram is given in FIG. 19 and a flow chart is given in FIG. 20 .
  • User A 1 sends a message (M 4300 ) containing a search query, the degree of separation (N) to the trusted servers 3 .
  • the search query can be, but is not limited to, text string, file descriptors, commands or instructions.
  • step 4305 the search service 20 on the trusted servers 3 receives a message M 4300 .
  • the search service 20 then generates a list (L 4305 ) of all the trusted clients that can be reached by User A 1 based on N.
  • the search service queries the location server 8 for the connection point for each of the trusted peers on list L 4305 .
  • the search server 20 contacts each of the trusted peers on list L 4305 2 , 7 , 9 , 12 , 13 , 14 and sends them a query based on message M 4500 .
  • step 4317 the software clients of the users on list L 4305 receive the query and search the local computing device.
  • the software client 6 of the user who can successfully respond to the search query sends back a message to the trusted servers 3 .
  • This message includes at the minimum the answer to the query.
  • the search service 20 waits for a set condition to make sure that all contacted users have an opportunity to reply.
  • the search service summarizes the results, which include at the minimum the answer to the query.
  • the search service sends the results back to User A 1 .
  • Direct connections can be established through the Login process ( 0500 - 0599 ).
  • a user can be connected directly to another trusted peer on the network.
  • any actions and applications can be carried out directly between the two users in a Peer-to-Peer environment.
  • the trusted servers supply location information to allow the software clients of two trusted peers to connect but are otherwise not involved.
  • FIG. 21 is a process diagram illustrating this connection and FIG. 22 is the corresponding flow chart detailing the steps required in this process.
  • User A 1 is directly connected to User Z 7 and therefore can exchange services.
  • FIG. 22 the details of the process are described as follows.
  • step 5002 User A 1 establishes a link with User Z 7 based on information supplied by trusted servers 3 . Users A 1 and Z 7 must be within the same network and have defined N such that they both fall within N for each other.
  • step 5005 a session is established that connects the two users.
  • User A 1 defines an end condition and starts a count for the end condition. The end condition can be, for example, a time for the connection to last or could be defined by the time to complete a file transfer, etc.
  • step 5012 User A 1 sends a request to User Z 7 .
  • step 5015 the software client on User Z's 7 computing device performs the action requested by User A 1 .
  • step 5017 User Z 7 sends a response back to User A 1 .
  • step 5020 if there is an interruption, such as a sudden disconnection caused by a power failure, the software client on User A 1 's computing device, in step 5025 creates a set point, which can be used to restart action on reconnection.
  • step 5030 the software client of User Z 7 , continues the action requested by User A 1 until end point is reached.
  • step 5200 the end condition is satisfied and the session is ended.
  • FIG. 23 is a process diagram illustrating this connection through a trusted proxy and FIG. 24 is the corresponding flow chart detailing the steps required.
  • a proxy 30 is a service that allows the software client to make indirect network connections to other users. User A 1 and User Z 7 must be related by N degree of separation.
  • a session is established that connects the two users through the proxy 30 .
  • an end condition for the length of the session is defined.
  • the requested action is performed by User Z 7 through the proxy 30 .
  • User Z 7 sends a response back to User A 1 via the proxy 30 .
  • Step 5220 governs the possibility of an interruption in the connection between Users A 1 and Z 7 . If an interruption occurs, in step 5225 the software client of the initiator of the connection, in this case User A 1 creates a set point which can be used to restart action on reconnection.
  • the action is continued until end condition is satisfied.
  • the end condition is satisfied and the session is ended.
  • Services and actions can still be delivered through a series of relays if the initial search and discovery for the services and action is performed using the search with some degree of privacy option ( 4100 - 4250 ). In which case, the application or service can be delivered based on the path developed by the search.
  • the process diagram is given in FIG. 25 and a flow chart is given in FIG. 26 .
  • User Z 3 14 has the service requested by User A 1 .
  • User Z 3 14 In order to deliver the service without User Z 3 14 being aware that User A 1 has requested the service, User Z 3 14 performs the service and delivers the result to the trusted peer Z 2 13 . User Z 2 13 in turn delivers the result back to User Z 1 12 , and Z 1 12 then delivers it back to User Z 7 . User Z 7 finally fulfils the request of User A 1 . Based on this scenario, User A 1 only knows that one of his trusted peers, namely, User Z 7 , has responded to the request. User A 1 does not need to know that User Z 3 14 is the one that actually fulfils the request.
  • the connection between users can be a direct connection as described in steps 5000 - 5199 or connections via a proxy 30 as described in steps 5200 - 5399 .
  • step 5402 User A 1 performs a search as defined in steps 4100 - 4250 on the network. However, in this case, the nature of the search requires that the initiator's privacy be protected.
  • step 5410 User A 1 requests a service based on the results of the search.
  • step 5420 the service request is passed to each user in the connection path between the initiator and the user that has the resources being requested. The identity of the originator of the search is only known to the first user in the connection path with whom User A 1 has an N of 0, in this case User Z 7 .
  • the service request reaches the user that has the resources, in this example, User Z 3 14 .
  • step 5500 User Z 3 14 executes the service request and delivers the result back to the next user in the connection path who relays it to the next user etc. until it reaches the originator, User A 1 .
  • the delivery of the result can be via a direct connection as described in steps 5000 - 5199 above or through a proxy connection as described in steps 5200 - 5399 above.
  • step 5550 the initiator of the query, User A 1 , receives the results of the User Z 7 .
  • the services of the software client on a computing device can be accessed remotely if the proper communication, authentication and identification processes are built into the software client.
  • the process diagram for remote access is given in FIG. 27 and the corresponding flowchart is given in FIG. 28 .
  • User A 1 remotely establishes a connection with his software client 6 , for example, via an http connection, and undergoes an identification and authentication process. Once authorized, User A 1 can then control the local services such as searching and service requests remotely.
  • step 6000 User A 1 establishes a link through a communications means 4 with the software client 6 from an external system 2 and establishes a communication session.
  • the software client 6 provides an authentication and identification process for the remote User A 1 .
  • step 6010 the software client 6 reviews the identifying data provided by the remote User A 1 .
  • step 6020 authentication fails and the remote request will not be considered, or, in step 6030 , the authentication succeeds and the remote request can continue until the session is terminated.
  • the external system 2 can issue commands and receive replies through the communication link to the software client.
  • step 6099 User A 1 terminates the remote link and ends remote access.
  • Information is one particular type of resource that is ideally suited to be accessible and available on a trusted social network. Examples of information include but not limited to digital movies, digital music or different types of documents (e.g. text files, spreadsheets, graphic files, etc.).
  • FIG. 52 is a flow chart describing the steps required to create and distribute the initial collaboration object.
  • steps A 001 -A 020 represent the authentication steps.
  • User A 1 must first be identified and receive authorization from the trusted servers 3 to access the network. Once authorized, User A 1 receives the most current contact list of trusted peers on the network.
  • step A 20 User A 1 creates a piece of information using local resources on User A 1 's computing device such as word processing software. This information is designated as a “collaboration object”.
  • User A 1 saves the file on a shared directory and sets the file properties as being a collaboration object.
  • this designation of a new collaboration object is sent to the editing server 300 .
  • step A 050 the editing server 300 then relays this information to the trusted peers on User A's contact list, for example, User Z 7 .
  • steps A 060 to A 095 User Z 7 can decide whether to accept or reject the collaboration object.
  • steps A 100 to A 140 the editing server 300 offers trusted peers of User A 1 the opportunity to designate trusted peers who should receive the collaboration object. This process continues until all users within N have been invited to receive the collaboration object.
  • FIG. 53 is a flow chart describing the steps required to edit a collaboration object.
  • steps A 301 -A 320 represent the authentications steps as described above.
  • User A 1 wishes to edit an existing file that is marked as a collaboration object.
  • the client software 6 checks with the editing server 300 to determine whether another user is editing the same object.
  • the editing server also checks that User A 1 has the latest version of the collaboration object.
  • step A 350 if a more recent version is available, User A 1 can download and review it prior to editing. If another trusted peer is editing the object, in step A 365 the editing server notifies User A 1 that the object is in use and cannot be edited.
  • Steps A 380 and A 390 the collaboration object is unlocked and User A 1 can proceed to edit the object using User A 1 's local computer resources.
  • Steps A 390 -A 430 describe the process of completing the editing on a collaboration object.
  • Step A 440 is an optional step that informs all members that a new version of the collaboration object is available.
  • a trusted peer who is connected to the network and who is a trusted peer of User A can query the editing server for new collaborating objects or edit the objects using local resources.
  • the editing server responds to queries based on the rules and regulations governing access to information and regulates the transfer of collaboration objects between trusted peers.
  • the steps for information delivery are as follows:
  • the editing server is connected to each member of the trusted social network to ensure that each member has the appropriate access to the information.
  • the type of resource information control stored in the editing server is as follows:
  • users can share and synchronize objects such as files, folders, or local resources in a trusted network.
  • Synchronization is a feature that allows multiple users of a trusted network to have objects such as files, folders, links or local resources with the same content.
  • the system works by allowing a user to declare that an object should be managed by a synchronization server and that the object is to be shared amongst a designated list of trusted peers on the network.
  • the synchronization server ensures that all valid users can access a copy of the object and also can receive updates if the object is changed.
  • FIG. 54 is a flow chart describing the steps involved in initiating a synchronization object.
  • steps C 001 -C 020 represents the authentication steps. Users must first be identified and receive authorization from the trusted servers to access the network. Once authorized, a User receives the most current contact list of trusted peers connected to the network. The user then determines their role in the synchronization process. Users can either be the initiator 1 of a synchronization object or can be a subscriber 7 to that object.
  • the initiator 1 is the user who first establishes the synchronization object and establishes the preferences for the object. Examples of preferences designating users who have the authority to edit or contribute to the object, a description of the object, the degree of separation (n) from the initiator that he or she wishes the object to extend and an initial list of trusted peers that might want to have the object.
  • the subscribers 7 are users that want the synchronization object. Each subscriber 7 must meet the criteria established by the initiator. Steps C 030 -C 040 describes how the object is initially distributed through the social network. In step C 050 , after the initiator 1 creates the synchronization object, the synchronization server 350 contacts a subscriber 7 from the list suggested by the initiator 1 to see if they accept the object.
  • steps C 070 to C 090 the subscriber 7 either accepts or rejects the synchronization object and relays this response to the synchronization service 350 . If the subscriber 7 agrees to accept the sync object, at step C 095 , the object is be downloaded. Depending on the degree of separation, in steps C 120 to C 140 , the subscriber 7 that accepts the synchronization object can suggest a list of their trusted peers and the synchronization server 350 will then contact them. This process of contact and acceptance will continue until the initial degree of separation for the object is reached.
  • any user who belongs to the initiator's social network and who falls within the degree of separation defined by the initiator can search and subscribe to the synchronization object at any time.
  • the synchronization object behaves just like any other shared resources in the social network except that some of its properties are controlled by the synchronization server.
  • Each synchronization object is updated depending on the initial parameters. For example,
  • a system is provided to allow users of a social network to easily lend money to one another.
  • the trusted server can act as the facilitator of financial services between trusted peers and their social networks. Rather then banking with strangers, and mitigating risk through credit checks or secured loans, users of the social network can pool their resources to assist each other financially.
  • the advantage of this approach is the increase the likelihood of having a loan repaid because a user is dealing with member of their social network. This system also reduces the dependence on external factors such as “credit worthiness” of an individual.
  • the process for P2P banking in a trusted P2P network is similar to that of collaboration as discussed above.
  • the main difference is the introduction of a banking server that controls the flow of information and enforces rules for users participating in the market.
  • Users first choose the role that he or she is willing to play in the banking service, namely either borrower or lender.
  • the lender sends to the banking server information about the user's lending preferences. Examples of such preferences are the amount of money they are willing to lend, the desired interest rate, the loan period and the degree of separation to the borrower to whom they are willing to lend money.
  • the borrower sends to the banking server 400 information about their borrowing preferences.
  • FIG. 55 is a flow chart describing the steps required to become a lender in the banking server.
  • steps B 001 -B 020 represent the authentications steps. Users must first be identified and receive authorization from the trusted servers to access the network Steps B 030 -B 040 describe how the lenders' preferences are sent to the banking server 400 .
  • FIG. 56 is a flow chart describing the steps required for a borrower to initiate a loan request.
  • steps B 201 -B 220 represent the authentications steps. Users must first be identified and receive authorization from the trusted servers 3 to access the network. Once authorized, the users receive the most current contact list of trusted peers connected to the network.
  • step B 230 the borrower 1 starts the query process by submitting their preferences to the banking server 400 .
  • steps B 240 to B 360 the banking server 400 , attempts to match the preferences submitted by the borrower 1 with those of lenders within N as defined by the borrower 1 .
  • Step B 300 accounts for a variety of preferences including the amount of the loan or the loan period.
  • Steps B 340 -B 360 continue the review process for lenders until the degree of separation specified by the borrower is met.
  • Step B 400 sends summary information back to the borrower so that the borrower can proceed to finalize the loan.
  • FIG. 57 is a flow chart describing the steps required for a borrower to finalize a loan request.
  • the banking server 400 reviews the preference setting of the trusted peers in the banking system to obtain a list of borrowers and lenders who fit each other's criteria.
  • the borrower 1 receives the list of potential lenders.
  • the borrower 1 selects from the list and forwards their selections to the banking server 400 .
  • Steps B 440 to B 520 describe how the banking server 400 sends requests to each lender 7 asking them to accept the conditions of the loan.
  • Steps B 530 -B 550 finalize the transaction by sending the borrower 1 a list of all the lenders that accepted his or her loan request.
  • the banking server 400 facilitates the transfer of money from the lender 7 or lenders to the borrower 1 .
  • the banking server 400 finalizes the loan agreement between borrower 1 and lender(s) 7 .
  • the banking server 400 ensures that the borrower makes the proper loan payments and that each payment is credited to the proper lender's account. Other duties of the banking server include:
  • a further embodiment of the present invention allows content to be distributed to users of a social peer to peer network using push methods.
  • Push is a feature that allows a user to send a file to a recipient rather than requiring a user to discover and request a file.
  • push features can lead to abuses such as spam (unsolicited communications for marketing purposes).
  • spam unsolicited communications for marketing purposes.
  • push features become a convenient mechanism to transfer files between users connected by a relationship characterized by trust.
  • the process of implementing a push feature in a social P2P network is similar to that of synchronization, as discussed above.
  • the main difference is the introduction of a push server that controls the flow of information and enforces preset rules, which are unique to the push feature.
  • FIG. 58 is a flow chart describing the steps involved in initiating a push object.
  • the user first designates a folder on their local computing device to be the folder that receives push objects.
  • the user sends information to the push server 450 such as the location of the receiving folder, access rights for the local folder which could include specific trusted peers or the degree of separation from the user that the user is willing to grant access to and limits on the push object such as size, content, or type.
  • steps D 001 -D 020 represent the authentications steps. Users must first be identified and receive authorization from the trusted servers 3 to access the network. Once authorized, users receive the most current contact list of trusted peers connected to the network.
  • step D 030 the user 1 sets the properties of the push object and selects the trusted peers 7 that are to receive the object. Examples of properties include object description, degree of separation, etc.
  • step D 040 the file information and list of users is received by the push server 450 .
  • step D 045 the push server 450 checks to see if the object meets the requirements set by each receiver 7 . If the requirements are met, in step D 050 the push server 450 contacts the receiver 7 for permission to accept the push object.
  • Steps D 060 -D 095 describe how the push server 450 obtains permission from each trusted peer 7 to receive the push object and how each trusted peer 7 can then obtain the push object from the initiator 1 .
  • Steps D 100 -D 140 describe how the push object can be sent to other users 7 depending on the degree of separation of the object and the degree of separation of the user 7 from the initiator of the push object 1 .
  • the proposed network is not limited to the sharing of electronic resources such as electronic files but creates new work processes for the user.
  • the following are provided for exemplification purposes only and are not intended to limit the scope of the invention described in broad terms above.
  • FIG. 29 is a schematic illustrating an example of file transfer through a trusted social network.
  • FIG. 29 illustrates the following steps:
  • FIG. 30 is a schematic illustrating an example of sharing photograph through a trusted social network. The detail implementation is covered herein. FIG. 30 illustrates the following steps:
  • FIG. 31 is a schematic illustrating an example of sharing digital video through a trusted social network.
  • FIG. 31 illustrates the following steps:
  • FIG. 31 describes the sharing of digital videos through a remote access. The following steps are illustrated:
  • User A first creates a source file involving a trusted peer (User B) and User B's trusted peer (User B 1 ).
  • User A can create a source file using any type of software (e.g. Microsoft Word, WordPerfect, Open-Office, Excel, PowerPoint, Adobe Premier, Apple Quick time, etc.) and in any type of format (e.g. text, graphic, audio or video).
  • User A then saves the file in a folder that is designated as a shared folder.
  • User A marks the file with the appropriate access permissions such as the degree of separation of users able to view or edit the file. Users other than User A are not permitted to delete the file. Access permissions are relayed to an editing server.
  • the editing server sends a message to User A's trusted peers (such as User B) that there is a collaboration file available. Trusted peers of User A within the appropriate degree of separation can access the collaboration file from User A through the network.
  • Trusted peers of User A within the appropriate degree of separation can access the collaboration file from User A through the network.
  • a message is sent to the editing server that this file is being edited.
  • the editing server checks whether the file is the latest version. If the file a user is attempting to edit is not the latest version, the user is given an option to update to the latest version. The user can then proceed to edit the file using local resources. While the file is being edited, the editing server will not allow another user to edit the file. Once the user has finished editing the file, the user sends a message to the editing server.
  • the editing server then releases the lock on the file so that other users can edit the file.
  • the editing server labels the new version of the file as the latest version and notifies other users who have been granted access to the file that a new version is available.
  • Access to and editing control over the file is controlled by User A.
  • User B a trusted peer of User A
  • User B 1 a trusted peer of User B, but not necessary a trusted peer of User A, can also edit the file.
  • User B 1 obtains information of the existence of a collaboration file either directly (through a message from User B) or indirectly (through a search of the network).
  • User B 1 can then download the latest versions of the collaboration file from sources that have the latest version.
  • User B 1 now can edit the file unless another user is already editing the file as described above.
  • User A uses a trusted Peer-to-Peer network to create and share a series of bookmarks and World Wide Web (WWW) links.
  • User A first defines a collection of bookmarks or WWW links that they want to share with their trusted peers.
  • User A further decides that other users can add to the bookmark collection but may not delete from the collection, nor delete the collection entirely.
  • Access permissions for the collection are relayed to the editing server.
  • Authorized persons can add to this collection as follows: A user accesses the collaboration collection of bookmarks and wants to contribute to the collection. A message is sent to the editing server that a user wants to contribute to the bookmark. The editing server checks whether the bookmark file is the latest version of the collection. If it is not the latest version, the user is given the option to update. Since the permission for the collection is addition only, there is no need to lock the collection while it is being edited. The user can proceed to edit the collection of bookmarks. Once the update is finished, the user sends a message to the editing server. The editing server updates its information on the latest version of the collection. Users within the network can access and contribute to this collaboration collection of bookmarks depending on the access permission provided by User A.
  • User A wishes to synchronize a synchronization object with other trusted peers.
  • the object can be any type of digital file and may comprise entire folders or directories.
  • User A first defines the synchronization object using the client software.
  • the client software sends a message to the synchronization Server that includes at a minimum a description of the object and the degree of separation needed to access the object.
  • the users can obtain the object from User A or from other users within User A's trusted network that have the most recent version of the object. Each user that has the object can then invite their trusted peers to download the object. This process can continue throughout the social network.
  • the synchronization server compiles a list of users on the network who possess copies of the synchronization object. Once a list of synchronized users is created, whenever one of the users makes changes to the object; it will trigger the preset rules of behavior for the synchronization server for that particular change. For example, User B adds a file to Folder A in User B's local shared directory. A message is sent to the synchronization server notifying it there a new synchronization object has been added.
  • the synchronization server then sends a message to all members that have that object and notifies them of the new addition.
  • User A, C and B 1 can download the latest addition from User B.
  • Users A, C or B 1 can also become a source of the new file.
  • the initiator of the synchronization object retains the rights to modify the object while all other trusted individuals can duplicate the object but cannot modify it.
  • the synchronization feature functions in a fashion that is analogous to broadcasting.
  • User A creates a synchronization object using the client software.
  • the client software sends a message to the synchronization server including this information.
  • All of the trusted peers of User A receive a message from the synchronization server that asks them if they wish to accept the object. If they accept, these users can obtain the object from User A or anyone on User A's list that has the most recent version of object.
  • User A has trusted peers B, C, D and E. Users B, C, D, and E receive a message from the synchronization server identifying the fact that User A has a synchronization object available.
  • Users B and C accept the object. User B then downloads the object from User A first. Once B has downloaded some portion of the object, User C can download the object from either User B and/or User A. Users D and E do not accept the file and will not be contacted again with regard to this object.
  • each user that has the object can invite their trusted peers to download the object. Their trusted peers can, in turn, also invite their trusted peers if the object.
  • the synchronization server compiles a list of trusted peers that have the object. Whenever User A makes changes to the object, it will trigger the rules of behavior for the synchronization server for that particular change.
  • the synchronization server notifies the users on its list that a new version of the synchronization object is available for download. Only changes from User A will trigger updates to other owners of the object. Users wishing to be deleted from the synchronization list can send instructions to the synchronization server.
  • the initiator of the synchronization object uses the synchronization feature as a means of backing up files on a computer.
  • User A defines a folder (“Backup”) on his computer as a sync object.
  • User A wants to back up this folder on the hard drive of his trusted peers, Users B and C.
  • the synchronization server contacts B and C and asks them if they are will accept A's request.
  • folder (“Backup”) is copied to the hard drive of Users B and C respectively.
  • User A can set the properties for the Backup folder so that objects in the folder are updated every time the folder is changed.
  • User A can also specify that the Backup folder is locked and that Users B and C cannot access the contents of the Backup folder on their local disk. This could be accomplished, for example through the use of encryption or password protection. This system is possible without lengthy negotiation because a relationship of trust already exists between Users A, B and C.
  • the present invention can also be used to setup an electronic marketplace for digital goods.
  • markets are created when the system can assign an explicit value to the transactions between users on their trusted social network. Markets differ in the information being tracked when an item is transferred between two users. For markets based on transactions, the system automatically assigns value based on the interaction between two socially related users. For market based on transfer of digital right, an additional service, known as a digital rights manager, is required to track the legitimate ownership of a particular piece of content. A natural extension of this concept is in the transfer of non-digital goods.
  • the following systems are not mutually exclusive and can be used in conjunction with each other.
  • FIG. 33 is an example of an electronic market built on a trusted social network according to one embodiment of the present invention.
  • the main components of this electronic market involve:
  • An electronic market is thereby created which assign value to an activity over the network.
  • FIG. 34 illustrates an electronic market built on a trusted social network based on the transfer of digital rights.
  • the system requires the addition of a DRM (Digital Rights Management) server, to manage the rules and regulations governing the ownership of the object, for example copyrights, licenses and the like.
  • DRM Digital Rights Management
  • the main components of this system are:
  • Initial DRM information User A 1 sends the Digital Rights Management (DRM) 165 information to the DRM server 160 .
  • DRM Digital Rights Management
  • Trusted peer of User A can request and obtain item.
  • a trusted peer of User A 1 defined as User B 9 , who is already authorized to be on the system can now obtain the item 120 from User A 1 once any necessary negotiations regarding rights have been concluded.
  • Socially related users can access Any connected users that are related to User A 1 or User B 9 , in this case, B n 70 (n representing the degree of separation from User B 9 ) can also obtain the item 120 depending on the permission first setup by User A 1 and subsequently, all the other related users.
  • the DRM information 165 is sent to the local digital rights manager 160 installed on the local system 170 .
  • the local accounting service 140 reports the digital rights information to the DRM Server 160 on the trusted servers 3 .
  • the DRM Server 160 can then assign the appropriate access rules and regulation governing the use of the item as defined by the digital rights owner, namely User A 1 .
  • DRM server can therefore effectively enforce copyrights in digital files in a flexible and effective manner throughout the network.
  • the social element of this network provides an additional level of security and enforcement for transactions involving digital rights.
  • An electronic market built on a trusted social network as described herein can also be used for the trading of non-digital goods.
  • This embodiment describes the use of the electronic market to exchange non-digital goods. Additional requirements to implement this example are the availability of a unique identifier for the object of interest and a Rights Management (RM) server.
  • unique identifiers include but are not limited to the following: manufacturer's serial numbers, Radio Frequency Identification (RFID) tags and/or Universal Product Code (UPC).
  • RFID Radio Frequency Identification
  • UPC Universal Product Code
  • the RM server will manage the rules and regulations governing the ownership of the object including copyright, licenses, assignments and the like.
  • FIG. 35 illustrates an electronic market built on a trusted social network based on the availability of unique identifiers for an object. The main components of this system are:
  • a RM server can therefore effectively enforce ownership in a flexible and effective manner throughout the network.
  • the social element of this network provides an additional level of security and enforcement for transactions involving non-digital goods.
  • a user on a trusted network decides that he or she wants to be a lender.
  • User A sends a message to the banking server containing information such as: the maximum amount of money the user is willing to lend, the desired interest rate for the loan, the repayment period and the degree of separation within which the user is willing to lend money. These preferences could be expressed as ranges to allow for negotiation between lender and borrower.
  • User B decides that he wants to borrow money.
  • the user sends a request to the banking server with information such as the amount of money that he requires, the interest rate that he is willing to pay, the loan period and the degree of separation within which he is willing to borrow money (Bn). Again, these preferences could be expressed in terms of ranges to allow for negotiation.
  • the banking server receives the request from User B and consults its database of lenders.
  • the primary determinant is the degree of separation; followed by the desired interest rate.
  • User B can now decide how to mix and match the loans to meet his desired $ 500 total. In this example, he chooses: Loan Desired request by Interest Period Lender B ($) rate (%) (months) A 100 5 6 A2 400 7 12
  • This information is sent back to the banking server, which then establishes a dialogue between lenders and borrower.
  • the banking server sends a message to each of the lenders that a user on the network has met their lending criteria and has requested money.
  • the lender can either accept or decline the offer.
  • User A receives a message from banking server that a user wishes to borrow $100 at 5% for 6 months.
  • User A 2 also receives a message from banking server that a borrower wishes to borrow $400 at 7% for 12 months. Users A and A 2 each have the option to accept or decline the request.
  • the lender accepts the request, they receive more information on the request for money and are prompted for the terms and conditions of the loan.
  • the lender then authorizes the money transfer to borrower.
  • the borrower receives the money and the Bank Server starts tracking the time and interest payments.
  • Conditions for account delinquency are pre-defined. Examples of delinquency conditions include: missed payments, frequent late payments or refusal to pay. If delinquency conditions are met, the Bank Server will carry out enforcement which may include temporary or permanent ejection from the network, alteration of reputation status, or other enforcement means as determined by the administrators.
  • the lender also has recourse to all normal means of collection and enforcement under the law.
  • the trusted social network as outlined herein can also be used as the basis for different types of auctions.
  • FIG. 36 is an example of an electronic auction where a user, defined as A, initiates and carries out an auction though this trusted social network.
  • the auction system can also support reverse auctions.
  • a reverse auction there is one buyer and many sellers. The buyer specifies what they want to purchase and offers it to many suppliers. Normally, each buyer must be qualified to ensure that the winner is suitable to the buyer. As a result this type of process will usually produce the lowest possible price when all sellers are of equal quality. Qualification is implicitly defined in a social network since access to the network is by invitation only. Therefore, this type of network is suitable for carrying out reverse auctions.
  • An example of a reverse auction is shown in FIG. 37 . A description of the main elements in this process is as follows:
  • the network according to the present invention represents a platform that can support a myriad of communication services.
  • Example 4 lists various communication services that can be implemented on a trusted social network.
  • IM Instant messaging
  • FIG. 38 is an illustration of how an IM service can be implemented according to the present invention. The process includes:
  • Voice over Internet Protocol is a technology for transmitting telephone calls over the Internet using packet-linked routes.
  • FIG. 39 is an illustration of how a VOIP service can be implemented on the network covered herein. The process includes:
  • FIG. 40 is an illustration of how an interactive video service can be implemented on the network covered herein. The process includes:
  • a push object can be any type of digital file such as a text file, an executable program file, a graphic file, a video file, etc. Users can also set the preferences for this file folder. In this example, the preferences set by the users are the maximum size of files that the user wants to receive, the file type, the maximum degree of separation of the sender from the User in order to accept a push object.
  • each user assigns the following properties to their folder.
  • Temp folder characteristics Maximum Degree of File size File type separation Users (MB) acceptable (n)
  • MB Maximum Degree of File size File type separation Users
  • n B 10 .txt 1 C 100 .avi 0 D 100 .avi 1 E 75 .avi 0 F 50 .avi 0 G 100 .avi 0 B1 100 .avi 1 B2 100 .avi 0 B3 100 .avi 1 C1 100 ,avi 1 C2 10 .avi 1 C3 100 .avi 0 D1 100 .avi 1 D2 100 .avi 0 D3 100 .txt 1
  • User A also specifies the trusted peers to whom she wants to send the file.
  • User A picks Users B, C, D, E, and F but not User G.
  • the push server checks the permissions for the temp folder and asks each designated user whether they want to receive the file. If the answer is no, these users will not be contacted regarding this object again. If the answer is yes, the users may obtain the file from User A or anyone of A's trusted peers that also have the file.
  • Users C and D accept the push object but User E rejects the file. Users C and D can receive the push object from User A. As soon as Users C and D receive portions of the push object, they can then be a source for the push object. The push object can be distributed to other members of the social network until the degree of separation as defined by the creator of the object is met.
  • User D chooses trusted peers D 1 and D 2 as recipients for the push object.
  • RSS is a XML content syndication standard that provides an XML-formatted feed consisting of an abstract of content and a link to a document containing the full content.
  • RDF Resource Description Framework
  • the application of the present invention is not limited to the communication or the transfer of electronic files but can also extend to the sharing or grouping of resources both electronic and non-electronic.
  • the common element in the resource sharing through a social network is the addition of a trusted source that manages the resources.
  • the following are representative examples of resource sharing on this type of network.
  • FIG. 41 illustrates an application of resource sharing according to one embodiment of the present invention. Major steps in this process are:
  • resources can be grouped and shared on a trusted network according to the preference of each individual user.
  • FIG. 42 illustrates an application of resource sharing according to one embodiment of the present invention for the case of resource delivery by a trusted authority. Major steps in this process are:
  • resources can be grouped and shared on a trusted network according to the preference settings for each individual user.
  • FIG. 43 is an illustration of this example. Major steps in this process are
  • resources can be grouped and shared on a trusted network according to the preference of each individual user and the delivery of the resources does not have to occur via a trusted intermediate.
  • FIG. 44 is an example of information between managed on a trusted social network according to one embodiment of the present invention. Major steps in this process are:
  • An application of the present invention can be used to allow users of a trusted Peer-to-Peer network to play electronic games via the network. Since most games are played between friends, the trusted social network becomes a natural electronic extension of the real world. Many on-line games allow players to organize into “clans” or “guilds” for cooperative or team play.
  • the trusted Peer-to-Peer network can be applied to facilitate such organization. Examples of games include, but are not limited to, the following: poker, chess, scrabble, real time strategy games, first person shooter games, multi-player role playing games and the like.
  • FIG. 45 illustrates an application of gaming on a trusted Peer-to-Peer network according to one embodiment of the present invention. Major components in this process are:
  • FIG. 46 illustrates how the system allows a user to broadcast a message to users that are related socially.
  • the main components are:
  • Examples of the message 120 include but are not limited to: a text message, a URL, a graphic or a multimedia file.
  • User A 1 must first be identified and receive authorization from trusted servers 3 to access the network.
  • This example illustrates the ability to create a direct marketing campaign to users of a social group using the present invention.
  • a social Peer-to-Peer network can also be applied in a business environment.
  • the essential nature of the network does not change but the terminology describing the elements of the network might be modified depending on context.
  • the social network is related to a collection of roles within an organization with the trusted relationship between users being defined as a result of those roles.
  • the following examples illustrate applications of the present invention in a corporate setting.
  • Multi-level marketing also known as network marketing (NM), affiliate marketing, or home based business franchising
  • NM network marketing
  • NM network marketing
  • FIG. 47 is an example of MLM operation on a network according to one embodiment of the present invention.
  • the network is configured to be the same as the advertising network as described in Example 7 but the roles and responsibilities of each component reflects the needs of a MLM business.
  • the main components are:
  • FIG. 48 is a summary of a network created to support the production of a film.
  • resources can be grouped and shared on a trusted network according to the preference of each individual user.
  • FIG. 49 illustrates the use of the present invention for a film festival in the case of sharing previews for the film festival.
  • the network configuration is based on Example 1, file sharing on the network.
  • the main components are:
  • the present invention can also be used in the medical industry for diagnostic and collaboration.
  • An example such an application is provided in FIG. 50 .
  • This application is similar to the process described in Example 5D.
  • medical information for example, test results or medical history are being shared on the network.
  • Each user can represent a stakeholder in the medical industry, for example, specialists, the patient or the medical technologist.
  • Major steps in this process are:
  • information can be edited, manipulated, grouped and shared on a trusted network according to the preference of each individual user without the need to explicitly request permission from a central authority such as the trusted servers.
  • the role of the trusted server is simply to initially verify the identity of the user.
  • Example 2 B an electronic market built on a trusted social network based on the transfer of digital rights
  • a film company can deliver a movie over a trusted network.
  • the DRM (Digital Rights Management) server not only manages the rules and regulations governing the ownership of the object but also can enforce payment.
  • the main components of this system are:
  • a new type of retail store is created based on a social Peer-to-Peer network according to one embodiment of the present invention.
  • Each individual user can act as both consumer and distributor enjoying the benefits of network and efficient distribution.

Abstract

A system for a plurality of users to share resources with access, control and configuration based on pre-defined relationships of trust between the users of the system. A computer-based authority provides the services of authentication, identification and verification of each user within network. Processes are described that leads to the formation of an electronic community, which facilitates electronic communication and transactions in a defined manner.

Description

    BACKGROUND
  • The history of computing and computer network architecture can be viewed as a spectrum falling between a more centralized approach in a Client-Server environment and the decentralized approach of a Peer-to-Peer environment. Each architecture has been used to build electronic communities and create various forms of computer services.
  • A simple example of a Client-Server environment is a website. A website is a service provided by a web server. Third party computing devices access the website by connecting to the web server through a network connection (via the Internet, through a Local Area Network or the like). One problem associated with Client-Server environments is that the server and the bandwidth required to service the number of request must also be able to scale with the growth of the number of third party devices seeking to access the server.
  • Alternatively, Peer-to-Peer environments are networks in which each computing device connected to the network can have equivalent capabilities and responsibilities. Peer-to-Peer environments are generally simpler to create and maintain than Client-Server environments and, at present, do not offer the same performance under heavy loads. Examples of Peer-to-Peer networks are file sharing networks such as Napster (http://www.napster.com), E-donkey (http://www.edonkey2000.com) or Kazaa (http://www.kazaa.com). Each of these examples allow for direct connections between individual computing devices in the network to exchange files. The problems associated with Peer-to-Peer networks involve, among others a lack of security, control and authenticity of the requested files. There are no limits on access to these networks and therefore users have no way to ascertain the quality or source of the received file. This lack of security hampers the utility of Peer-to-Peer environments because users are unwilling to allow strangers access to their systems.
  • Mixed Client-Server and Peer-to-Peer system can be developed. For example, U.S. Pat. No. 6,366,907 to Fanning et al. discloses a centralized database to locate resources within a peer-to-peer network. However, Fanning et al. do not address the problems of security or control.
  • There is therefore a need for an environment that provides for a network that provides a solution to the problems of scalability of Client-Server environments as well as a solution to the security or control problems associated with Peer-to-Peer environments. The present invention addresses such a need as it uses a Client-Server environment to identify, authenticate and control access to a Peer-to-Peer network. In addition, this invention applies the ideas of pre-existing social relationships characterized by trust to the access control of the Peer-to-Peer network to create a flexible and secure network.
  • The importance of social relationships and social networks were publicly recognized by Milgram in “The Small World Problem”, Psychology Today, May 1967. pp 60-67. His theory, known as the “Six degrees of separation” or “The Small World Problem”, suggests that anyone on the planet can be connected to any other person on the planet through a chain of acquaintances that has no more than five intermediaries. Based on this idea, in U.S. Pat. No. 6,175,831, Weinreich, et al. describe a process to build a database of linkages, and, in U.S. Pat. No. 6,360,222, Quinn describes a process to modify directory structures. However, neither Weinreich nor Quinn address the creation of a flexible network based on the concept of social relationships in a Peer-to-Peer computing environment and do not address the issue of identification and authentication when accessing network services.
  • U.S. Pat. No. 5,941,947 to Brown et al. describes a system and method for controlling access to data entities in a computer network using the concept of control access rights list (ACL) to assign network privileges to users and groups of users. The disadvantage of this design is that it does not allow users to communicate with one another in a Peer-to-Peer environment.
  • U.S. patent application Ser. No. 10/165,330 assigned to Yeager et al. and U.S. patent application Ser. No. 10/285,133 assigned to Yeager and Chen, describe the creation and distribution of a trust mechanism within a Peer-to-Peer network. In their implementation, trust is a value that is quantitatively calculated through the interaction of peers or determined a priori as a numerical value by the user. The total trust and risk of an object on their network can then be established as a path summation of the nodes that offers the object. The disadvantage of this design is that it requires a series of interactions between users on the network before a level of trust can truly be established. There is no provision for ratings based on pre-existing relationships of trust. In addition, the work of Yeager et al., does not provide a mechanism to identify and authenticate a user and relied on their defined “Trust mechanism”.
  • The key element in the establishment of a social network is the implicit understanding of the concept of “trust” between known users of a social network. Trust is defined in Merriam-Webster's Dictionary as “assured reliance on the character, ability, strength, or truth of someone or something”. The nature of trust has proved to be elusive and has been discussed extensively in the context of philosophy. The practical implications of trust can be explained using game theory, human physiology and psychology. The concept of trust also forms the basis of corporate strategy, and economics and sociology.
  • In the Republic (Plato, 390 BC), Plato suggests that trust exists because of the rules governing social transactions and the fear of punishment for disobedience. In this world view, self interest is the major component of trust (see for example, Niccolo Machiavelli (1513), The Prince and Thomas Hobbes (1651), Leviathan, or the Matter, Forme, and Power of a Commonwealth, Ecclesiasticall and Civil). In contrast, other worldviews introduce the properties of innate goodness of man, sympathy (for example, David Hume (1739), A Treatise of Human Nature) or shared morality (Immanuel Kant (1790), The Science of Right) as the basis for trust.
  • Strategic interactions among humans can be described using mathematics. This was first demonstrated by Von Neumann in Theory of Games and Economic Behavior (1944) in the field of game theory. In game theory, it can be shown that there are optimum strategies for dealing with given situations or confrontations and the strategy depends on the goals of rational participants. For example, there are different strategies depending on whether one's objective is to maximize the probability of achieving a goal, maximizing one's gains, minimizing one's losses or risk, or ensuring that one's opponent suffers the greatest damage. A classical example of game theory is known as the “Prisoners' Dilemma” (A. W. Tucker (1950), memo republished in On Jargon: The Prisoner's Dilemma, UMAP Journal 1, 101, 1980) which established the value of trust among participants. In this hypothetical situation, the best possible outcome for the group as a whole occurs if each user trusts each other. In contrast, the worst possible results for the group occur when each user acts in their own interest.
  • Social organizations both formal and informal are a trait shared by all human beings. Interaction between relatives, family and kin can be explained based on a biological imperative. By including the element of trust to the psychological development of man, explanation of human interactions can be extended to friends and other members of social groups, businesses, communities, cultures and even nations. Elements involved in trust in a sociological context includes an expectation of future cooperation and a sense of reciprocity.
  • Trust is also recognized as a valuable component of business strategy (see for example, Robert Bruce Shaw and Jossey-Bass (1997), Trust in the Balance: Building Successful Organizations on Results, Integrity, and Concern, Jossey-Bass Business & Management Series). Trust exists within the human behaviour spectrum of confidence (result of specific knowledge built on reason and facts) and faith (belief that is largely immune to contradictory information or events). Trust for an individual can be characterized as a belief that those on whom the individual depends will fulfill that individual's expectations of them. In a sense, therefore, predictability of behaviour engenders trust. For individuals, varying levels of trust can be established based on fulfilling expectations, acting with integrity and being empathetic.
  • The concept of trust is also a key element in the theories of macro-economics. In this context, trust can be characterized as an expectation within a community that users of the community will exhibit regular, honest, and cooperative behaviour, based on commonly shared norms. The existence of trust creates social capital, which in turn determines the size of firms, businesses and even economies.
  • The ability to collaborate on and to edit documents, share views and activities is an important function of a network. Previously, such activities were carried out in two ways: either via a Web-based content management system (CMS) or through a Peer-to-Peer collaborative environment. In a Web-based system, the resources are located in one central location with specific functions provided by a web server and a database (see for example, CMS Review 2005 at http://www.cmsreview.com). In decentralized systems, individual machines execute local programs to create a shared environment connected by a network (see for example, U.S. Pat. Nos. 6,859,821; 6,640,241; and 6,446,113 to Ozzie et al.). However, in a web-based system, a central computer is required which can be complicated to setup and maintain. In a pure Peer-to-Peer system, the management of access control can be quite burdensome. There is therefore a need for a network which can be easily established, added to and maintained but where authentication of users is managed. In the present invention, where the users are all connected by pre-existing relationships characterized by trust, access issues are easily dealt with and each trusted peer computer can collaborate and edit information using local resources.
  • Traditionally, borrowing and lending activities are carried out through financial institutions such as banks or informally. In 2005, Zopa™ launched the first peer-to-peer lending network in the United Kingdom (http://www.zopa.com/). Zopa™ syndicates loans requested by “borrower” members out to “lender” members, based on criteria and parameters set by both parties. One main important criterion for lending is the credit-worthiness of the borrower (for more information see http://news.bbc.co.uk/1/hi/business/4325761.stm). Zopa™ allows strangers to lend money to strangers. Access to the system is contingent upon the users passing a credit check.
  • SUMMARY OF THE INVENTION
  • An object of the present invention is to provide a system for a plurality of users to share resources. In accordance with an embodiment of the present invention, there is provided system for a plurality of users to share resources comprising: one or more software clients, each of said software clients installed on a computing device; one or more trusted servers; one or more communication means allowing communication between said one or more trusted servers and said one or more software clients, wherein said trusted servers comprise: a network interface operable to receive data packets from the software clients and further operable to send processed data packets to the software clients; a processing engine in communication with the network interface, said engine operable to associate each data packet with an identifier and to thereby provide said processed data packets; a database containing an identifier associated with each software client in said system, and wherein each identifier in said database is related to each other identifier by means of a criterion, wherein said criterion is the degree of separation between one user of a software client and a second user of a software client based on a pre-existing relationship of trust, as defined by said users.
  • In accordance with an alternative embodiment of the present invention, there is provided a system for a plurality of users to share resources, said system produced by the following process:
      • a) providing a software client to a first user for installation on a first computing device;
      • b) receiving a first set of data packets relating to said first user from said software client to one or more trusted servers via one or more communication means;
      • c) compiling a database of said first data packets;
      • d) receiving a second set of data packets relating to at least one second user with whom said first user has a pre-existing relationship defined by a criterion, wherein said criterion is trust, as defined by said first and second user;
      • e) adding said second set of data packets to the database and relating said second set of data packets to said first set of identifying data by means of said criterion;
      • f) providing the software client to the second user for installation on a second computing device;
        wherein, said first, second, or new user can repeat steps b to f resulting in additional users being added to said system.
  • In accordance with an alternative embodiment of the present invention, there is provided a method of searching for information, resources or services contained on a computing device connected to the system of claim 1, based on the properties of the object as well as criteria as specified by the user wherein the search can be conducted either by said software client or be the trusted server.
  • In accordance with alternative embodiment of the present invention, there is provided a method for creating a market on a system for a plurality of users to share resources, said method comprising the following steps: establishing a network of computing devices used by two or more users wherein each of said users possesses a unique network identifier and wherein each unique identifier can be related to each other unique identifier based on a criterion, wherein said criterion is the degree of separation between one user and another user based on a pre-existing relationship of trust, as defined by said users; and providing a market server connected to said network wherein said computing devices can exchange processed data packets with said market server; wherein said processed data packets relate to the buying and selling of goods and wherein said market server coordinates interactions between said users of said computing devices.
  • In accordance with an alternative embodiment of the present invention, there is provided a method for creating an auction on a system for a plurality of users to share resources, said method comprising the following steps: establishing a network of computing devices used by two or more users wherein each of said users possesses a unique network identifier and wherein each unique identifier can be related to each other unique identifier based on a criterion, wherein said criterion is the degree of separation between one user and another based on a pre-existing relationship of trust, as defined by said users; and providing an auction server connected to said network wherein said computing devices can exchange processed data packets with said auction server; wherein said processed data packets contain information relating to the designation of objects that are available to be auctioned, and bids for said by one or more of said users; and wherein said auction server manages said processed data packets to manage and regulate auctions on said network according to pre-set rules.
  • In accordance with an alternative embodiment of the present invention, there is provided a method for playing games via a system for a plurality of users to share resources, said method comprising the following steps: establishing a network of computing devices used by two or more users wherein each of said users possesses a unique network identifier and wherein each unique identifier can be related to each other unique identifier based on a criterion, wherein said criterion is the degree of separation between one user and another based on a pre-existing relationship of trust, as defined by said users; and providing a game server connected to said network wherein said computing devices can exchange processed data packets with said game server; wherein said processed data packets contain information relating to a game in which the users are participants; and wherein said game server coordinates and manages the interactions between the users according to pre-set rules.
  • In accordance with an alternative embodiment of the present invention, there is provided a method for distributing one or more objects to members of a system for a plurality of users to share resources, said method comprising the following steps: establishing a network of computing devices used by two or more users wherein each of said users possesses a unique network identifier and wherein each unique identifier can be related to each other unique identifier based on a criterion, wherein said criterion is the degree of separation between one user and another based on a pre-existing relationship of trust, as defined by said users; providing one or more trusted servers connected to said network wherein said computing devices can exchange processed data packets with said one or more trusted servers; establishing a list of unique network identifiers corresponding to users who wish to receive the object and the location of a folder on said computing devices of said users designated to receive said one or more objects, said list located on said trusted servers; transmitting said one or more objects to said one or more trusted servers with instructions to distribute said object to the members on said list; and transmitting said one or more objects from said one or more trusted servers to the members of said list.
  • In accordance with an alternative embodiment of the present invention, there is provided a method for banking via a system for a plurality of users to share resources, said method comprising the following steps: establishing a network of computing devices used by two or more users wherein each of said users possesses a unique network identifier and wherein each unique identifier can be related to each other unique identifier based on a criterion, wherein said criterion is the degree of separation between one user and another based on a pre-existing relationship of trust, as defined by said users; and providing a banking server connected to said network wherein said computing devices can exchange processed data packets with said banking server; wherein said processed data packets contain information relating to communication between said two or more users relating to borrowing or loaning money from one of said two or more users to another of said two or more users; and wherein said banking server coordinates and manages the interactions between said users according to pre-set rules.
  • BRIEF DESCRIPTION OF THE FIGURES
  • Further features of the invention, its nature and various advantages will be more apparent from the accompanying drawings, and the following detailed description in which like reference numerals refer to like elements and in which:
  • FIG. 1 is a process diagram for setting up the Network according to one embodiment of the present invention.
  • FIG. 2 is a flowchart diagram for setting up the Network according to one embodiment of the present invention.
  • FIG. 3 is a process diagram describing the situation in which a new user is invited to join the network and contacted through a trusted server according to one embodiment of the present invention.
  • FIG. 4 is a flow chart describing the situation where a new user is contacted through the trusted servers according to one embodiment of the present invention.
  • FIG. 5 is a process diagram describing the process by which a user refers a friend to the trusted server according to one embodiment of the present invention.
  • FIG. 6 is a flow chart describing the situation where a user is referred by a friend to the service according to one embodiment of the present invention.
  • FIG. 7 is a process diagram describing the process by which a user establishes a relationship with another user of the network according to one embodiment of the present invention.
  • FIG. 8 is a flowchart describing the process by which a user establishes a relationship with another user of the network according to one embodiment of the present invention.
  • FIG. 9 is a process diagram describing the process of accessing to the network according to one embodiment of the present invention.
  • FIG. 10 is a flow chart describing the access process according to one embodiment of the present invention.
  • FIG. 11 is a process diagram describing the process to access to the network according to one embodiment of the present invention.
  • FIG. 12 is a flow chart describing the situation where the client logoff from the network gracefully according to one embodiment of the present invention.
  • FIG. 13 is a process diagram describing the situation where the client logs off from the network suddenly according to one embodiment of the present invention.
  • FIG. 14 is a flowchart describing the situation of sudden client logoff from the network according to one embodiment of the present invention.
  • FIG. 15 is a process diagram describing searching other trusted clients with information passing directly back to the initiator according to one embodiment of the present invention.
  • FIG. 16 is a flow-chart diagram describing the process of searching other trusted clients with information passing directly back to the initiator according to one embodiment of the present invention.
  • FIG. 17 is a process diagram describing the process of searching for information on the computing devices of trusted peers with some degree of privacy according to one embodiment of the present invention.
  • FIG. 18 is a flow chart describing the process of searching for information on the computing devices of trusted peers with some degree of privacy according to one embodiment of the present invention.
  • FIG. 19 is a process diagram describing the process of searching for information located on the computing devices of trusted peers through the trusted servers according to one embodiment of the present invention.
  • FIG. 20 is a flow chart describing the process of searching for information located on the computing devices of trusted peers through the trusted servers according to one embodiment of the present invention.
  • FIG. 21 is a process diagram describing the process of transferring/exchanging/communicating through the network according to one embodiment of the present invention.
  • FIG. 22 is a flow chart describing the process of transferring/exchanging/communicating through the network according to one embodiment of the present invention.
  • FIG. 23 is a process diagram describing the process of transferring/exchanging/communicating through the network according to one embodiment of the present invention.
  • FIG. 24 is a flow chart describing the process of transferring/exchanging/communicating through the network according to one embodiment of the present invention.
  • FIG. 25 is a process diagram describing the process of service delivery through a relay according to one embodiment of the present invention.
  • FIG. 26 is a flow chart describing the process of service delivery through relay according to one embodiment of the present invention.
  • FIG. 27 is a process diagram describing the process of remote client access according to one embodiment of the present invention.
  • FIG. 28 is a flow chart describing the process of remote client access according to one embodiment of the present invention.
  • FIG. 29 is a process chart demonstrating an example of a file transfer through a trusted social network according to one embodiment of the present invention.
  • FIG. 30 is a process chart demonstrating an example of photo file sharing through a trusted social network according to one embodiment of the present invention.
  • FIG. 31 is a process chart demonstrating and example of video file sharing through a trusted social network according to one embodiment of the present invention.
  • FIG. 32 is a process chart demonstrating an example of remote access and file sharing through a trusted social network according to one embodiment of the present invention.
  • FIG. 33 is a process chart demonstrating a transaction based electronic markets on a trusted social network according to one embodiment of the present invention.
  • FIG. 34 is a process chart demonstrating an electronic market based on the transfer of digital rights according to one embodiment of the present invention.
  • FIG. 35 is a process chart demonstrating an example of extending the electronic market to include identifiable non-digital goods according to one embodiment of the present invention.
  • FIG. 36 is a process chart demonstrating an example of auction over a trusted network according to one embodiment of the present invention
  • FIG. 37 is a process chart demonstrating a reverse auction on a trusted social network according to one embodiment of the present invention.
  • FIG. 38 is a process chart demonstrating an application of instant messaging (IM) services on a trusted social network according to one embodiment of the present invention.
  • FIG. 39 is a process chart demonstrating Voice Over Internet Protocol (VOIP) services on a trusted social network according to one embodiment of the present invention.
  • FIG. 40 is a process chart demonstrating Interactive Video services on a trusted social network according to one embodiment of the present invention.
  • FIG. 41 is a process chart demonstrating an application of electronic resource sharing on a trusted social network according to one embodiment of the present invention.
  • FIG. 42 is a process chart demonstrating a process for non-electronic resource sharing on a trusted social network according to one embodiment of the present invention.
  • FIG. 43 is a process chart demonstrating a process for non-electronic resource sharing on a trusted social network where delivery of the resource is managed physically by a trusted peer according to one embodiment of the present invention.
  • FIG. 44 is a process chart demonstrating information collaboration and management on a trusted social network according to one embodiment of the present invention.
  • FIG. 45 is a process chart demonstrating playing games on a trusted social network according to one embodiment of the present invention.
  • FIG. 46 is a process chart demonstrating advertising to users through a trusted social network according to one embodiment of the present invention.
  • FIG. 47 is a process chart demonstrating the use of a trusted social network in the multi-level marketing industry according to one embodiment of the present invention.
  • FIG. 48 is a process chart demonstrating the use of a trusted social network in the process of film production according to one embodiment of the present invention.
  • FIG. 49 is a process chart demonstrating the use of a trusted social network in film festivals according to one embodiment of the present invention.
  • FIG. 50 is a process chart demonstrating the use of a trusted social network in the medical industry according to one embodiment of the present invention.
  • FIG. 51 is a process chart demonstrating the use of a trusted social network in the retail music/movie industry according to one embodiment of the present invention.
  • FIG. 52 is a flow chart describing the steps required to create and distribute an initial collaboration object using a trusted network according to an embodiment of the present invention according to one embodiment of the present invention.
  • FIG. 53 is a flow chart describing the steps required to edit a collaboration object using a trusted network according to an embodiment of the present invention.
  • FIG. 54 is a schematic describing the steps required to initiate a synchronization object and propagate the object throughout a trusted network according to one embodiment of the present invention.
  • FIG. 55 is a flow chart illustrating the steps required to become a lender using a banking service in a trusted network according to an embodiment of the present invention.
  • FIG. 56 is a flow chart illustrating the steps required to become a borrower using a banking service in a trusted network according to an embodiment of the present invention.
  • FIG. 57 is a flow chart illustrating the steps required to finalize a loan using a banking service in a trusted network according to an embodiment of the present invention.
  • FIG. 58 is a schematic describing the steps required to initiate a push object and propagate the object throughout a trusted network according to one embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
  • The present invention submits that acceptable social behaviour or trust can be codified as a security rule and through its implementation can create a secure electronic community. For example, the simple rule “I trust my close peers and will therefore allow them access to my computing device” can be extended to include “I trust peers of my peers and will therefore allow them access to my computing device”. This logic can be extended recursively until the list of immediate and extended social links are exhausted. The underlying social expectations inherent in a pre-existing relationship characterised by trust, forms the security rule for a Peer-to-Peer network. The trust that forms the basis of social relationships can also be found in the workplace. In such cases, the implicit trust is based on the roles of an individual within an organization. For example, the CEO of a company allows the vice presidents permission to access a company resource. The vice presidents can allow their managers access to the same resource without the intervention of the CEO or another central administrator. The implications for this type of environment are that each user, through their role within an organization, is responsible and can make resource access decisions. This role-based trust can once again form the basis of the security rule for establishing a Peer-to-Peer network. The criteria of trust therefore is defined independent of the actions occurring within the network, does not need to be quantitatively assigned, and is derived from pre-existing social networks.
  • The system is a combination of a Peer-to-Peer network and Client-Server network formed of computing devices designed to permit users to share resources. Users are understood to be human beings. Resources can include without being limited to: data, digital files, memory, processing power, and storage space. A computing device would be understood by a worker skilled in the art to include any electronic device with storage and computing capability and a communication means with which to communicate with other computing devices. Computing devices may include but are not limited to computers, cell phones, mp3 players, pagers, gaming consoles, handheld gaming devices, wireless devices, and personal digital assistants. The communications means would be understood by a worker skilled in the art to include any necessary elements of hardware, including but not limited to communications ports, wireless transmitter/receivers, wires or fibre optics, and software, including but not limited to telephony, e-mail, facsimile, Bluetooth®, TCP/IP, FTP, XML, and IRC, that allow a computing device to exchange data packets with another computing device.
  • Access, control and configuration of the system are based on user-defined social relationships. Trusted servers provide the services of authentication, identification and verification for each user within the network. The trusted servers are computing devices connected to the network that can identify, verify and authenticate users of the network. This process defines who the users are, for example by means of a login and password, and where they are located in relation to other users of the network, for example an IP address. The trusted server can confirm these facts as part of an authentication process. Authorization and some services are provided by the trusted servers in a client-server environment. Once users are authorized to access the system, interactions between users take place in a Peer-to-Peer environment.
  • A software client installed on each computing device connected to the network acts as an interface to allow the user to communicate with the trusted servers and other computing devices. Initial access to the network is controlled by each of the users who can invite members of their trusted social network to access the network. Once invited, a new user can download the software client, access the network and invite new members. Processes are described that lead to the formation of electronic communities, which facilitates communication between computing devices connected to the system and transactions between those computing devices in a defined manner.
  • As each user is added to the network they are assigned a criterion N, defined as the degree of separation relative to the other users on the network. For example, User A invites a trusted friend, User Z to join the system. User A and User Z have a degree of separation of 0, thus N=0. If User Z invites another trusted friend, User Z1 to join the network then User Z and User Z1 will have a degree of separation of 0 and User Z1 and User A will have a degree of separation of 1. Users of the system can define the required degree of separation necessary to access resources on their computing device. If User A wishes to restrict access only to his or her friends, he or she sets access rules to N equals 0. The effect of different definitions of N is explored in the following table:
  • Table 1. An example of network access based on degrees of separation.
    Degree of
    Separation (N) Description
    0 A trusted network, only friends can connect
    1 Only friends of trusted friends can connect
    2 Friends of trusted friends' friends can connect
    . .
    . .
    . .
    N is a very large Everyone who has social relations on the
    number network can connect
  • Once user are connected based on their defined properties, they can communicate and share services and resources. Some examples of interactions and services that are possible using this type of system are: transfer and exchange of electronic files, transfer or exchange of text messages and/or transfer and exchange of voice data, such as executable programs, digitized music, video and photo files, streamed media such as videos, remote access and file sharing, transaction based electronic markets, electronic markets of electronic and non-electronic goods and resources, auctions and reverse auctions, instant messaging (IM) services. Voices Over Internet Protocol (VOIP) services, interactive video services, electronic resource sharing such as hard drive space and processor capacity, non-electronic resource sharing, information collaboration and management, playing games, advertising, multi-level marketing programs, information distribution, distribution of digital content involving digital rights management, collaboration on projects involving editing and distribution of information, distribution and synchronization services for information, banking services, directed distribution incorporating push technology, and RSS feed services.
  • Due to the relationships of trust present between users of the system, the present invention allows users to share resources without the need to negotiate access on a case-by-case basis.
  • Alternatively, in a business or professional environment, pre-existing social relationships are replaced by roles that are pre-defined by the position and responsibility of the individual within an organization. The same trust and security issues exist and can be used to form networks using the present invention.
  • Although the embodiments discuss a single network of users linked through pre-existing social relationships it should be understood that the present invention may consist of an unlimited number of such social networks existing parallel to one another. If none of the members of two networks have a pre-existing social relationship to one another, members of one network will be unaware of the existence of members of the other network or networks for the purposes of interaction via the system.
    Figure US20060259957A1-20061116-P00001
    Figure US20060259957A1-20061116-P00002
    Figure US20060259957A1-20061116-P00003
  • The process diagrams shown in the figures provide a high level view of the specific processes. The system is comprised of various steps outlined below, with the numbers in brackets representing the corresponding steps in the detail process description and the corresponding flowchart:
  • Setup (0000-0100)
  • Propagation (0100-0499)
  • New User Contacted Through trusted server (0100-0499)
  • Direct User-to-User Contact (0300-0402)
  • Linking known clients (0400-0499)
  • Logon-Logoff from Client (0500-0799)
  • Logoff gracefully (0600-0699)
  • Logoff suddenly (0700-0799)
  • Searching (4000-4999)
  • Searching through trusted Client (4000-4099)
  • Searching through Location Server (4100-4250)
  • Transfer/Exchange/Communications (5000-5999)
  • Remote access (6000-6099)
  • Setup (0000-0100)
  • Referring to FIG. 1 there is generally shown an overview of the setup process for the system according to one embodiment of the present invention. The user 1 uses a computing device 2. The computing device 2 has a software client 6 installed on it, which is supplied from a legitimate source, such as a CD bought from a merchant or downloaded from the trusted servers 3. The software client 6 is a software interface that manages the flow of data between the computing device 2, the trusted servers 3 and other computing devices connected to the network. The computing device 2 can be any digital device with sufficient capacity to run the software client 6 and to exchange data packets with other computing devices. The computing devices 2 include, but are not limited to, a computer, cell phone, mp3 player, pager, gaming console, handheld gaming device, wireless device, personal digital assistant and the like. The trusted servers 3 are computing devices connected to the network that can identify, verify and authenticate users of the network. The user 1 uses the software client to connect to the trusted servers 3 and the rest of the network. The software client can run on any computing device that has the capacity to store and process digital information and one or more communication means 4. The communications means 4 would be understood by a worker skilled in the art to include any necessary elements of hardware, including but not limited to communications ports, wireless transmitter/receivers, wires or fibre optics, and software, including but not limited to telephony, e-mail, facsimile, Bluetooth®, TCP/IP, FTP, XML, and IRC, that allow a computing device to exchange data packets with another computing device. The user 1 of a computing device 2 communicates with the trusted servers 3 by means of the communications means 4, downloads the software client, completes the setup process and is designated as User A 1.
  • FIG. 2 is a representation of the same process as a flowchart. Descriptions of the steps required in the process are as follows. In steps 0010A to 0010C of the process, the user 1 contacts the trusted servers 3 through an appropriate communication service 4 and downloads the software client 6. In an alternative embodiment of the present invention, the user 1 obtains the software client 6 from an offline source such as a software store. After the installation of the software client 4, the user 1 can now be known as User A 1. Once the software client 6 is installed, step 0020 is for User A 1 to activate the software client 6. The software client 6 queries User A 1 for setup information (D0020). In one embodiment of the present invention, the setup information (D0020) contains the contact information for User A 1 (e.g. Telephone number, e-mail, mailing address). In an alternative embodiment of the present invention, the setup information also includes demographic information such as gender, age, salary range, education, occupation, and other points of contact. User A 1 enters the required setup information D0020 which is sent through communication service 4 to trusted servers 3. In steps 0030A and B, trusted servers 3 receive the setup information (D0020) and send an automatically generated authentication message (M0030) to User A 1 based on the contact information specified in D0020. This step represents a confirmation of contact information provided by the software client 6. In step 0040, User A 1 receives the message. User A 1 now has a choice of actions after receiving information (M0030) from the trusted servers 3. In step 0045 User A 1 accepts the terms and conditions of use and, in step 0046, sends acceptance to trusted servers 3. The trusted servers 3 then create an account for User A 1. In step 0050B, User A 1 declines to accept the terms and conditions of use for the network, this refusal is send to the trusted servers 3. The trusted servers 3 note that User A 1 has abandoned the signup process. In steps 0055A to E, User A 1 does not act on Message (M0030) after a set period of time. The trusted servers 3 assume that the application has been abandoned. Alternatively, steps 0060A and B assume that the authentication message (M0030) was returned to trusted servers 3 with an error condition for message delivery. Examples of error conditions include but are not limited to a bounced back e-mail, a busy signal on a telephone or a returned mailing. In step 0065 the trusted servers 3 take note of the failure and reacts accordingly, either by abandoning the application process or repeating attempts to contact User A 1.
  • Propagation (0100-0499)
  • Propagation describes the process of how a user, in this case, User A adds another user whom they trust as a result of a pre-existing relationship (e.g. friends, family, and co-workers). This process can be repeated indefinitely to build up a list of trusted peers for User A.
  • User A can add a trusted peer in three ways:
  • ask trusted servers to contact a new user;
  • direct new user to the trusted servers, or
  • linking two users already on the network.
  • Each of these scenarios will be described in more detail as follows.
  • New User Contacted Through Trusted Servers (0200-0299)
  • With reference to FIG. 3, in one embodiment of the present invention, a user of the network, User A 1, initiates the process of adding a new user by sending the contact information of a trusted individual to the trusted servers 3. In an alternative embodiment of the present invention this process can take place at the same time as User A 1 initially joins the network. The new user, in this case defined as User Z 7, is contacted by the trusted servers 3 and prompted to join the network. User Z 7 is a person with whom User A 1 has a pre-existing relationship of trust either through a social network or through predefined roles in an organization. With reference to FIG. 4, in step 0200 User A 1 logs on to the network and sends a message (D0200) to the trusted servers 3. Message D0200 is comprised of the contact information for another trusted peer Z 7, as defined by User A 1 (for example, telephone number, e-mail, etc.). This is the start of the referral process for a new user, in this case, referred to as Z, a trusted peer defined by User A 1. In step 0210 the trusted servers 3 receive message D0200 and initiate the referral process. In step 0215, the trusted servers 3 send a message (M0215) to User Z 7, through an appropriate communication means 4 (as defined by the contents of message D0200) inviting User Z 7 to obtain the software client 6 from the trusted servers 3. The message (M0215) comprises: Explanation of Service, How to Download Software Client from trusted servers. In step 0220, User Z 7 receives message (M0215), and then downloads and installs the software client 6. In step 0225 User Z 7 proceeds through the setup process defined above by steps 0020-0070, above. Once this process is complete, in step 0250, the trusted servers 3 send a confirmation message (M0250) back to User A 1 indicating that User Z 7 is now a user of the electronic community. Step 0280 is the end of new user signup process.
  • Direct User to User Contact (0300-0399)
  • In an alternative embodiment of the present invention, the new user is contacted by another user directly and prompted to sign up for the service. With reference to FIG. 5, User A 1 refers User Z 7 to a website where the software client can be downloaded and User Z 7 goes directly to this website. Alternatively, User Z 7 could obtain the software client through offline sources such as buying the software client on a CD from a store. The details follow and the accompanying flow chart is shown in FIG. 6. In step 0300 User A 1 sends a message (D0300) through an appropriate communication means 4 to a trusted peer, User Z 7, to tell them to sign up onto the network. Message (D0300) contains the location where User Z 7 can download the software client 6. In steps 0302A to C, User Z 7 receives Message (D0300), connects to the trusted servers 3 and proceeds through the Initial Setup process as discussed above in steps 0010-0100. In steps 0310A to C, after the account is set up, User Z 7 proceeds to define his or her relationship with User A 1 as outlined in process 0400-0499 below.
  • Linking Users Already on the Network (0400-0499)
  • In an alternative embodiment of the present invention, a user wishes to establish a linkage with another user that is already a member of the network. With reference to FIG. 7 both User A 1 and User Z 7 are users of the network with a pre-existing relationship characterized by trust but who are not related users on the network. User A 1 sends a message to the trusted servers 3, defining User Z 7 as a trusted peer. User Z 7 can accept or reject this new definition, by communicating with the trusted servers 3. With reference to FIG. 8, in step 0402, User A 1 sends data (D0402) to the trusted servers 3 defining User Z 7 as a trusted peer. Data (D0402) comprises the unique identifying information of User Z 7. In step 0410, the trusted servers 3 receive data (D0402) and send message (M0410) to User Z 7 notifying them of a request to create a relationship with User A 1. In step 0420 User Z 7 receives message (M0410) and takes one of several, alternative, actions. In step, 0422 User Z 7 accepts the request and sends acceptance (D0422) back to the trusted servers 3. In step 0424, User Z 7 declines the request and sends refusal (D0424) back to the trusted servers 3. Finally, in steps 0426A to E, User Z 7 ignores the request and the request is considered to have been refused after a set time has elapsed. In step 0430, the trusted servers 3 relay the action of User Z 7 to User A 1 and also note the action for the authentication and identification service.
  • Logon to the Network with the Client Software (0500-0599)
  • The process of access to the trusted network by a user using the client software is summarized in FIG. 9. The details of the process are shown in steps 0500-0599 and are represented by a flowchart in FIG. 10. In step 0502, User A 1 activates software client 6. In step 0506 the software client 6 contacts the trusted servers 3 through an appropriate communication means 4 and sends the identification information (D0506) which comprises a UserID and a Password. In an alternative embodiment of the present invention, the identification information can further comprise an e-mail address, communication port information or IP address, N (level of trust required to access the user's information, or a list of trusted peers (L0506). In step 0507, User A 1 undergoes an authentication process on the trusted servers 3. In one embodiment of the present invention the authentication process comprises comparing the UserID and password submitted by User A 1, with information stored on the trusted servers 3. In an alternative embodiment of the present invention, the authentication information further comprises biometrics data such as fingerprint or retinal scan, facial recognition, or other types of metrics that are designed to verify the identity of User A 1. In step 0520, User A's 1 identity is verified. Then, in step 0525, the trusted servers 3 generate information and instructions (M0520) which are sent to the Location Service 8, a software program. The information and instructions (M0520) include at the minimum the UserID and a list of trusted peers for the particular User. The Location Service 8 is a specialized service that has access to a database comprising the identifying information and connection point of each user on the network. The Location Service 8 is run by a Location Server which is considered to be one of the trusted servers 3. In one embodiment of the present invention, connection point is defined as a socket connection for a TCP/IP network. In steps 0530A to E, the Location Service 8 goes through a list and determines which trusted peers 7, 9, 10, 11 of User A 1 are currently connected to the network. The connection points of the users are summarized in a list (LIST0530). In step 0540, the Location Service 8 sends list (LIST0530) to User A 1. In step 0550, the list (LIST0530) has been received and User A 1 can now connect to each of the trusted peers on the list. The trusted peers of User A that are currently not connected to the network are identified as “not available”. In step 0560, the Location Service also goes through list (LIST0530) and notifies each user of the list, namely, User Z 7, User B 9, User D 10, and User C 11 that User A 1 is now available on the network. Alternatively, in step 0550, User A's 1 identity is not verified. The trusted servers 3 will not allow User A 1 to proceed further. Step 0599 is the end of the logon process.
  • Logoff (0600-0799)
  • In one embodiment of the present invention, there are two ways to logoff or disconnect from the network. The two ways are:
  • Logoff gracefully—when the user can exit the program using a series of predefined steps.
  • Logoff suddenly—when the connection was terminated abruptly.
  • Each of those steps is described in this section.
  • Logoff Gracefully 0600-0699
  • The process details regarding disconnecting or logging off from the network gracefully are summarized in FIG. 11. The details of the process are given in steps 0600-0699 and a flow diagram given in FIG. 12. The graceful logoff process begins at step 0602 where User A 1 decides to disconnect from the network and follows the standard logoff procedure. The logoff procedure comprises suspending all activities and, optimally, saving all key configurations. In step 0604, User A 1 uses the software client 6 to send a command to log off of the network (D0604) to the trusted servers 3. In step 0605, the trusted servers 3 execute the logoff procedure for User A 1. The trusted servers 3 inform the Location Server 8 that User A 1 is logging off. In step 0607, the Location Server 8 executes procedures to inform all the trusted peers of User A 1 that User A 1 will be unavailable. For example, User Z 7 will be informed that User A 1 is no longer available. In step 0610, the Location Server 8 sends message to the trusted servers 3 that User A's logoff procedure is completed. In step 0620, the trusted servers 3 send message to the software client 6 of User A 1 that it is allowed to shut down. In step 0675, the software client 6 of User A 1 completes the shutdown routine.
  • Logoff Suddenly 0700-0799
  • The process details for when a software client suddenly disconnects from the network is summarized in steps 0700-0799. A process diagram for those steps is given in FIG. 13 and the corresponding flow diagram for this process given in FIG. 14. In step 0700, User A 1 is suddenly disconnected from the trusted servers 3 (i.e. the connection point between the location server 8 and the software client 6 is severed, for example, due to an equipment or power failure). In step 0720, the client software of User A 1 attempts to reconnect to the trusted servers 3. In one embodiment of the present invention, the number of reconnection attempts is defined by a set condition, such as a finite number of attempts or a defined period of time. In step 0730, the attempt to reconnect fails. In step 0735, User A 1 executes logoff procedure. In step 0740, the Location Server 8 executes procedures to inform all the trusted peers connected to User A 1, namely 7, 9, 10, and 11 that User A 1 will be unavailable. In step 0745, the Location Server 8 sends message to trusted servers 3 that User A's 1 logoff procedure has been completed. As a result, in step 0750, the trusted servers 3 note that User A 1 is not on the network. Alternatively, in step 0760, User A l's attempt to re-connect with the trusted servers 3 succeeds. In step 0765, the trusted servers 3 note the new connection point for the User and, in step 0770 starts process 0525-0560 to inform User A l's trusted peers 7, 9, 10, 11 that User A 1 is again available. Step 0799 is the end of the sudden logoff process.
  • Searching 4000-4999
  • In one embodiment of the present invention, there are provided three ways of searching or discovering resources through the network. The processes are defined as:
  • Query through trusted clients including identification information
  • Query using relays
  • Query through the trusted servers
  • These three processes are not mutually exclusive and can be used in conjunction with each other to search the network.
  • Searching Through Trusted Clients Including Identification Information 4000-4099
  • In this type of search, the search is carried out on the trusted social network with the user identification being transmitted along with the query. This type of searching provides the least amount of privacy and anonymity to the searcher. The process details for searching through trusted clients are summarized in steps 4000-4099. The process diagram is given in FIG. 15 and the corresponding flow chart is given in FIG. 16. FIG. 15 is an example of a search carried out thorough three degrees of separation (N=3). User A 1 initially sends out a query to search through N=3 on the network. User A 1 is known as the initiator of the query. For this case, the query is sent to User Z 7 and User B 9. They in turn, forward the query from User A 1 to their list of trusted peers. From the perspective of User A 1, the search depth has now increased by one level and the search is now defined as a search of one degree of separation (N=1). This search continues through all the trusted peers in User A l's network until the depth of N=3 has been reached. In each case, the local computing device 2 of each user is searched to see if the objective of the query can be satisfied. For this example, User C 11, who is N=3 levels away from User A 1, can answer the query and communicates the response to the search directly with User A 1, the initiator. In this example, User D 10 who is authorized to be on the network but bears no social relationship to User A 1 will not be queried.
  • With reference to FIG. 16, In step 4010, User A 1 sends a message (M4010) containing a search query, the degree of separation (N) and identification information to each of the trusted peers on the network. User A 1 is known as the initiator of the query. In one embodiment of the present invention the search query can be comprised of, text strings, file descriptors, commands or instructions. In step 4012, the message is sent to one of the trusted peers of User A 1, for example User Z 7. In step 4014, User Z 7's software client decreases the parameter N by 1, then, in step 4016, it checks to see if N is less then 0 then proceeds to step 4022, performing a query of the system of User Z 7. Then, in step 4020, the client of User Z 7 sends a new message with the initial query and the new value of N to the trusted peers of User Z 7. These steps generate a recursive process that will search through all the clients related to User A 1 by N degrees of separation. In step 4025, the query is successful send message M4025 to the initiator. In this case, User C 9 sends back a message (M4025) to User A 1. In one embodiment of the present invention, message M4025 comprises the location and availability of the object and the parameter N. Alternatively, in step 4030, the query is unsuccessful and the search ends on that particular computing device. In either case, step 4099 is the end search.
  • Query Using Relays 4100-4250
  • In certain cases, the initiator of a query wishes to protect their anonymity or limit the knowledge of their identity only to their own trusted peers. In such a case, identification information of the initiator is not passed on with the search query through the trusted network. Each user queried is only aware of the identity of the user who forwarded the query to them, not the identity of the initiator. The process details for searching in this fashion are summarized in steps 4100-4250. The process diagram is given in FIG. 17 and a flow chart is given in FIG. 18. In FIG. 17, User A 1, the initiator of the query, performs a search that is defined for three degrees of separation (N=3). In this case, User A 1 sends the query to two trusted peers, User Z 7 and User B 9. Both User Z 7 and B 9 keep an internal record of the query and then pass on the query to the trusted peers on their list. For example, User Z 7 passes the query to Z1 12 and Zn 2. This process continues until the degree of separation of three (N=3) is reached. In each case, the User performs a search on their own computing device to determine if they can satisfy the query and records the originator of the query. In this example, User Z3 14 is finally reached and a local search on Z3's 14 system indicates that Z3 14 has an answer. The response to the query is passed back to the immediate user that submitted the query—in this case, User Z2 13. This process continues through the network until the initiator, in this case, User A 1, receives the answer. In this example, User Z3 14 passes the answer back to User Z2 13, who in turn passes the information back to Z1 12. Z1 12 passes back to Z 7 and finally Z 7 responds to User A 1.
  • In this method, only the trusted peers of the initiator know the identity of the initiator. The computing device for each User receives only the information on the last user to forward the query or to respond. With reference to FIG. 18, in step 4100, User A 1 sends a message (M4010) containing a search query, the degree of separation (N) to each of User A 1's trusted peers on the network and query identification information. The search query can be, but is not limited to, a text string, file descriptors, commands or instructions. The query identification information includes but is not limited to a unique identifier of a query, the originator of the query and the recipient of the query. In this case, User A 1's question Q1 is sent to User Z 7. In step 4102, the software client 6 of User A 1 creates a tracking list (L4101) of trusted peers that were forwarded Q1, namely, User Z 7 and User B 9 were asked the question Q1. In step 4113, on one of the trusted peers of User A 1, for example User Z 7, the software client 6 also creates a list to track the trusted peers (L4113) that will have Q1 forwarded to them. For example, all the trusted peers of User Z 7, 12, 13, 14 that are forwarded Q1 from User Z 7. In step 4114, the software client 6 of User Z 7 decreases the parameter N by 1. In step 4016, the software client 6 of User Z 7 checks as to whether N is less than 0. If N is greater than 0, the software client proceeds to step 4122, below and, in step 4018, amends the query identification in Q1 to be that of User Z 7. In step 4020, the software client sends a new message from User Z 7, with the new query identification information and the new value of N to each trusted peers as defined by User Z 7. For example, Q1 is forwarded to User Z1 12 and to User Zn 2. In step 4021, the software client 6 of User Z 7 creates an entry on the list (L4113) for each query sent to each particular trusted peer of Z 7. If, in step 4016 above, N is less than 0 then the software client does not forward the query on to further trusted peers. This series of steps generates a recursive process that will search through all the clients related to User A 1 by N degrees of separation as defined by User A 1. Once the above chain of steps is completed, the software client 6 proceeds to step 4122 and performs the query on the local computing device. If the query is successful the software client 6 moves to step 4125 and sends a message (M4125) to the user that requested the information based on the query identification information. For example, User Z3 14 sends message M4125 back to User Z2 13 that the search was successful. Message M 4125 includes but is not limited, to the location and availability of the object of the search. If the query is unsuccessful on the local computing device, the software client 6 sends a message (M4130) back to the contact as specified in the query identification information. Message M4130 comprises a report that the query was not successful. In step 4140, the software client 6 of the next user in the chain of communication checks to see if the message is 4125 (successful query) or 4130 (unsuccessful query). In step 4145, a software client 6 that receives the unsuccessful query message 4130, deletes this entry from the tracking List L4113. In step 4150, the software client 6 that receives message 4125 (successful query) searches on list L4113 to identify the queror and sends a response back to this initiator on the success of the query. This information is relayed from one trusted peer to the next until the original initiator of the query is contacted. As outlined in the process diagram, User Z3 14 can satisfy User A 1's query. User Z3 14 sends an affirmative message to Z2 13. User Z2 13 searches on list L4113 to see that Z1 12 forwarded the query to User Z2 13. Z2 13 then informs Z1 12 that Z2 13 has an answer to the query. This process continues until User Z 7 informs User A 1 that an answer to the query is available. At this point User A 1 can access the object of the query on User Z3's 14 computing device.
  • Searching Through Location Server 4300-4399
  • Search processes can also be carried out through the use of a search service that can be a part of the trusted servers. The search service in this case will be used to generate the list of users that need to be contacted, contact each user with the query, summarize the response and send this response back to the originator of the query. The process details for searching through the location server are summarized in steps 4300-4399. The process diagram is given in FIG. 19 and a flow chart is given in FIG. 20. In step 4300, User A 1 sends a message (M4300) containing a search query, the degree of separation (N) to the trusted servers 3. Again, the search query can be, but is not limited to, text string, file descriptors, commands or instructions. In step 4305, the search service 20 on the trusted servers 3 receives a message M4300. The search service 20 then generates a list (L4305) of all the trusted clients that can be reached by User A 1 based on N. In step 4310, the search service queries the location server 8 for the connection point for each of the trusted peers on list L4305. Then, in step 4315, the search server 20 contacts each of the trusted peers on list L4305 2, 7, 9, 12, 13, 14 and sends them a query based on message M4500. In step 4317, the software clients of the users on list L4305 receive the query and search the local computing device. If query is successful, the software client 6 of the user who can successfully respond to the search query sends back a message to the trusted servers 3. This message includes at the minimum the answer to the query. In step 4320, the search service 20 waits for a set condition to make sure that all contacted users have an opportunity to reply. In step 4325, the search service summarizes the results, which include at the minimum the answer to the query. In step 4330, the search service sends the results back to User A 1.
  • Services and Applications Over the Trusted Network 5000-5599
  • In one embodiment of the present invention here are provided three ways in which actions and applications can be carried out over the trusted network. The three ways are
  • Direct connection
  • Connection through a trusted proxy
  • Delivery though relays
  • Example of actions and applications are, for example,
  • Electronic resource sharing
  • Communication
  • Data exchange
  • Service sharing
  • The implementation details will be described in the following sections. More specific examples of actions and applications are described in the embodiments of the present invention described herein.
  • Direct Connections (5000-5200)
  • Direct connections can be established through the Login process (0500-0599). Through the Searching process (4000-4999) a user can be connected directly to another trusted peer on the network. In this case, any actions and applications can be carried out directly between the two users in a Peer-to-Peer environment. In this case the trusted servers supply location information to allow the software clients of two trusted peers to connect but are otherwise not involved. FIG. 21 is a process diagram illustrating this connection and FIG. 22 is the corresponding flow chart detailing the steps required in this process. In FIG. 21, User A 1 is directly connected to User Z 7 and therefore can exchange services. With reference to FIG. 22, the details of the process are described as follows. In step 5002, User A 1 establishes a link with User Z 7 based on information supplied by trusted servers 3. Users A 1 and Z 7 must be within the same network and have defined N such that they both fall within N for each other. In step 5005 a session is established that connects the two users. In step 5010 User A 1 defines an end condition and starts a count for the end condition. The end condition can be, for example, a time for the connection to last or could be defined by the time to complete a file transfer, etc. In step 5012, User A 1 sends a request to User Z 7. In step 5015, the software client on User Z's 7 computing device performs the action requested by User A 1. In step 5017, User Z 7 sends a response back to User A 1. In step 5020, if there is an interruption, such as a sudden disconnection caused by a power failure, the software client on User A 1's computing device, in step 5025 creates a set point, which can be used to restart action on reconnection. In step 5030, the software client of User Z 7, continues the action requested by User A 1 until end point is reached. In step 5200, the end condition is satisfied and the session is ended.
  • Connection Through a Trusted Proxy (5200-5399)
  • In some cases, direct connections cannot be established between trusted peers on the network due to the presence of a firewall or other protective measures available on a network. In this case, the user must first request a connection to a trusted proxy server before connecting to the other user. A proxy is a service that allows clients to make indirect network connections to other users. A User connects to the proxy server, and then requests a connection, file, or other resource available on another trusted peer. The proxy provides the resource, possibly by connecting to the specified user, or by serving it from a cache. FIG. 23 is a process diagram illustrating this connection through a trusted proxy and FIG. 24 is the corresponding flow chart detailing the steps required. In FIG. 23, User A 1, who is behind a firewall 40, first connects to a proxy 30 and then requests a connection to User Z 7. The trusted servers 3 then direct User Z 7 to the appropriate proxy 30. The actions or operations can then be carried out through the proxy 30. The details of the process are described as follows. In step 5201, User A 1 performs a search as described in process 4000-4999 and receives the information that User Z 7 has the required service. In step 5202, User A 1 requests a proxy connection from the trusted servers 3 because User A 1 and User Z 7 cannot connect directly. In this example, a proxy 30 is a service that allows the software client to make indirect network connections to other users. User A 1 and User Z 7 must be related by N degree of separation. In step 5205, a session is established that connects the two users through the proxy 30. In step 5210 an end condition for the length of the session is defined. In step 5215 the requested action is performed by User Z 7 through the proxy 30. In step 5217, User Z 7 sends a response back to User A 1 via the proxy 30. Step 5220 governs the possibility of an interruption in the connection between Users A 1 and Z 7. If an interruption occurs, in step 5225 the software client of the initiator of the connection, in this case User A 1 creates a set point which can be used to restart action on reconnection. In step 5230, the action is continued until end condition is satisfied. In step 5399 the end condition is satisfied and the session is ended.
  • Delivery Through Relay (5400-5599)
  • In some cases, a user wants to their identity to be known only to those users that the User trusts (i.e. users that are directly related to them i.e. N=0) but still wishes to exchange information with users with a greater degree of separation. Services and actions can still be delivered through a series of relays if the initial search and discovery for the services and action is performed using the search with some degree of privacy option (4100-4250). In which case, the application or service can be delivered based on the path developed by the search. The process diagram is given in FIG. 25 and a flow chart is given in FIG. 26. In FIG. 25, User Z3 14 has the service requested by User A 1. In order to deliver the service without User Z3 14 being aware that User A 1 has requested the service, User Z3 14 performs the service and delivers the result to the trusted peer Z2 13. User Z2 13 in turn delivers the result back to User Z1 12, and Z1 12 then delivers it back to User Z 7. User Z 7 finally fulfils the request of User A 1. Based on this scenario, User A 1 only knows that one of his trusted peers, namely, User Z 7, has responded to the request. User A 1 does not need to know that User Z3 14 is the one that actually fulfils the request. The connection between users can be a direct connection as described in steps 5000-5199 or connections via a proxy 30 as described in steps 5200-5399. A detailed description of service delivery through relays is as follows. In step 5402, User A 1 performs a search as defined in steps 4100-4250 on the network. However, in this case, the nature of the search requires that the initiator's privacy be protected. In step 5410, User A 1 requests a service based on the results of the search. In step 5420, the service request is passed to each user in the connection path between the initiator and the user that has the resources being requested. The identity of the originator of the search is only known to the first user in the connection path with whom User A 1 has an N of 0, in this case User Z 7. In step 5430, the service request reaches the user that has the resources, in this example, User Z3 14. In step 5500, User Z3 14 executes the service request and delivers the result back to the next user in the connection path who relays it to the next user etc. until it reaches the originator, User A 1. The delivery of the result can be via a direct connection as described in steps 5000-5199 above or through a proxy connection as described in steps 5200-5399 above. In step 5550, the initiator of the query, User A 1, receives the results of the User Z 7.
  • Remote Access and Control of the Software Client (6000-6099)
  • The services of the software client on a computing device can be accessed remotely if the proper communication, authentication and identification processes are built into the software client. The process diagram for remote access is given in FIG. 27 and the corresponding flowchart is given in FIG. 28. In FIG. 27, User A 1 remotely establishes a connection with his software client 6, for example, via an http connection, and undergoes an identification and authentication process. Once authorized, User A 1 can then control the local services such as searching and service requests remotely. In step 6000, User A 1 establishes a link through a communications means 4 with the software client 6 from an external system 2 and establishes a communication session. In step 6005, the software client 6 provides an authentication and identification process for the remote User A 1. In step 6010 the software client 6 reviews the identifying data provided by the remote User A 1. At this point, either, in step, 6020 authentication fails and the remote request will not be considered, or, in step 6030, the authentication succeeds and the remote request can continue until the session is terminated. In effect, the external system 2 can issue commands and receive replies through the communication link to the software client. In step 6099, User A 1 terminates the remote link and ends remote access.
  • Collaboration Between Trusted Peers
  • In an alternative embodiment of the present invention, there is provided a peer-to-peer social network with collaboration features.
  • Information is one particular type of resource that is ideally suited to be accessible and available on a trusted social network. Examples of information include but not limited to digital movies, digital music or different types of documents (e.g. text files, spreadsheets, graphic files, etc.).
  • FIG. 52 is a flow chart describing the steps required to create and distribute the initial collaboration object. In FIG. 52, steps A001-A020 represent the authentication steps. User A 1 must first be identified and receive authorization from the trusted servers 3 to access the network. Once authorized, User A 1 receives the most current contact list of trusted peers on the network. In step A20, User A 1 creates a piece of information using local resources on User A 1's computing device such as word processing software. This information is designated as a “collaboration object”. User A 1 saves the file on a shared directory and sets the file properties as being a collaboration object. In step A030, this designation of a new collaboration object is sent to the editing server 300. In step A050, the editing server 300 then relays this information to the trusted peers on User A's contact list, for example, User Z 7. User A 1, as the creator of the object, can set the degree of separation required to access the object. For example, by setting the degree of separation to 1 (n=1), only User A 1's trusted peers and their trusted peers can fully use this collaborative object. In steps A060 to A095, User Z 7 can decide whether to accept or reject the collaboration object. In steps A100 to A140, the editing server 300 offers trusted peers of User A 1 the opportunity to designate trusted peers who should receive the collaboration object. This process continues until all users within N have been invited to receive the collaboration object.
  • FIG. 53 is a flow chart describing the steps required to edit a collaboration object. In FIG. 53, steps A301-A320 represent the authentications steps as described above. In step A320 User A 1 wishes to edit an existing file that is marked as a collaboration object. In step A330, the client software 6 checks with the editing server 300 to determine whether another user is editing the same object. In step A340 the editing server also checks that User A 1 has the latest version of the collaboration object. In step A350, if a more recent version is available, User A 1 can download and review it prior to editing. If another trusted peer is editing the object, in step A365 the editing server notifies User A 1 that the object is in use and cannot be edited. Otherwise, in steps A380 and A390, the collaboration object is unlocked and User A 1 can proceed to edit the object using User A 1's local computer resources. Steps A390-A430 describe the process of completing the editing on a collaboration object. Step A440 is an optional step that informs all members that a new version of the collaboration object is available.
  • Similar to the process above, a trusted peer, who is connected to the network and who is a trusted peer of User A can query the editing server for new collaborating objects or edit the objects using local resources.
  • The editing server responds to queries based on the rules and regulations governing access to information and regulates the transfer of collaboration objects between trusted peers. The steps for information delivery are as follows:
      • a) The editing server notifies each trusted peer that an update to a collaborating file is available.
      • b) Each trusted peer has the choice of accepting or declining the update. This setting can be set to a default value so that a trusted peer will always obtain the latest versions.
      • c) Each trusted peer accepting the update receives the new object by downloading the latest version.
      • d) Trusted peers that have the latest update can become a source of the new object until the object is distributed to all trusted peers within the preset degrees of separation.
  • The editing server is connected to each member of the trusted social network to ensure that each member has the appropriate access to the information. Depending on the type of version control system required, the type of resource information control stored in the editing server is as follows:
      • a) Check in/check out—whether a file is being edited by another trusted peer.
      • b) Permissions—who can have rights to view and modify the file and to what degree of social relationship should the collaborative object be extended.
      • c) Most recent version—parameters that identify whether the file is the most recent version of the file.
      • d) Differences—rather then checking in the entire file, compare the differences between files and update the differences.
  • As a result of this system, information can be edited, manipulated, grouped and shared on a trusted network according to the preference of each individual user.
  • In an alternative embodiment of the present invention, users can share and synchronize objects such as files, folders, or local resources in a trusted network. Synchronization is a feature that allows multiple users of a trusted network to have objects such as files, folders, links or local resources with the same content. The system works by allowing a user to declare that an object should be managed by a synchronization server and that the object is to be shared amongst a designated list of trusted peers on the network. The synchronization server ensures that all valid users can access a copy of the object and also can receive updates if the object is changed.
  • The process of implementing a synchronization feature in a trusted Peer-to-Peer network is similar to that of collaboration as discussed above. The main difference is the introduction of a synchronization server that controls the flow of information and enforces rules, which are unique to the synchronization process. FIG. 54 is a flow chart describing the steps involved in initiating a synchronization object. In FIG. 54, steps C001-C020 represents the authentication steps. Users must first be identified and receive authorization from the trusted servers to access the network. Once authorized, a User receives the most current contact list of trusted peers connected to the network. The user then determines their role in the synchronization process. Users can either be the initiator 1 of a synchronization object or can be a subscriber 7 to that object. The initiator 1 is the user who first establishes the synchronization object and establishes the preferences for the object. Examples of preferences designating users who have the authority to edit or contribute to the object, a description of the object, the degree of separation (n) from the initiator that he or she wishes the object to extend and an initial list of trusted peers that might want to have the object. The subscribers 7 are users that want the synchronization object. Each subscriber 7 must meet the criteria established by the initiator. Steps C030-C040 describes how the object is initially distributed through the social network. In step C050, after the initiator 1 creates the synchronization object, the synchronization server 350 contacts a subscriber 7 from the list suggested by the initiator 1 to see if they accept the object. In steps C070 to C090, the subscriber 7 either accepts or rejects the synchronization object and relays this response to the synchronization service 350. If the subscriber 7 agrees to accept the sync object, at step C095, the object is be downloaded. Depending on the degree of separation, in steps C120 to C140, the subscriber 7 that accepts the synchronization object can suggest a list of their trusted peers and the synchronization server 350 will then contact them. This process of contact and acceptance will continue until the initial degree of separation for the object is reached.
  • As described above, any user who belongs to the initiator's social network and who falls within the degree of separation defined by the initiator can search and subscribe to the synchronization object at any time. The synchronization object behaves just like any other shared resources in the social network except that some of its properties are controlled by the synchronization server.
  • Each synchronization object is updated depending on the initial parameters. For example,
      • Everyone can contribute changes—in this case, the synchronization server ensures that all the synchronization objects within the network are identical.
      • Only some can contribute changes—in this case, the synchronization server ensures that synchronization objects belonging to users, defined as contributors, are identical. This group's objects are then distributed through the network.
      • Only the initiator can contribute changes—in this case, the synchronization server ensures that every synchronization object is an exact copy of the initiator's object.
  • As a result, users on a social network use this service to create duplicate objects throughout the network and synchronize any changes to those objects. The uniqueness of this type of synchronization service is that it automates a common activity in a network.
  • Banking Services
  • In an alternative embodiment of the present invention, a system is provided to allow users of a social network to easily lend money to one another.
  • Within a trusted P2P network, the risks inherent in borrowing and lending activities can be lessened because each user of the network is a trusted peer of other users. The trusted server can act as the facilitator of financial services between trusted peers and their social networks. Rather then banking with strangers, and mitigating risk through credit checks or secured loans, users of the social network can pool their resources to assist each other financially. The advantage of this approach is the increase the likelihood of having a loan repaid because a user is dealing with member of their social network. This system also reduces the dependence on external factors such as “credit worthiness” of an individual.
  • The process for P2P banking in a trusted P2P network is similar to that of collaboration as discussed above. The main difference is the introduction of a banking server that controls the flow of information and enforces rules for users participating in the market. Users first choose the role that he or she is willing to play in the banking service, namely either borrower or lender. The lender sends to the banking server information about the user's lending preferences. Examples of such preferences are the amount of money they are willing to lend, the desired interest rate, the loan period and the degree of separation to the borrower to whom they are willing to lend money. The borrower sends to the banking server 400 information about their borrowing preferences. Examples of such preferences are the amount of money that the user wishes to borrow, the desired interest rate, and the degree of separation to the lender to whom the user is willing to borrow money. FIG. 55 is a flow chart describing the steps required to become a lender in the banking server. In FIG. 55, steps B001-B020 represent the authentications steps. Users must first be identified and receive authorization from the trusted servers to access the network Steps B030-B040 describe how the lenders' preferences are sent to the banking server 400.
  • FIG. 56 is a flow chart describing the steps required for a borrower to initiate a loan request. In FIG. 56, steps B201-B220 represent the authentications steps. Users must first be identified and receive authorization from the trusted servers 3 to access the network. Once authorized, the users receive the most current contact list of trusted peers connected to the network. In step B230 the borrower 1 starts the query process by submitting their preferences to the banking server 400.In steps B240 to B360, the banking server 400, attempts to match the preferences submitted by the borrower 1 with those of lenders within N as defined by the borrower 1. Step B300 accounts for a variety of preferences including the amount of the loan or the loan period. Steps B340-B360 continue the review process for lenders until the degree of separation specified by the borrower is met. Step B400 sends summary information back to the borrower so that the borrower can proceed to finalize the loan.
  • FIG. 57 is a flow chart describing the steps required for a borrower to finalize a loan request. The banking server 400 reviews the preference setting of the trusted peers in the banking system to obtain a list of borrowers and lenders who fit each other's criteria. In step B410, the borrower 1 receives the list of potential lenders. In steps B420 and B430, the borrower 1 selects from the list and forwards their selections to the banking server 400. Steps B440 to B520 describe how the banking server 400 sends requests to each lender 7 asking them to accept the conditions of the loan. Steps B530-B550 finalize the transaction by sending the borrower 1 a list of all the lenders that accepted his or her loan request. When both borrower 1 and lender 7 agree on the conditions of a loan, the banking server 400 facilitates the transfer of money from the lender 7 or lenders to the borrower 1. At the initiation of the transfer, the banking server 400 finalizes the loan agreement between borrower 1 and lender(s) 7.
  • The banking server 400 ensures that the borrower makes the proper loan payments and that each payment is credited to the proper lender's account. Other duties of the banking server include:
      • Late payments and loan delinquency—establish policies to deal with late payments and loan delinquency.
      • Reputations—create a history of transactions for both lender and borrower.
      • Enforcement—upholding the integrity of the service.
  • As a result, users on a social network can freely trade and profit from their resources. The advantage of this type of collaboration over existing systems is that it duplicates the social relationships that already exist between each member of the trusted network and enables them to create a new type of financial service.
  • Push Communication
  • A further embodiment of the present invention allows content to be distributed to users of a social peer to peer network using push methods. Push is a feature that allows a user to send a file to a recipient rather than requiring a user to discover and request a file. In an open network where there is no defined relationship between users, push features can lead to abuses such as spam (unsolicited communications for marketing purposes). In a trusted social network, push features become a convenient mechanism to transfer files between users connected by a relationship characterized by trust.
  • The process of implementing a push feature in a social P2P network is similar to that of synchronization, as discussed above. The main difference is the introduction of a push server that controls the flow of information and enforces preset rules, which are unique to the push feature.
  • FIG. 58 is a flow chart describing the steps involved in initiating a push object. The user first designates a folder on their local computing device to be the folder that receives push objects. The user sends information to the push server 450 such as the location of the receiving folder, access rights for the local folder which could include specific trusted peers or the degree of separation from the user that the user is willing to grant access to and limits on the push object such as size, content, or type. In FIG. 58, steps D001-D020 represent the authentications steps. Users must first be identified and receive authorization from the trusted servers 3 to access the network. Once authorized, users receive the most current contact list of trusted peers connected to the network. In step D030, the user 1 sets the properties of the push object and selects the trusted peers 7 that are to receive the object. Examples of properties include object description, degree of separation, etc. In step D040, the file information and list of users is received by the push server 450. In step D045, the push server 450 checks to see if the object meets the requirements set by each receiver 7. If the requirements are met, in step D050 the push server 450 contacts the receiver 7 for permission to accept the push object. Steps D060-D095 describe how the push server 450 obtains permission from each trusted peer 7 to receive the push object and how each trusted peer 7 can then obtain the push object from the initiator 1. Steps D100-D140 describe how the push object can be sent to other users 7 depending on the degree of separation of the object and the degree of separation of the user 7 from the initiator of the push object 1.
  • As a result, users on a social network can send files to their trusted peers in a controlled manner. The uniqueness of this type of feature is that it allows object transfer without the need for the receivers to search for the push object. Once the push object has been received, changes to the object could be managed using the synchronization system, as described above.
  • The proposed network is not limited to the sharing of electronic resources such as electronic files but creates new work processes for the user. The following are provided for exemplification purposes only and are not intended to limit the scope of the invention described in broad terms above.
  • EXAMPLE 1A
  • File Sharing on a Trusted Social Network
  • This example describes the process of file sharing on a trusted social network. FIG. 29 is a schematic illustrating an example of file transfer through a trusted social network. FIG. 29 illustrates the following steps:
      • a) Authentication and Authorization User A 1 has a list of files, namely File A-1 60 on a shared folder. User A 1 must first be identified and receive authorization from the trusted servers 3 in order to access the network.
      • b) Trusted peer of User A can access File A-1 A trusted peer for A 1, in this case User B 9, who is already authorized to be on the system can now access File A-1 60.
      • c) Socially related users can access Any connected user that are related to User A 1 or User B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also access File A-1 60 depending on the permission first declared by User A 1. For example, User A 1 can limit the degree of separation (n) for which the file can be accessed.
      • d) Non socially related users cannot access Users on the network that do not have a social connection to Users A 1 or B 9, in this case User X 90, cannot have access to File A-1 60.
  • This example assumes that all users are connected to the Internet without limits on network access such as firewalls. The use of proxies on trusted servers is necessary when there are limits to network access. This scenario is discussed, for example, in the above section entitled Delivery Through Relay.
  • EXAMPLE 1B
  • Photo Sharing on a Trusted Social Network
  • This example describes the process of sharing digital photographs on a trusted social network. Digital photographs are a specific example of file transfer that involves file sizes ranging from kilobytes to megabytes. FIG. 30 is a schematic illustrating an example of sharing photograph through a trusted social network. The detail implementation is covered herein. FIG. 30 illustrates the following steps:
      • 1. Authentication and Authorization User A 1 has one or more digital photograph file 80 on a computing device connected to the network. User A 1 must first be identified and receive authorization from the trusted servers 3 in order to access the network.
      • 2. Trusted peer of User A can access A trusted peer to A 1, in this case User B 9, who is already authorized to be on the system can now access the photograph file 80.
      • 3. Socially related users can access Any connected user that is related to User A 1 or User B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also access the photo 80 depending on the permission first declared by User A 1. For example, User A 1 can limit the degree of separation (n) for which the photograph file 80 can be accessed.
      • 4. Unrelated users cannot access Users on the network that do not have a social connection to Users A 1 or B 9, in this case User X 90, cannot have access to the photograph file 80.
  • This example assumes that all users are connected to the Internet without limits on network access such as firewalls. The use of proxies on trusted servers is necessary when there are limits to network access.
  • EXAMPLE 1C
  • Video Sharing on a Trusted Social Network
  • This example describes the process of sharing digital videos on a trusted social network. Digital videos are a specific example of rich media file transfers that involve extremely large files ranging from megabytes to gigabytes in size. FIG. 31 is a schematic illustrating an example of sharing digital video through a trusted social network. FIG. 31 illustrates the following steps:
      • 1. Authentication and Authorization User A 1 has one or more digital video files 120 located in a shared folder. User A 1 must first be identified and receive authorization from the trusted servers 3 in order to access the network.
      • 2. Trusted peer of User A can access A trusted peer of User A 1, in this case User B 9, who is already authorized to be on the system can now access the video file 120.
      • 3. Socially related users can access Any connected user that are related to User A 1 or User B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also access the video file 120 depending on the permission first declared by User A 1. For example, A 1 can limit the degree of separation (n) for which the video can be accessed.
      • 4. Unrelated users cannot access Users on the network that do not have a social connection to Users A 1 or B 9, in this case User X 90, cannot have access to video file 120.
  • This example assumes that all users are connected to the Internet without limits on network access such as firewalls. The use of proxies on trusted servers is necessary when there are limits to network access. This scenario is discussed, for example, in the above section entitled Delivery Through Relay.
  • EXAMPLE 1D
  • Remote Access and File Sharing on a Trusted Social Network
  • This example describes the process of remote access of the client to share digital videos on a trusted social network. The process by which a user can access the system remotely is discussed elsewhere. Once the system authorizes the remote access, the user can then carry out all the activities that are permitted on the network. FIG. 31 describes the sharing of digital videos through a remote access. The following steps are illustrated:
      • 1. Authentication and authorization for remote client User A 1 must first establish a communication channel between the remote device 2 and the software client 6. The software client 6 will issue a challenge and User A 1 must then complete the logon steps to gain access to the software client. Once the logon process is successful, User A 1 can then issue commands to the software client 6 through the remote device 2.
      • 2. Authentication and Authorization User A 1 starts and completes the logon process for the software client 6 and the trusted servers 3. User A 1 has a file 120 on a shared folder.
      • 3. Trusted peer of User A can access A trusted peer for A 1, in this case User B 9, who is already authorized to be on the system can now access the file 120.
      • 4. Socially related users can access Any connected user that are related to User A 1 or User B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also access the video depending on the permission first declared by User A 1. For example, A 1 can limit the degree of separation (n) for which the file 120 can be accessed.
      • 5. Not socially related users cannot access Users on the network that do not have a social connection to Users A 1 or B 9, in this case User X 90, cannot have access to the file 120.
  • This example assumes that all users are connected to the Internet without limits on network access such as firewalls. The use of proxies on trusted servers is necessary when there are limits to network access. This scenario is discussed, for example, in the above section entitled Delivery Through Relay.
  • EXAMPLE 1E
  • Editing Files Collaboratively on a Trusted Social Network
  • In this example, User A first creates a source file involving a trusted peer (User B) and User B's trusted peer (User B1). User A can create a source file using any type of software (e.g. Microsoft Word, WordPerfect, Open-Office, Excel, PowerPoint, Adobe Premier, Apple Quick time, etc.) and in any type of format (e.g. text, graphic, audio or video). User A then saves the file in a folder that is designated as a shared folder. User A marks the file with the appropriate access permissions such as the degree of separation of users able to view or edit the file. Users other than User A are not permitted to delete the file. Access permissions are relayed to an editing server. The editing server sends a message to User A's trusted peers (such as User B) that there is a collaboration file available. Trusted peers of User A within the appropriate degree of separation can access the collaboration file from User A through the network. When authorized users attempt to edit the file, a message is sent to the editing server that this file is being edited. The editing server checks whether the file is the latest version. If the file a user is attempting to edit is not the latest version, the user is given an option to update to the latest version. The user can then proceed to edit the file using local resources. While the file is being edited, the editing server will not allow another user to edit the file. Once the user has finished editing the file, the user sends a message to the editing server. The editing server then releases the lock on the file so that other users can edit the file. The editing server labels the new version of the file as the latest version and notifies other users who have been granted access to the file that a new version is available. Access to and editing control over the file is controlled by User A. For example, User A sets the permission so that the trusted peers of User A's trusted peers can also access the file (i.e. n=1). In this case, User B, a trusted peer of User A, can edit the file. User B1, a trusted peer of User B, but not necessary a trusted peer of User A, can also edit the file. User B1 obtains information of the existence of a collaboration file either directly (through a message from User B) or indirectly (through a search of the network). User B1 can then download the latest versions of the collaboration file from sources that have the latest version. User B1 now can edit the file unless another user is already editing the file as described above.
  • EXAMPLE 1F Sharing Bookmarks and World Wide Web Links on a Trusted Network
  • In a more specific example of collaboration, User A uses a trusted Peer-to-Peer network to create and share a series of bookmarks and World Wide Web (WWW) links. User A first defines a collection of bookmarks or WWW links that they want to share with their trusted peers. User A then marks the collection of bookmarks with the appropriate access permissions, in this case N=0. User A further decides that other users can add to the bookmark collection but may not delete from the collection, nor delete the collection entirely. Access permissions for the collection are relayed to the editing server. The editing server sends a message to User A's contact list that there is a collaboration collection of bookmarks available. Trusted peers of User A within the degree of separation of N=0 can obtain the bookmarks from User A through the trusted network. Authorized persons can add to this collection as follows: A user accesses the collaboration collection of bookmarks and wants to contribute to the collection. A message is sent to the editing server that a user wants to contribute to the bookmark. The editing server checks whether the bookmark file is the latest version of the collection. If it is not the latest version, the user is given the option to update. Since the permission for the collection is addition only, there is no need to lock the collection while it is being edited. The user can proceed to edit the collection of bookmarks. Once the update is finished, the user sends a message to the editing server. The editing server updates its information on the latest version of the collection. Users within the network can access and contribute to this collaboration collection of bookmarks depending on the access permission provided by User A.
  • EXAMPLE 1G
  • Synchronization in a Trusted Network
  • In this example, the following groups of trusted peers have various degrees of separation from User A (expressed as values of “n”):
    n = 0 n = 1 Comment
    B B1, B2, B3 Trusted peers of B
    C C1, C2, C3 Trusted peers of C
    D D1, D2, D3 Trusted peers of D
    E E1, E2, E3 Trusted peers of E
  • User A wishes to synchronize a synchronization object with other trusted peers. The object can be any type of digital file and may comprise entire folders or directories. User A first defines the synchronization object using the client software. User A also enters a description of the object and the degree of separation required to access the object (in this case, n=1). The client software sends a message to the synchronization Server that includes at a minimum a description of the object and the degree of separation needed to access the object. Users of the network who fall within the criteria defined by User A (n=1) receive a message from the synchronization server informing them that User A has created a synchronization object that they can either accept or reject. If the users accept the synchronization object, they can obtain the object from User A or from other users within User A's trusted network that have the most recent version of the object. Each user that has the object can then invite their trusted peers to download the object. This process can continue throughout the social network. The synchronization server compiles a list of users on the network who possess copies of the synchronization object. Once a list of synchronized users is created, whenever one of the users makes changes to the object; it will trigger the preset rules of behavior for the synchronization server for that particular change. For example, User B adds a file to Folder A in User B's local shared directory. A message is sent to the synchronization server notifying it there a new synchronization object has been added. The synchronization server then sends a message to all members that have that object and notifies them of the new addition. As a result, User A, C and B1 can download the latest addition from User B. Users A, C or B1 can also become a source of the new file. Other trusted peers that are within the set degree of social separation can also obtain the object. These trusted peers must search for the object through the network rather than receiving a message notification of the synchronization server. For example, User C1 can search and download the object because User C1 is n=1 degree of separation from User A. Trusted peers of User E1 cannot find object because User E1 is n=2 away from A.
  • EXAMPLE 1H Synchronization as Broadcasting
  • In this example, the initiator of the synchronization object retains the rights to modify the object while all other trusted individuals can duplicate the object but cannot modify it. In this example, the synchronization feature functions in a fashion that is analogous to broadcasting. In this example, User A has the following groups of trusted peers that have various degree of separation from the A (expressed as a value of “n”).
    n = 0 n = 1 Comment
    B B1, B2, B3 Trusted peers of B
    C C1, C2, C3 Trusted peers of C
    D D1, D2, D3 Trusted peers of D
    E E1, E2, E3 Trusted peers of E
  • User A creates a synchronization object using the client software. User A also enters a description of the object, the degree of separation required to access the object (in this case, n=1) and defines this object as the “Master synchronization object”. The client software sends a message to the synchronization server including this information. All of the trusted peers of User A receive a message from the synchronization server that asks them if they wish to accept the object. If they accept, these users can obtain the object from User A or anyone on User A's list that has the most recent version of object. In this example, User A has trusted peers B, C, D and E. Users B, C, D, and E receive a message from the synchronization server identifying the fact that User A has a synchronization object available. Users B and C accept the object. User B then downloads the object from User A first. Once B has downloaded some portion of the object, User C can download the object from either User B and/or User A. Users D and E do not accept the file and will not be contacted again with regard to this object. Depending on the initial settings of the synchronization object for the degree of separation, each user that has the object can invite their trusted peers to download the object. Their trusted peers can, in turn, also invite their trusted peers if the object. Once the initial dissemination of the synchronization object is complete, the synchronization server compiles a list of trusted peers that have the object. Whenever User A makes changes to the object, it will trigger the rules of behavior for the synchronization server for that particular change. When this occurs, the synchronization server notifies the users on its list that a new version of the synchronization object is available for download. Only changes from User A will trigger updates to other owners of the object. Users wishing to be deleted from the synchronization list can send instructions to the synchronization server.
  • EXAMPLE 11
  • Using Synchronization as Backup
  • In this example, the initiator of the synchronization object uses the synchronization feature as a means of backing up files on a computer. User A defines a folder (“Backup”) on his computer as a sync object. User A wants to back up this folder on the hard drive of his trusted peers, Users B and C. The synchronization server contacts B and C and asks them if they are will accept A's request. When Users B and C accept User A's request, folder (“Backup”) is copied to the hard drive of Users B and C respectively. User A can set the properties for the Backup folder so that objects in the folder are updated every time the folder is changed. User A can also specify that the Backup folder is locked and that Users B and C cannot access the contents of the Backup folder on their local disk. This could be accomplished, for example through the use of encryption or password protection. This system is possible without lengthy negotiation because a relationship of trust already exists between Users A, B and C.
  • EXAMPLE 2
  • An Electronic Market on a Trusted Social Network
  • The present invention can also be used to setup an electronic marketplace for digital goods. Such markets are created when the system can assign an explicit value to the transactions between users on their trusted social network. Markets differ in the information being tracked when an item is transferred between two users. For markets based on transactions, the system automatically assigns value based on the interaction between two socially related users. For market based on transfer of digital right, an additional service, known as a digital rights manager, is required to track the legitimate ownership of a particular piece of content. A natural extension of this concept is in the transfer of non-digital goods. The following systems are not mutually exclusive and can be used in conjunction with each other.
  • EXAMPLE 2A
  • Market Based on Transactions
  • FIG. 33 is an example of an electronic market built on a trusted social network according to one embodiment of the present invention. In this case, the main components of this electronic market involve:
      • 1. Authentication and Authorization User A 1 has an item 130 on a shared folder. User A 1 must first be identified and receive authorization from trusted servers 3 to access the network.
      • 2. Trusted peer of User A request and obtain item A trusted peer, for example User B 9, who is already authorized to be on the system and is defined by User A 1 to be a trusted peer, can now negotiate the purchase of item 130 from User A 1. This transaction is recorded in an accounting service 140 on the local machine for both Users A 1 and B 9.
      • 3. Socially related users access Any connected user that are related to User A 1 or User B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also negotiate the purchase of the item 130 depending on the permission first setup by User A 1 and subsequently, all the other related users. This transaction is also recorded in an accounting service 140 on the local computing device of User A 1 and User B n 70.
      • 4. Transaction information For each user, the local accounting service reports the transaction information to the accounting server 150 on the trusted servers 3. The accounting server 150 can then assign values to each transaction. Examples of transaction information include, but are not limited to file type, file size, speed of transfer, value of transfer, user satisfaction. Examples of assign values for transactions include, but are not limited to, cash or system credits.
  • An electronic market is thereby created which assign value to an activity over the network.
  • EXAMPLE 2B Market Based on Transfer of Digital Rights
  • FIG. 34 illustrates an electronic market built on a trusted social network based on the transfer of digital rights. In this case, the system requires the addition of a DRM (Digital Rights Management) server, to manage the rules and regulations governing the ownership of the object, for example copyrights, licenses and the like. The main components of this system are:
      • 1. Authentication and Authorization User A 1 is the digital rights holder of an item (such as a digital music file protected by copyright) 120 on a shared folder. User A 1 must first be identified and receive authorization from the trusted servers 3 to access the network.
  • 2. Initial DRM information User A 1, sends the Digital Rights Management (DRM) 165 information to the DRM server 160.
  • 3. Trusted peer of User A can request and obtain item. A trusted peer of User A 1, defined as User B 9, who is already authorized to be on the system can now obtain the item 120 from User A 1 once any necessary negotiations regarding rights have been concluded.
  • 4. Socially related users can access Any connected users that are related to User A 1 or User B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also obtain the item 120 depending on the permission first setup by User A 1 and subsequently, all the other related users. The DRM information 165 is sent to the local digital rights manager 160 installed on the local system 170.
  • 5. Digital rights information For each user, the local accounting service 140 reports the digital rights information to the DRM Server 160 on the trusted servers 3. The DRM Server 160 can then assign the appropriate access rules and regulation governing the use of the item as defined by the digital rights owner, namely User A 1.
  • The addition of a DRM server can therefore effectively enforce copyrights in digital files in a flexible and effective manner throughout the network. The social element of this network provides an additional level of security and enforcement for transactions involving digital rights.
  • EXAMPLE 2C Extension of Electronic Market to Identifiable Non-Digital Goods
  • An electronic market built on a trusted social network as described herein can also be used for the trading of non-digital goods. This embodiment describes the use of the electronic market to exchange non-digital goods. Additional requirements to implement this example are the availability of a unique identifier for the object of interest and a Rights Management (RM) server. Examples of unique identifiers include but are not limited to the following: manufacturer's serial numbers, Radio Frequency Identification (RFID) tags and/or Universal Product Code (UPC). The RM server will manage the rules and regulations governing the ownership of the object including copyright, licenses, assignments and the like. FIG. 35 illustrates an electronic market built on a trusted social network based on the availability of unique identifiers for an object. The main components of this system are:
      • 1. Authentication and Authorization User A 1 is the owner of an item 120 that can be identified uniquely by means of an identifier 165. User A 1 must first be identified and receive authorization from the trusted servers 3 to access the network.
      • 2. Owner's rights information User A 1 sends the unique identifier 165 and ownership information 165 to the Rights Management (RM) server 160.
      • 3. Trusted peer of User A can access A trusted peer, defined as User B 9, who is already authorized to be on the system, can now request the item from User A 1.
      • 4. Socially related users can access Any connected users that are related to User A 1 or User B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also request the item 120 depending on the permission first setup by User A 1 and subsequently, all the other related users.
      • 5. Delivery of Item In this example, User A 1 accepts the request of User B n 70 and delivers the item 120 together with its unique identifier 165. The item 120 can be delivered an external process for example: mail, courier service or direct delivery.
      • 6. New owner's rights information Once User B1 70 receives the item, rights information is sent back to RM server 160 to conclude the transaction.
  • The addition of a RM server can therefore effectively enforce ownership in a flexible and effective manner throughout the network. The social element of this network provides an additional level of security and enforcement for transactions involving non-digital goods.
  • EXAMPLE 3C Banking Services on a Trusted Network
  • In this example, the following groups of trusted peers have various degrees of separation from User A (expressed as values of “n”):
  • User ID summary
    Degree of separation
    User ID Role Characteristics from B (n)
    A Lender Trusted peer of B 0
    A1 Lender Trusted peer of A 1
    A2 Lender Trusted peer of A1 2
    C Lender Trusted peer of B 0
    C1 Lender Trusted peer of C 1
    C2 Lender Trusted peer of C1 2
    C3 Lender Trusted peer of C3 3
    B Borrower Trusted peer of A
  • A user (User A) on a trusted network decides that he or she wants to be a lender. User A sends a message to the banking server containing information such as: the maximum amount of money the user is willing to lend, the desired interest rate for the loan, the repayment period and the degree of separation within which the user is willing to lend money. These preferences could be expressed as ranges to allow for negotiation between lender and borrower.
  • Lender summary table
    Desired Degree of
    Max Loan Interest Period separation from
    User ID ($) rate (%) (months) themselves (n)
    A 200 5 6 0
    A1 200 8 6 1
    A2 400 7 12 2
    C 200 10 12 1
    C1 400 5 6 0
    C2 200 5 6 1
    C3 500 5 6 2
  • User B decides that he wants to borrow money. The user sends a request to the banking server with information such as the amount of money that he requires, the interest rate that he is willing to pay, the loan period and the degree of separation within which he is willing to borrow money (Bn). Again, these preferences could be expressed in terms of ranges to allow for negotiation.
  • Borrower summary table
    Desired
    Loan Interest Period Degree of separation
    User ID request ($) rate (%) (months) from B (n)
    B 500 8 6 2
  • The banking server receives the request from User B and consults its database of lenders. In this example, the primary determinant is the degree of separation; followed by the desired interest rate.
  • All members that are n=2 or less away from B and is willing to lend money to B.
    Degree of Degree of
    User separation from separation from
    ID B (n) themselves (n) Match
    A
    0 0 Yes
    A1
    1 1 Yes
    A2
    2 2 Yes
    C
    0 1 Yes
    C1
    1 0 No
    C2 2 1 No
    C3 3 2 No
  • Applying the second criteria, that lenders must be willing to accept a lending rate less than or equal to the desired interest rate of User B.
    User Desired interest
    ID rate (%) Comment
    A
    5 Yes
    A1
    8 Yes
    A2
    7 Yes
    C
    10 No
  • The resulting list of lending candidates that satisfy the preferences are sent back to the borrower. For example:
    Desired
    Interest
    Max rate Period
    Lender Loan ($) (%) (months)
    A 200 5 6
    A1 200 8 6
    A2 400 7 12
  • User B can now decide how to mix and match the loans to meet his desired $500 total. In this example, he chooses:
    Loan Desired
    request by Interest Period
    Lender B ($) rate (%) (months)
    A 100 5 6
    A2 400 7 12
  • This information is sent back to the banking server, which then establishes a dialogue between lenders and borrower. The banking server sends a message to each of the lenders that a user on the network has met their lending criteria and has requested money. The lender can either accept or decline the offer.
  • For this example, User A receives a message from banking server that a user wishes to borrow $100 at 5% for 6 months. User A2 also receives a message from banking server that a borrower wishes to borrow $400 at 7% for 12 months. Users A and A2 each have the option to accept or decline the request.
  • If the lender accepts the request, they receive more information on the request for money and are prompted for the terms and conditions of the loan. The lender then authorizes the money transfer to borrower. The borrower receives the money and the Bank Server starts tracking the time and interest payments. Conditions for account delinquency are pre-defined. Examples of delinquency conditions include: missed payments, frequent late payments or refusal to pay. If delinquency conditions are met, the Bank Server will carry out enforcement which may include temporary or permanent ejection from the network, alteration of reputation status, or other enforcement means as determined by the administrators. The lender also has recourse to all normal means of collection and enforcement under the law. However, given that the lenders and the borrowers are linked by a pre-existing relationship of trust, delinquency is less likely to occur than in financial relationships between strangers, due to the resulting harm to the social relationship. Once all payments are made, the loan is considered to be finished.
  • EXAMPLE 3A Normal Auctions on a Trusted Social Network
  • The trusted social network as outlined herein can also be used as the basis for different types of auctions.
  • In a normal auction there are a single seller and many potential buyers bidding for the item being sold. On a trusted social network as described herein, the buyers are limited to the extended social network of the seller. FIG. 36 is an example of an electronic auction where a user, defined as A, initiates and carries out an auction though this trusted social network.
      • 1. Authentication and Authorization User A 1 is the owner of an item 120 for auction on the network. User A 1 must first be identified and receive authorization from the trusted servers 3 to access the network.
      • 2. Starts auction process User A 1 initiates the auction process by sending the appropriate information to an Auction server.
      • 3. Trusted peer Bidding A trusted peer, defined as User B 9, who is already authorized to be on the system can now obtain the auction information concerning the item 120 from the auction server 160. Any other users that are related to A 1 or B 9 can also access this information through defined social relations.
      • 4. Auction information sends to auction server Any connected users that are related to User A 1 or User B 9 can bid on the item 120 by contacting the auction server 160. The auction server can enforce such rules as the time limit for auction, the price limit for item, volume discounts, and exclusions (for example, based on location, reputation, etc.)
      • 5. The auction server 160 maintains control of the auction process until the auction is finished.
      • 6. Winning bid The auction server notifies both User A 1 and the winner of the result of the winning bid. In this case, User Bn, 70 has the winning bid.
      • 7. Delivery of item Once payment has been authorized, the owner of the item, User A 1, can then deliver the item to the winner, User B n 70. Verification of payment and delivery can be managed via the trusted servers 3.
    EXAMPLE 3B Reverse Auctions on a Trusted Social Network
  • The auction system can also support reverse auctions. In a reverse auction there is one buyer and many sellers. The buyer specifies what they want to purchase and offers it to many suppliers. Normally, each buyer must be qualified to ensure that the winner is suitable to the buyer. As a result this type of process will usually produce the lowest possible price when all sellers are of equal quality. Qualification is implicitly defined in a social network since access to the network is by invitation only. Therefore, this type of network is suitable for carrying out reverse auctions. An example of a reverse auction is shown in FIG. 37. A description of the main elements in this process is as follows:
      • 1. Authentication and Authorization User A 1 has a request for an item 120 that might be on the network. User A 1 must first be identified and receive authorization from the trusted servers 3 to access the network.
      • 2. Starts auction process User A 1 initiates the auction process by sending the appropriate information to an auction server 160 requesting the item.
      • 3. Trusted peer Bidding A trusted peer, defined as User B 9, who is already authorized to be on the system can now obtain the auction information concerning the request from the auction server 160. Any other users that are related to Users A 1 or B 9 can also access this information through defined social relations.
      • 4. Auction information sent to auction server Any connected users that are related to User A 1 or User B 9 can bid to satisfy the demands of User A 1 by contacting the auction server 160. The auction server can enforce such rules as the time limit for auction, the price for item, any volume discounts and conditions for acceptance (for example, based on location, reputation, etc.)
      • 5. The auction server 160 maintains control of the auction process until the auction is finished.
      • 6. Winning bid The auction server notifies both User A 1 and the winner of the result of the winning bid. In this case, User B n 70 has the winning bid.
      • 7. Delivery of item Once payment has been authorized, the owner of the item, User B n 70, can then deliver the item 120 to the requesting user, User A 1. Verification of payment and delivery can be managed via the trusted servers 3.
    EXAMPLE 4 Other Types of Communications Through a Trusted Social Network
  • The network according to the present invention represents a platform that can support a myriad of communication services. Example 4 lists various communication services that can be implemented on a trusted social network.
  • EXAMPLE 4A Instant Messaging (IM)
  • Instant messaging (IM) is a real-time text-based message protocol over the Internet between two or more people who must all be online at the same time. FIG. 38 is an illustration of how an IM service can be implemented according to the present invention. The process includes:
      • 1. Authentication and Authorization. User A 1 wants to communicate with a trusted peer. User A 1 logs in to the system and undergoes a process of authentication and authorization.
      • 2. IM process (direct). Once on the network, User A 1 can communicate with those trusted peers that are also on the network, in this case, User B 9. User A 1 can also contact anyone that is socially related to the User B 9, for example, User B n 70, depending on their mutual preference settings.
      • 3. IM through proxy. In some cases, Users are behind firewalls or other security devices and cannot be connected directly. In such cases, the IM service is available through the IM server 160 on the trusted servers 3.
    EXAMPLE 4B Voice Over Internet Protocol (VOIP)
  • Voice over Internet Protocol is a technology for transmitting telephone calls over the Internet using packet-linked routes. FIG. 39 is an illustration of how a VOIP service can be implemented on the network covered herein. The process includes:
      • 1. Authentication and Authorization. User A 1 wants to communicate with a trusted peer via VOIP. The user logs in to the system and undergoes a process of authentication and authorization.
      • 2. VOIP process (direct). Once on the network, User A 1 can communicate using VOIP, with those trusted peers that are also on the network, in this case, User B 9. User A 1 can also contact anyone that is socially related to the User B 9, for example, User Bn 70, depending on their mutual preference settings.
      • 3. VOIP through proxy. When Users are behind firewalls or other security devices and cannot be connected directly. In such cases, the VOIP service is available through the VOIP server 160 on the trusted servers 3.
      • 4. VOIP to POTS. This service can be extended to include traditional telephony (POTS) systems 170. In this case, User C 11, must have some unique identifier (for example, telephone number, password) 165 that allows the user to access the network and be contacted by trusted peers. VOIP communication from User A 1 to User C 11 is through the VOIP server 160.
    EXAMPLE 4C Interactive or Streaming Video
  • Interactive or streaming video is a technology for video communication using the Internet. FIG. 40 is an illustration of how an interactive video service can be implemented on the network covered herein. The process includes:
      • a) Authentication and Authorization User A 1 wants to communicate with a trusted peer via video. User A 1 first logs in to the system and undergoes a process of authentication and authorization.
      • b) Video (direct) Once on the network, User A 1 can communicate using video streams 180, with those trusted peers that are also on the network, in this case, User B 9. User A 1 can also contact anyone that is socially related to the User B 9, for example, User B n 70, depending on their mutual preference settings.
      • c) Video through proxy When Users are behind firewalls or other security devices and cannot be connected directly. In such cases, the interactive service is available through the Video server 160 on the trusted servers 3.
    EXAMPLE 4D Push Features
  • In this example, User A has the following groups of trusted peers that have various degrees of separation from User A (expressed as values of “n”).
    Users
    with Users with
    n = 0 n = 1 Comment
    B B1, B2, B3 Trusted peers of B
    C C1, C2, C3 Trusted peers of C
    D D1, D2, D3 Trusted peers of D
    E
    F
    G
  • Users have the option of designating a folder that can receive push objects. A push object can be any type of digital file such as a text file, an executable program file, a graphic file, a video file, etc. Users can also set the preferences for this file folder. In this example, the preferences set by the users are the maximum size of files that the user wants to receive, the file type, the maximum degree of separation of the sender from the User in order to accept a push object.
  • In this example, each user assigns the following properties to their folder.
    Temp folder characteristics
    Maximum Degree of
    File size File type separation
    Users (MB) acceptable (n)
    B 10 .txt 1
    C 100 .avi 0
    D 100 .avi 1
    E 75 .avi 0
    F 50 .avi 0
    G 100 .avi 0
    B1 100 .avi 1
    B2 100 .avi 0
    B3 100 .avi 1
    C1 100 ,avi 1
    C2 10 .avi 1
    C3 100 .avi 0
    D1 100 .avi 1
    D2 100 .avi 0
    D3 100 .txt 1
  • User A has a 75 MB avi file that she wants to send to some of her trusted peers and people that are one degree of separation away from her (n=1). User A sends a request to the Push server defining the file as a push object to be sent to people that are n=1 away from User A. In this case, User A also specifies the trusted peers to whom she wants to send the file. In this case, User A picks Users B, C, D, E, and F but not User G.
  • The push server checks the permissions for the temp folder and asks each designated user whether they want to receive the file. If the answer is no, these users will not be contacted regarding this object again. If the answer is yes, the users may obtain the file from User A or anyone of A's trusted peers that also have the file.
  • In this case,
    Action from
    Users Push Server Check Results push server
    B File type not correct No message
    C All acceptable Message sent
    D All acceptable Message sent
    E All acceptable Message sent
    F File size too large No message
    G Not selected to receive No message
  • Users C and D accept the push object but User E rejects the file. Users C and D can receive the push object from User A. As soon as Users C and D receive portions of the push object, they can then be a source for the push object. The push object can be distributed to other members of the social network until the degree of separation as defined by the creator of the object is met.
  • Because User A has set the push object properties as n=1, Users C and D have the option of sending the push object to their trusted peers. In this case, User C does not authorize a message from the push server to be sent to User C's trusted peers. As a result, Users C1, C2 and C3 will not receive the push object.
  • User D chooses trusted peers D1 and D2 as recipients for the push object. The push server checks the access permissions for D1 and D2 before contacting them about the push object. In this case, User D1 gets a message but not User D2 because User D2 set its folder to only accept files that originate from User D2's trusted peer (n=0) and not User D2's trusted peer's trusted peer.
  • It is possible for Users D1 or D2 to send the file to their trusted peers but only if Users D1 and D2 re-initiate the push object as their own push object. In this example, after the push process initiated by User A, the following users will have the push object.
    Receive
    Users Object? Reason
    B No Wrong file type
    C Yes
    D Yes
    E Yes
    F No Exceeds file limit
    G No Not chosen initially
    B1 No File not received by B
    B2 No File not received by B
    B3 No File not received by B
    C1 No Transfer not authorized by C
    C2 No Transfer not authorized by C
    C3 No Transfer not authorized by C
    D1 Yes Chosen by D
    D2 No Degree of separation set by D2
    did not allow it.
    D3 No Not chosen by D
  • EXAMPLE 4E Content Syndication and RSS
  • Content syndication describes the process of making portions of web content available for use by other services. The syndicated content, or feed, can consist of both the content itself and information about the content (metadata). RSS is a XML content syndication standard that provides an XML-formatted feed consisting of an abstract of content and a link to a document containing the full content. As an application, it is part of the Resource Description Framework (RDF), which are specifications that provide a lightweight ontology system to support the exchange of knowledge on the web. In general, these technologies are found in the context of a web environment and have not been applied in P2P networks. The push functionality described above allows for content feeds to be distributed through a P2P network.
  • EXAMPLE 5 Resource Sharing Through a Trusted Social Network
  • The application of the present invention is not limited to the communication or the transfer of electronic files but can also extend to the sharing or grouping of resources both electronic and non-electronic. The common element in the resource sharing through a social network is the addition of a trusted source that manages the resources. The following are representative examples of resource sharing on this type of network.
  • EXAMPLE 5A
  • Electronic Resource Sharing on a Trusted Social Network
  • This example applies to the sharing of electronic resources available on the local computing device that can include but not limited to: bandwidth, storage capacity and CPU processing capability. FIG. 41 illustrates an application of resource sharing according to one embodiment of the present invention. Major steps in this process are:
      • a) Authentication and Authorization. User A 1 has resources 120 to share, in this case, local hard drive space. User A 1 must first be identified and receive authorization from the trusted servers 3 to access the network.
      • b) User A 1 sends information on resource availability. Once authenticated User A 1 sends resource information to the resource manager 160 residing with the trusted servers 3.
      • c) Trusted peer can access. A trusted peer, for example User B 9, who is already authorized to be on the system and is defined by User A 1 to be a trusted peer, obtains information from the resource manager 160. User A 1 and User B 9 can now share their resources 120 accordingly.
      • d) Socially related users can access. Any connected user that is related to User A 1 or User B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also share their resources 120. The resource manager 160 carries out the organization and management of those resources.
      • e) Resource information. For each user, the local resource service 190 reports the available resource information to the resource manager 160 on the trusted servers. The resource manager 160 can then allocate resources to each user of the trusted network accordingly.
  • As a result, resources can be grouped and shared on a trusted network according to the preference of each individual user.
  • EXAMPLE 5B Non-Electronic Resource Sharing on a Trusted Social Network with Delivery Through a Trusted Service
  • The application of the present invention is not limited to sharing or grouping of electronic resources but also includes identifiable non-electronic resources. Examples of non-electronic resources include: money, credit and/or information. FIG. 42 illustrates an application of resource sharing according to one embodiment of the present invention for the case of resource delivery by a trusted authority. Major steps in this process are:
      • a) Authentication and Authorization User A 1 has a resource 120 to share, in this case, money. User A 1 must first be identified and receive authorization from trusted servers 3 to access the network.
      • b) User A 1 contributes resource to a central authority Once authenticated User A 1 sends the resource (money) 120 to the trusted authority 200 and the information related the resource to the resource manager 160.
      • c) Trusted peer resource contribution A trusted peer, for example User B 9, who is already authorized to be on the system and is defined by User A 1 to be a trusted peer, can contribute to or use the resource 120 on the trusted authority 200. With each contribution, the corresponding resource information is also sent to the resource manager 160. User A 1 and User B 9 can now share their resources 120 accordingly.
      • d) Socially related users access request resources Any connected user that are related to User A 1 or User B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also share and request the resources 120. In this case, the User B n 70 requests the resource 120 and the resource manager 160 carries out the organization and management of those resources and arranges for the delivery of the resource 120.
      • e) Resource delivery The resource manager 160 arranges for the delivery of the resource 120 to User B n 70 from a trusted authority 200.
      • f) Resource information For each user, the local resource service 140 reports and tracks the contribution of each socially related user. The resource server 160 can then allocate resources 120 or provide access privileges to each user of the trusted network accordingly.
  • As a result, resources can be grouped and shared on a trusted network according to the preference settings for each individual user.
  • EXAMPLE 5C Non-Electronic Resource Sharing on a Trusted Social Network—Delivery by a Trusted Peer
  • In this example of sharing of non-electronic resources, a trusted peer carries out the delivery of the resource. FIG. 43 is an illustration of this example. Major steps in this process are
      • a) Authentication and Authorization User A 1 has a request for a resource 120, in this case, money. User A 1 must first be identified and receive authorization from the trusted servers 3 to access the network.
      • b) User A submits a resource request Once authenticated, User A 1 submits a resource (in this case money) request to the to the resource manager 160, a trusted authority.
      • c) Resource query Resource manager 160 then queries each of the trusted peers of User A 1 to find the resource. In this case, User B 9 is query and the system finds that User B 9 does not have the required resources 120.
      • d) Request accepted Any connected peer that is related to User A 1 or User B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also reply to the request for resources. In this case, the User B n 70 has the resource 120 and the resource manager 160 carries out the organization and management of those resources and arranges for the delivery of the resource 120.
      • e) Resource delivery The resource manager 160 closes the request after the delivery of the resource 120 from User B n 70 to User A 1.
  • As a result, resources can be grouped and shared on a trusted network according to the preference of each individual user and the delivery of the resources does not have to occur via a trusted intermediate.
  • EXAMPLE 5D Information Collaboration and Management On a Trusted Social Network
  • Information is one particular type of resource that is ideally suited to be accessible and available on a trusted social network. In order for information to be useful and relevant, it must be written and organized for an intended audience. FIG. 44 is an example of information between managed on a trusted social network according to one embodiment of the present invention. Major steps in this process are:
      • a) Authentication and Authorization. User A 1 requires updating information 120 that is being stored in a central trusted authority, an editing server 160. User A 1 must first be identified and receive authorization from the trusted servers 3 to access the network.
      • b) Information contribution. Once authenticated User A 1 submits the new information 125 to the editing server 160.
      • c) Trusted peer information contribution A trusted peer, User B 9, who is on the network can query the editing server 160 or contribute additional information 125.
      • d) Socially related user request information Any connected user that is related to User A 1 or User B 9, and who falls within the designated degree of separation, in this case, Bn 70 (n representing the degree of separation from User B 9) can also edit or view the information 120. In this case, the User B n 70 submits a query to the editing server 160.
      • e) Information is delivered The editing server 160 response to the query based on the rules and regulation governing the information 120.
      • f) Resource information The editing server 160 is connected to each user of the trusted social network to ensure each user has the appropriate access to the information 120.
  • As a result, information can be edited, manipulated, grouped and shared on a trusted network according to the preference of each individual user. The uniqueness of this type of collaboration is that social relationships dictate function rather than requiring a central authority to manage user access to resources.
  • EXAMPLE 6 Electronic Games on a Trusted Social Network
  • An application of the present invention can be used to allow users of a trusted Peer-to-Peer network to play electronic games via the network. Since most games are played between friends, the trusted social network becomes a natural electronic extension of the real world. Many on-line games allow players to organize into “clans” or “guilds” for cooperative or team play. The trusted Peer-to-Peer network can be applied to facilitate such organization. Examples of games include, but are not limited to, the following: poker, chess, scrabble, real time strategy games, first person shooter games, multi-player role playing games and the like. FIG. 45 illustrates an application of gaming on a trusted Peer-to-Peer network according to one embodiment of the present invention. Major components in this process are:
      • a) Authentication and Authorization User A 1 wants to play a game 120 with one or more users or groups of users. User A 1 must first be identified and receive authorization from trusted servers 3 to access the network.
      • b) Trusted peer access A trusted peer, for example User B 9, who is already authorized to be on the system and is defined by User A 1 to be a trusted peer, can then play with User A 1.
      • c) Playing as a group Any connected users that are related to User A 1 or User B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also play the game 120 as an individual or as a group. A game server 160 can be a central organizer for some types of games.
      • d) Through a proxy In cases where there is a firewall or other forms of security, trusted peers, the game server 160 can function as a proxy to establish connection between users.
      • e) Directly to a game server For complex games such as those found in on-line multi-player games, authenticated users can connect directly to the game server 160. In this case, the social network relationships are still maintained as each user plays the game.
    EXAMPLE 7 Advertising Through a Trusted Social Network
  • The present invention can be applied to advertising directed towards individual users of the network. FIG. 46 illustrates how the system allows a user to broadcast a message to users that are related socially. The main components are:
      • a) Authentication and Authorization User A 1 wants to broadcast a message 120.
  • Examples of the message 120 include but are not limited to: a text message, a URL, a graphic or a multimedia file. User A 1 must first be identified and receive authorization from trusted servers 3 to access the network.
      • b) Advertising message User A 1 sends a request to advertise through the social network to the advertising server 160.
      • c) Trusted peer advertisement Once authorized by the advertising server 160, User A 1 can send a message to a trusted peer who is on the network, in this case, User B 9.
      • d) Socially related user advertisement Message 120 can also be sent to any user that is socially related to A 1 or B 9, in this case, User B n 70.
      • e) Advertising information Advertising controls, for example, length of display or type of message is sent to each user. Advertising information, such as duration of the ad, click-through, etc. is sent back to the advertising server.
  • This example illustrates the ability to create a direct marketing campaign to users of a social group using the present invention.
  • EXAMPLE 8 Example of Business Applications
  • According to one embodiment of the present invention, a social Peer-to-Peer network can also be applied in a business environment. The essential nature of the network does not change but the terminology describing the elements of the network might be modified depending on context. For example, in a business setting, the social network is related to a collection of roles within an organization with the trusted relationship between users being defined as a result of those roles. The following examples illustrate applications of the present invention in a corporate setting.
  • EXAMPLE 8A Multilevel Marketing (MLM)
  • Multi-level marketing (MLM), also known as network marketing (NM), affiliate marketing, or home based business franchising, is a business model that combines the characteristics of direct marketing and franchising. Typically, individuals enter into an independent contractor relationship with a business entity and act as sellers and agents to recruit others to work for the company. New recruits are, in turn, encouraged to recruit others to work for the company. Sellers are compensated based on their sales of a product or service, as well as the sales of those they bring into the business. FIG. 47 is an example of MLM operation on a network according to one embodiment of the present invention. In this example, the network is configured to be the same as the advertising network as described in Example 7 but the roles and responsibilities of each component reflects the needs of a MLM business. The main components are:
      • a) Authentication and Authorization User A 1, represents an agent for a MLM business and wants access to the trusted network. User A 1 must first be identified and receive authorization from trusted servers 3 to access the network.
      • b) MLM request Once authenticated, User A 1 can then send a request to the MLM server 160. The MLM server 160 is a trusted entity that controls the rules and regulations specific to this business.
      • c) First levels recruit access User A 1 can now interact with a trusted peer who is on the network, in this case, User B 9. In this context, User B 9 is known as a first level recruit because this user is directly related User A 1.
      • d) Downline information User Bn 70, is lower in the hierarchy relative to User A 1 and B 9 because User Bn 70 was recruited by agents related to User A 1 and B 9 in some way. Because of this relationship, User A 1 has rights to the MLM activities of User Bn 70.
      • e) MLM activity information MLM activities 120, for example, sales information, support are provided via a connection to the MLM server 160. Local MLM software 140 on each User's computing device processes this information. The MLM server 160 can also implement specific business rules based on such factors as the percentage of sales of users, sales volume discounts and limiting the number of users.
    EXAMPLE 8B Film Production
  • Film production is a complex process that requires the efforts of groups of individuals including: editors, sound engineers, cinematographers, etc. The process of movie production can be carried out on a social Peer-to-Peer network according to one embodiment of the present invention. FIG. 48 is a summary of a network created to support the production of a film.
      • a) Authentication and Authorization User A 1 has a movie in production. In this case, an electronic copy of the film 120 exists on his local machine. In order to use the network, User A 1 must first be identified and receive authorization from trusted servers 3 to gain access.
      • b) Film availability Once authenticated User A 1 sends film information 120 to the film manager 160 residing within the trusted servers 3.
      • c) Trusted peer access A trusted peer, for example User B 9, who is already authorized to be on the system and is defined by User A 1 to be a trusted peer, obtains information from the resource manager 160. User A 1 and User B 9 can now both work on the film 120 accordingly. User B 9 can then delegate responsibilities and access to the film 120 independent from User A 1. This is because the network is built based on the principle that there is trust between User A 1 and User B 9.
      • d) Process defined users Any connected user that is related to User A 1 or User B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also access the film 120. The film manager 160 carries out the organization and management of this resource.
      • e) Resource information For each user, the local resource service 140 reports the available resource information to the resource manager 160 on the main trusted servers 3. For example, the film manager 160 can implement version control, so only one copy of a film 120 is in production. The film manager 160 can then allocate resources to each user of the trusted network accordingly.
  • As a result, resources can be grouped and shared on a trusted network according to the preference of each individual user.
  • EXAMPLE 8C Film Festivals
  • A film festival is a periodic gathering of individuals with a common objective of showcasing films according to some common theme. FIG. 49 illustrates the use of the present invention for a film festival in the case of sharing previews for the film festival. The network configuration is based on Example 1, file sharing on the network. In FIG. 49, the main components are:
      • a) Authentication and Authorization User A 1 has a video file (film A-1) 120 on a shared folder. User A 1 must first be identified and receive authorization from the trusted servers 3. User A 1 could be a user of the film festival or an audience member.
      • b) Trusted peer access A trusted peer of A 1, in this case User B 9, who is already authorized to be on the system can now access film A-1 120.
      • c) Socially related users access Any connected user that are related to User A 1 or User B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also access film A-1 120 depending on the permission first setup by User A 1.
      • d) Not socially related users Users on the network that do not have a social connection to A 1, for example, User X 90, cannot have access to film A-1 120.
  • When a film festival uses this network, they can distribute content over the available bandwidth of each trusted peer while taking advantage of the growth opportunities of a social network.
  • EXAMPLE 8D Medical Industry
  • The present invention can also be used in the medical industry for diagnostic and collaboration. An example such an application is provided in FIG. 50. This application is similar to the process described in Example 5D. In this case, medical information, for example, test results or medical history are being shared on the network. Each user can represent a stakeholder in the medical industry, for example, specialists, the patient or the medical technologist. Major steps in this process are:
      • a) Authentication and Authorization User A 1 requires updating information 120 that is being stored in a central trusted authority. User A 1 must first be identified and receive authorization from the trusted servers 3 to access the network.
      • b) Medical Information contribution Once authenticated User A 1 submits the new information the trusted authority, a manager server 120.
      • c) Trusted peer information contribution A trusted peer, User B 9, who is on the network can query the manager server 160 or contribute additional information 120.
      • d) Related user request information Any connected user that is related to User A 1 or User B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also edit or view the information 120. In this case, the User B n 70 submits a query to the manager server 160.
      • e) Information is delivered The manager server 160 responds to the query is based on the rules and regulation governing the use of the information 120.
      • f) Medical information The manager server 160 is connected to each user of the trusted social network to ensure each user has the appropriate access to the information.
  • As a result, information can be edited, manipulated, grouped and shared on a trusted network according to the preference of each individual user without the need to explicitly request permission from a central authority such as the trusted servers. The role of the trusted server is simply to initially verify the identity of the user.
  • EXAMPLE 8F Online Movie and/or Music Store
  • Movies and music are increasingly available in digital format. A new type of delivery mechanism and store can be created according to one embodiment of the present invention. Using Example 2B (an electronic market built on a trusted social network based on the transfer of digital rights) as a model, a film company can deliver a movie over a trusted network. In this case, the DRM (Digital Rights Management) server not only manages the rules and regulations governing the ownership of the object but also can enforce payment. The main components of this system are:
      • a) Authentication and Authorization User A 1 is the digital rights holder of a movie 120 located in a shared folder. User A 1 must first be identified and receive authorization from the trusted servers 3 to access the network.
      • b) Initial DRM information User A 1 sends the Digital Rights Management (DRM) information 165 to the DRM server 160.
      • c) Trusted peer of User A requests and obtains item A trusted peer of User A 1, defined as User B 9, who is already authorized to be on the system can now obtain the movie from User A 1. User A 1 must meet the requirements of the DRM server 160. For example, obtaining a valid license to view the movie 120.
      • d) Socially related users with a license can access Any connected users that are related to User A 1 or User B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also obtain the movie 120 depending on the permissions first set up by User A 1 and subsequently, all the other related users. The digital rights information 165 is sent to the DRM manager 160 to ensure compliance with the rights and regulations governing the use of the movie 120.
      • e) Digital rights information For each user, the local accounting service 140 reports the digital rights information 165 to the DRM manager 160. The DRM manager 160 will assign the appropriate access rules and regulation governing the use of the item as defined by the digital rights owner.
  • A new type of retail store is created based on a social Peer-to-Peer network according to one embodiment of the present invention. Each individual user can act as both consumer and distributor enjoying the benefits of network and efficient distribution.

Claims (16)

1. A system for a plurality of users to share resources comprising:
one or more software clients, each of said software clients installed on a computing device; one or more trusted servers; one or more communication means allowing communication between said one or more trusted servers and said one or more software clients,
wherein said trusted servers comprise: a network interface operable to receive data packets from the software clients and further operable to send processed data packets to the software clients; a processing engine in communication with the network interface, said engine operable to associate each data packet with an identifier and to thereby provide said processed data packets; a database containing an identifier associated with each software client in said system, and
wherein each identifier in said database is related to each other identifier by means of a criterion, wherein said criterion is the degree of separation between one user of a software client and a second user of a software client based on a pre-existing relationship of trust, as defined by said users.
2. The system of claim 1 wherein the resources can be any of the following:
information, data, computer files, software, hard drive space, or processing power.
3. The system of claim 2 wherein a user can access the system remotely by communicating with the software client via a communication protocol which can include HTTP, telnet, or custom protocols.
4. The system of claim 3 wherein the communication means allows communication between the software clients.
5. The system of claim 4 wherein each user grants access to resources on their computing device to other users within the system who fall within one or more criteria.
6. A system for a plurality of users to share resources, said system produced by the following process:
a. providing a software client to a first user for installation on a first computing device;
b. receiving a first set of data packets relating to said first user from said software client to one or more trusted servers via one or more communication means;
c. compiling a database of said first data packets;
d. receiving a second set of data packets relating to at least one second user with whom said first user has a pre-existing relationship defined by a criterion, wherein said criterion is trust, as defined by said first and second user;
e. adding said second set of data packets to the database and relating said second set of data packets to said first set of identifying data by means of said criterion;
f. providing the software client to the second user for installation on a second computing device;
wherein, said first, second, or new user can repeat steps b to f resulting in additional users being added to said system.
7. The process of claim 6 wherein the resources can be any of the following:
information, data, computer files, software, hard drive space, or processing power.
8. A method of searching for information, resources or services contained on a computing device connected to the system of claim 1, based on the properties of the object as well as criteria as specified by the user wherein the search can be conducted either by said software client or be the trusted server.
9. A method for creating a market on a system for a plurality of users to share resources, said method comprising the following steps:
establishing a network of computing devices used by two or more users wherein each of said users possesses a unique network identifier and wherein each unique identifier can be related to each other unique identifier based on a criterion, wherein said criterion is the degree of separation between one user and another user based on a pre-existing relationship of trust, as defined by said users; and
providing a market server connected to said network wherein said computing devices can exchange processed data packets with said market server;
wherein said processed data packets relate to the buying and selling of goods and wherein said market server coordinates interactions between said users of said computing devices.
10. The method of claim 9 wherein said goods comprises electronic or non-electronic goods.
11. A method for creating an auction on a system for a plurality of users to share resources, said method comprising the following steps:
establishing a network of computing devices used by two or more users wherein each of said users possesses a unique network identifier and wherein each unique identifier can be related to each other unique identifier based on a criterion, wherein said criterion is the degree of separation between one user and another based on a pre-existing relationship of trust, as defined by said users; and
providing an auction server connected to said network wherein said computing devices can exchange processed data packets with said auction server;
wherein said processed data packets contain information relating to the designation of objects that are available to be auctioned, and bids for said by one or more of said users; and wherein said auction server manages said processed data packets to manage and regulate auctions on said network according to pre-set rules.
12. A method for playing games via a system for a plurality of users to share resources, said method comprising the following steps:
establishing a network of computing devices used by two or more users wherein each of said users possesses a unique network identifier and wherein each unique identifier can be related to each other unique identifier based on a criterion, wherein said criterion is the degree of separation between one user and another based on a pre-existing relationship of trust, as defined by said users; and
providing a game server connected to said network wherein said computing devices can exchange processed data packets with said game server; wherein said processed data packets contain information relating to a game in which the users are participants; and
wherein said game server coordinates and manages the interactions between the users according to pre-set rules.
13. A method for distributing one or more objects to members of a system for a plurality of users to share resources, said method comprising the following steps:
establishing a network of computing devices used by two or more users wherein each of said users possesses a unique network identifier and wherein each unique identifier can be related to each other unique identifier based on a criterion, wherein said criterion is the degree of separation between one user and another based on a pre-existing relationship of trust, as defined by said users; providing one or more trusted servers connected to said network wherein said computing devices can exchange processed data packets with said one or more trusted servers;
establishing a list of unique network identifiers corresponding to users who wish to receive the object and the location of a folder on said computing devices of said users designated to receive said one or more objects, said list located on said trusted servers;
transmitting said one or more objects to said one or more trusted servers with instructions to distribute said object to the members on said list; and
transmitting said one or more objects from said one or more trusted servers to the members of said list;
14. The method of claim 13 where said one or more objects comprise data, digital information, or one or more electronic files or folders.
15. The method of claim 14, wherein said users on said list can edit said object and transmit the resulting edited object to said one or more trusted servers with instructions to transmit said edited object to the members of said list as well as to the user who originally distributed said object; and wherein said edited object is then transmitted from said trusted servers to the members of said list as well as to the user who originally distributed said object.
16. A method for banking via a system for a plurality of users to share resources, said method comprising the following steps:
establishing a network of computing devices used by two or more users wherein each of said users possesses a unique network identifier and wherein each unique identifier can be related to each other unique identifier based on a criterion, wherein said criterion is the degree of separation between one user and another based on a pre-existing relationship of trust, as defined by said users; and
providing a banking server connected to said network wherein said computing devices can exchange processed data packets with said banking server; wherein said processed data packets contain information relating to communication between said two or more users relating to borrowing or loaning money from one of said two or more users to another of said two or more users; and
wherein said banking server coordinates and manages the interactions between said users according to pre-set rules.
US11/381,282 2004-11-04 2006-05-02 System and method for creating a secure trusted social network Abandoned US20060259957A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/381,282 US20060259957A1 (en) 2004-11-04 2006-05-02 System and method for creating a secure trusted social network
US12/965,358 US20110265148A1 (en) 2004-11-04 2010-12-10 System and method for creating a secure trusted social network
US13/404,361 US8402512B2 (en) 2004-11-04 2012-02-24 System and method for creating a secure trusted social network

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CA2,487,327 2004-11-04
CA2487327 2004-11-04
US11/267,668 US7797732B2 (en) 2004-11-04 2005-11-04 System and method for creating a secure trusted social network
US11/381,282 US20060259957A1 (en) 2004-11-04 2006-05-02 System and method for creating a secure trusted social network

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/267,668 Continuation-In-Part US7797732B2 (en) 2004-11-04 2005-11-04 System and method for creating a secure trusted social network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/965,358 Continuation US20110265148A1 (en) 2004-11-04 2010-12-10 System and method for creating a secure trusted social network

Publications (1)

Publication Number Publication Date
US20060259957A1 true US20060259957A1 (en) 2006-11-16

Family

ID=36318856

Family Applications (7)

Application Number Title Priority Date Filing Date
US11/267,668 Expired - Fee Related US7797732B2 (en) 2004-11-04 2005-11-04 System and method for creating a secure trusted social network
US11/381,282 Abandoned US20060259957A1 (en) 2004-11-04 2006-05-02 System and method for creating a secure trusted social network
US12/783,270 Expired - Fee Related US8205245B2 (en) 2004-11-04 2010-05-19 System and method for creating a secure trusted social network
US12/965,358 Abandoned US20110265148A1 (en) 2004-11-04 2010-12-10 System and method for creating a secure trusted social network
US13/404,361 Expired - Fee Related US8402512B2 (en) 2004-11-04 2012-02-24 System and method for creating a secure trusted social network
US13/524,279 Expired - Fee Related US8707394B2 (en) 2004-11-04 2012-06-15 System and method for creating a secure trusted social network
US14/255,532 Abandoned US20140228128A1 (en) 2004-11-04 2014-04-17 System and Method for Creating a Secure Trusted Social Network

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/267,668 Expired - Fee Related US7797732B2 (en) 2004-11-04 2005-11-04 System and method for creating a secure trusted social network

Family Applications After (5)

Application Number Title Priority Date Filing Date
US12/783,270 Expired - Fee Related US8205245B2 (en) 2004-11-04 2010-05-19 System and method for creating a secure trusted social network
US12/965,358 Abandoned US20110265148A1 (en) 2004-11-04 2010-12-10 System and method for creating a secure trusted social network
US13/404,361 Expired - Fee Related US8402512B2 (en) 2004-11-04 2012-02-24 System and method for creating a secure trusted social network
US13/524,279 Expired - Fee Related US8707394B2 (en) 2004-11-04 2012-06-15 System and method for creating a secure trusted social network
US14/255,532 Abandoned US20140228128A1 (en) 2004-11-04 2014-04-17 System and Method for Creating a Secure Trusted Social Network

Country Status (5)

Country Link
US (7) US7797732B2 (en)
EP (1) EP1815642A4 (en)
AU (1) AU2005301055A1 (en)
CA (1) CA2807829C (en)
WO (1) WO2006047879A1 (en)

Cited By (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060117378A1 (en) * 2004-11-04 2006-06-01 Tam Chung M System and method for creating a secure trusted social network
US20070038594A1 (en) * 2005-08-10 2007-02-15 International Business Machines Corporation Method, system, and computer program product for enhancing collaboration using a corporate social network
US20070162459A1 (en) * 2006-01-11 2007-07-12 Nimesh Desai System and method for creating searchable user-created blog content
US20070180078A1 (en) * 2006-01-30 2007-08-02 Microsoft Corporation Automated File Distribution
US20070198492A1 (en) * 2006-02-17 2007-08-23 Yahoo! Inc. Method and system for suggesting prices for rights in files on a network
US20070263671A1 (en) * 2006-05-12 2007-11-15 Benq Corporation State synchronization apparatuses and methods
US20070271272A1 (en) * 2004-09-15 2007-11-22 Mcguire Heather A Social network analysis
US20080005264A1 (en) * 2006-06-28 2008-01-03 Microsoft Corporation Anonymous and secure network-based interaction
US20080059992A1 (en) * 2006-09-06 2008-03-06 Qurio Holdings, Inc. System and method for controlled viral distribution of digital content in a social network
US20080065701A1 (en) * 2006-09-12 2008-03-13 Kent Lindstrom Method and system for tracking changes to user content in an online social network
US20080083021A1 (en) * 2006-10-02 2008-04-03 Presenceid, Inc. Systems and methods for delegating information technology authorization to at least one other person
US20080133391A1 (en) * 2006-09-05 2008-06-05 Kerry Ivan Kurian User interface for sociofinancial systems and methods
US20080196098A1 (en) * 2004-12-31 2008-08-14 Cottrell Lance M System For Protecting Identity in a Network Environment
US20080228746A1 (en) * 2005-11-15 2008-09-18 Markus Michael J Collections of linked databases
US20080270320A1 (en) * 2007-04-30 2008-10-30 Yung-Sung Chien Remote transaction method and system of an on-line platform for floating-rate fund-trading
US20080293448A1 (en) * 2007-05-24 2008-11-27 Sony Ericsson Mobile Communications Ab Assisted lookup of contacting identifiers
US20080301053A1 (en) * 2007-05-29 2008-12-04 Verizon Services Organization Inc. Service broker
WO2009055825A1 (en) * 2007-10-26 2009-04-30 Facebook, Inc. Sharing digital content on a social network
US20090119590A1 (en) * 2007-11-05 2009-05-07 Verizon Data Services Inc. Interactive group content systems and methods
US20090119372A1 (en) * 2007-11-02 2009-05-07 Sean Callanan System and method for providing email warnings
US20090125817A1 (en) * 2007-11-08 2009-05-14 International Business Machines Corporation System and method for sharing data
US20090150380A1 (en) * 2007-12-06 2009-06-11 Industrial Technology Research Institute System and method for processing social relation oriented service
US20090154699A1 (en) * 2007-12-13 2009-06-18 Verizon Services Organization Inc. Network-based data exchange
US20090164320A1 (en) * 2007-12-19 2009-06-25 Scott Galit Private Label Promotion Card System, Program Product, And Associated Computer-Implemented Methods
WO2009089124A1 (en) * 2008-01-04 2009-07-16 Wms Gaming, Inc. Sharing resources in wagering game systems
WO2009114947A1 (en) * 2008-03-20 2009-09-24 Ganz Social networking in a non-personalized environment
US20090254859A1 (en) * 2008-04-03 2009-10-08 Nokia Corporation Automated selection of avatar characteristics for groups
US20090265326A1 (en) * 2008-04-17 2009-10-22 Thomas Dudley Lehrman Dynamic personal privacy system for internet-connected social networks
US20090265319A1 (en) * 2008-04-17 2009-10-22 Thomas Dudley Lehrman Dynamic Personal Privacy System for Internet-Connected Social Networks
US20090313235A1 (en) * 2008-06-12 2009-12-17 Microsoft Corporation Social networks service
US20100057682A1 (en) * 2008-08-29 2010-03-04 Microsoft Corporation Information Feeds of a Social Network
US7698380B1 (en) 2006-12-14 2010-04-13 Qurio Holdings, Inc. System and method of optimizing social networks and user levels based on prior network interactions
US20100107214A1 (en) * 2008-10-27 2010-04-29 Ganz Temporary user account for a virtual world website
US20100114795A1 (en) * 2008-10-31 2010-05-06 Hudson Robert P Stock broker social-professional website system
US20100114711A1 (en) * 2008-10-31 2010-05-06 Hudson Robert P Social-professional website system
US20100153832A1 (en) * 2005-06-29 2010-06-17 S.M.A.R.T. Link Medical., Inc. Collections of Linked Databases
US7764701B1 (en) 2006-02-22 2010-07-27 Qurio Holdings, Inc. Methods, systems, and products for classifying peer systems
US7801971B1 (en) 2006-09-26 2010-09-21 Qurio Holdings, Inc. Systems and methods for discovering, creating, using, and managing social network circuits
US20100262550A1 (en) * 2009-04-08 2010-10-14 Avaya Inc. Inter-corporate collaboration overlay solution for professional social networks
WO2010144208A1 (en) * 2009-06-12 2010-12-16 Alibaba Group Holding Limited Method and apparatus for processing authentication request message in a social network
WO2010144197A1 (en) * 2009-06-12 2010-12-16 Alibaba Group Holidng Limited Method and apparatus for sending authentication request message in a social network
US7857699B2 (en) 2006-11-01 2010-12-28 Igt Gaming system and method of operating a gaming system having a bonus participation bidding sequence
US20110004636A1 (en) * 2007-04-25 2011-01-06 Nokia Corporation System, method, and computer program product for service and application configuration in a network device
US7873988B1 (en) * 2006-09-06 2011-01-18 Qurio Holdings, Inc. System and method for rights propagation and license management in conjunction with distribution of digital content in a social network
US20110030017A1 (en) * 2009-07-29 2011-02-03 Predrag Kostic Method and system for sharing resources for setup boxes (stb) in a home network
US20110029610A1 (en) * 2009-07-31 2011-02-03 Shen-Chang Chao Content Sharing in Mobile Devices
US20110035481A1 (en) * 2008-02-12 2011-02-10 Topeer Corporation System and Method for Navigating and Accessing Resources on Private and/or Public Networks
US20110034182A1 (en) * 2009-08-05 2011-02-10 Oto Technologies, Llc Geographic messaging using location-identified access points
US20110055894A1 (en) * 2009-08-31 2011-03-03 Shen-Chang Chao Firewall and NAT Traversal for Social Networking and/or Content Sharing On Mobile Devices
US7905777B2 (en) 2005-08-04 2011-03-15 Igt Methods and apparatus for auctioning an item via a gaming device
US20110078036A1 (en) * 2009-09-11 2011-03-31 University Of Utah Research Foundation Systems and methods for the assessment, protection, marketing and commercialization of technology-based ideas
US7925592B1 (en) 2006-09-27 2011-04-12 Qurio Holdings, Inc. System and method of using a proxy server to manage lazy content distribution in a social network
US20110093348A1 (en) * 2008-10-31 2011-04-21 Hudson Robert P Financial broker social-professional website internet system
US20110105092A1 (en) * 2009-11-03 2011-05-05 Verizon Patent And Licensing, Inc. Systems and methods for enhancing a user visit to a site premises
US20110167114A1 (en) * 2010-01-05 2011-07-07 International Business Machines Corporation Automatically synchronizing new contacts across multiple social networking sites
US20110167085A1 (en) * 2008-09-12 2011-07-07 Haschek Hans M System and Method for Searching for a Target Contact and for Generating a Contact Path
US8024242B2 (en) 2008-09-04 2011-09-20 Metabank System, method, and program product for foreign currency travel account
US8055557B2 (en) 2007-12-21 2011-11-08 Metabank Transfer account systems, computer program products, and associated computer-implemented methods
US8065187B2 (en) 2007-12-21 2011-11-22 Metabank System, program product, and associated methods to autodraw for micro-credit attached to a prepaid card
US8069467B1 (en) 2006-11-14 2011-11-29 Ogilvie John W Privacy protection through restrictions on usernames and other online identifiers
US8090649B2 (en) 2008-12-18 2012-01-03 Metabank Computerized extension of credit to existing demand deposit accounts, prepaid cards and lines of credit based on expected tax refund proceeds, associated systems and computer program products
US8103549B1 (en) 2008-04-04 2012-01-24 Metabank System, program product, and associated methods to autodraw for micro-credit attached to prepaid card
US8108279B2 (en) 2007-12-21 2012-01-31 Metabank Computer-implemented methods, program product, and system to enhance banking terms over time
US8108272B2 (en) 2007-12-21 2012-01-31 Metabank Transfer account systems, computer program products, and computer-implemented methods to prioritize payments from preselected bank account
US8108977B1 (en) 2008-10-31 2012-02-07 Metabank Machine, methods, and program product for electronic order entry
US20120042165A1 (en) * 2009-04-16 2012-02-16 Georg Wittenburg Method for providing data on mobile terminals and mobile terminal for performing the method
EP2447874A1 (en) * 2010-10-27 2012-05-02 Sony Ericsson Mobile Communications AB Digital rights management (DRM) domain recommendation and selection based on a user's social graphs
US8175972B2 (en) 2008-05-14 2012-05-08 Metabank Pre-paid card transaction computer to load a loan on a pre-paid card
US8175962B2 (en) 2008-12-18 2012-05-08 Metabank Computerized extension of credit to existing demand deposit accounts, prepaid cards and lines of credit based on expected tax refund proceeds, associated systems and computer program products
US8190681B2 (en) 2005-07-27 2012-05-29 Within3, Inc. Collections of linked databases and systems and methods for communicating about updates thereto
US8216065B2 (en) 2005-09-09 2012-07-10 Igt Gaming system having multiple adjacently arranged gaming machines which each provide a component for a multi-component game
US8266047B2 (en) 2008-09-04 2012-09-11 Metabank System, method, and program product for foreign currency travel account
US20120238367A1 (en) * 2011-02-17 2012-09-20 DeNA Co., Ltd. Method of exchanging game items, networked game system, and social media
US20120246087A1 (en) * 2010-11-19 2012-09-27 Naresh Talati Method and apparatus for establishing an exclusive network of Strong Tie connections which is then used to make referenceable connections between members for various personal and business benefits
US8286863B1 (en) 2009-02-04 2012-10-16 Metabank System and computer program product to issue a retail prepaid card including a user-designed external face using a chit and related computer implemented methods
US20120303518A1 (en) * 2009-06-12 2012-11-29 Miroslav Sarbaev Method and system for distributing and paying for content on social networks
US8341021B2 (en) 2008-04-04 2012-12-25 Metabank System, program product, and method for debit card and checking account autodraw
US8358579B1 (en) * 2006-08-23 2013-01-22 Quiro Holdings, Inc. Controlling quality of service and content quality based on user relationships
US20130031136A1 (en) * 2011-07-28 2013-01-31 International Business Machines Corporation Cloud database sharing
US8373582B2 (en) 1998-01-27 2013-02-12 Steven M. Hoffberg Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US8371502B1 (en) 2008-10-28 2013-02-12 Metabank Shopping center gift card offer fulfillment machine, program product, and associated methods
US8403211B2 (en) 2008-09-04 2013-03-26 Metabank System, program product and methods for retail activation and reload associated with partial authorization transactions
US8412512B1 (en) * 2011-05-20 2013-04-02 Google Inc. Feed translation for a social network
US20130103376A1 (en) * 2011-10-25 2013-04-25 Cellco Partnership D/B/A Verizon Wireless Multiple client simulator for push engine
US20130211913A1 (en) * 2011-02-17 2013-08-15 Bank Of America Corporation System for analyzing social media influence on financial transactions
US20130217479A1 (en) * 2009-03-06 2013-08-22 Michael Arieh Luxton Limiting Transfer of Virtual Currency in a Multiuser Online Game
US20130238763A1 (en) * 2011-02-11 2013-09-12 Good Technology Corporation Method, apparatus and system for provisioning a push notification session
US8538879B2 (en) 2008-05-14 2013-09-17 Metabank System, program product, and computer-implemented method for loading a loan on an existing pre-paid card
US8543716B1 (en) * 2012-09-20 2013-09-24 Fmr Llc Method and system enabling a first computing device to instruct a second computing device to display data
US8548918B1 (en) 2006-12-18 2013-10-01 Qurio Holdings, Inc. Methods and systems for automated content distribution
US20130260812A1 (en) * 2012-03-30 2013-10-03 Qualcomm Incorporated Methods and apparatus for controlling devices with no or limited wwan capability in peer to peer communication
US20130262699A1 (en) * 2012-03-28 2013-10-03 Sony Corporation Information processing apparatus, information processing system, and program
US8554827B2 (en) 2006-09-29 2013-10-08 Qurio Holdings, Inc. Virtual peer for a content sharing system
US8577886B2 (en) 2004-09-15 2013-11-05 Within3, Inc. Collections of linked databases
US20130304763A1 (en) * 2012-05-10 2013-11-14 Deni Esposito Internal social network for an enterprise and applications thereof
US8600830B2 (en) 2003-02-05 2013-12-03 Steven M. Hoffberg System and method for providing a payment to a non-winning auction participant
US8635217B2 (en) 2004-09-15 2014-01-21 Michael J. Markus Collections of linked databases
US8700719B1 (en) * 2010-05-18 2014-04-15 Google Inc. Embedded applications with access to attachments in hosted conversations
US20140114912A1 (en) * 2008-02-19 2014-04-24 International Business Machines Corporation Document synchronization solution
US20140164573A1 (en) * 2012-12-12 2014-06-12 Asustek Computer Inc. Data transmission system and method
CN103873543A (en) * 2012-12-12 2014-06-18 华硕电脑股份有限公司 Data transmission system and method
US8769012B1 (en) * 2011-10-13 2014-07-01 Google Inc. System and method for facilitating document collaboration
US8812589B2 (en) * 2007-05-02 2014-08-19 Adobe Systems Incorporated Method and system for document-driven message-based communication
US8819150B1 (en) * 2010-05-18 2014-08-26 Google Inc. Generating a conversation associated with a webpage
US20140273949A1 (en) * 2013-03-13 2014-09-18 Qualcomm Incorporated Method and apparatus for wireless device countermeasures against malicious infrastructure
US20140279131A1 (en) * 2013-03-14 2014-09-18 Robert Edward Sullivan On-line marketplace service
US8861937B2 (en) 2011-08-31 2014-10-14 The Nielsen Company (Us), Llc Methods and apparatus to access media
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US8880521B2 (en) * 2004-09-15 2014-11-04 3Degrees Llc Collections of linked databases
US20150046560A1 (en) * 2013-08-08 2015-02-12 Massoud Alibakhsh System and method for wirelessly transmitting and receiving customized data broadcasts
TWI479873B (en) * 2010-03-08 2015-04-01 Alibaba Group Holding Ltd Method and apparatus for processing authentication request message in social network
US9022868B2 (en) 2011-02-10 2015-05-05 Ganz Method and system for creating a virtual world where user-controlled characters interact with non-player characters
US20150139609A1 (en) * 2012-05-28 2015-05-21 Samsung Electronics Co., Ltd. Method and system for enhancing user experience during an ongoing content viewing activity
US20150227989A1 (en) * 2014-02-12 2015-08-13 Cellco Partnership D/B/A Verizon Wireless Method and System for Enforcing Acknowledgement of Terms and Conditions
WO2015164022A1 (en) * 2014-04-24 2015-10-29 Ebay Inc. Location-based crowdsourced funds
US9213965B1 (en) 2008-11-26 2015-12-15 Metabank Machine, methods, and program product for electronic inventory tracking
US20160014201A1 (en) * 2014-07-09 2016-01-14 Buffalo Inc. Information processing system, network storage device, and non-transitory recording medium
US9311670B2 (en) 2004-09-10 2016-04-12 Steven M. Hoffberg Game theoretic prioritization system and method
US9319410B1 (en) * 2014-01-07 2016-04-19 Fundology, Inc. Electronic shared-document repository
US9317147B2 (en) 2012-10-24 2016-04-19 Microsoft Technology Licensing, Llc. Input testing tool
US9378389B2 (en) 2011-09-09 2016-06-28 Microsoft Technology Licensing, Llc Shared item account selection
US9390101B1 (en) * 2012-12-11 2016-07-12 Veritas Technologies Llc Social deduplication using trust networks
US9395845B2 (en) 2011-01-24 2016-07-19 Microsoft Technology Licensing, Llc Probabilistic latency modeling
US9420041B2 (en) * 2014-09-30 2016-08-16 International Business Machines Corporation Optimizing resource downloads or streams using a collection of trusted network connected endpoints
US9444846B2 (en) 2014-06-19 2016-09-13 Xerox Corporation Methods and apparatuses for trust computation
US9508067B2 (en) 2008-09-04 2016-11-29 Metabank System, program product and methods for retail activation and reload associated with partial authorization transactions
US20170024694A1 (en) * 2010-04-02 2017-01-26 Tracelink, Inc. Method and System for Collaborative Execution of Business Processes
US9710105B2 (en) 2011-01-24 2017-07-18 Microsoft Technology Licensing, Llc. Touchscreen testing
US9785281B2 (en) 2011-11-09 2017-10-10 Microsoft Technology Licensing, Llc. Acoustic touch sensitive testing
US10057318B1 (en) * 2012-08-10 2018-08-21 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
US10171599B2 (en) 2006-09-12 2019-01-01 Facebook, Inc. Customizing tracking changes to user content in an online social network
US10318980B2 (en) 2009-09-28 2019-06-11 Metabank Computer-implemented methods, computer program products, and machines for management and control of a loyalty rewards network
US10515405B2 (en) 2008-03-03 2019-12-24 Metabank Person-to-person lending program product, system, and associated computer-implemented methods
US10769131B2 (en) 2004-11-08 2020-09-08 Dropbox, Inc. Method and apparatus for a file sharing and synchronization system
US10812354B2 (en) 2009-10-23 2020-10-20 Www.Trustscience.Com Inc. Parallel computational framework and application server for determining path connectivity
US10902514B2 (en) 2018-04-10 2021-01-26 Wells Fargo Bank, N.A. Systems and methods for private loan creation
US11019496B2 (en) * 2016-10-31 2021-05-25 Yulong Computer Telecommunication Scientific (Shenzhen) Co., Ltd. Method and electronic device for identifying a pseudo wireless access point
US11132456B2 (en) * 2012-12-07 2021-09-28 Duvon Corporation File sharing system and method
US11132107B2 (en) * 2015-03-02 2021-09-28 Dropbox, Inc. Native application collaboration
US11170345B2 (en) 2015-12-29 2021-11-09 Dropbox Inc. Content item activity feed for presenting events associated with content items
US11172038B2 (en) 2014-04-08 2021-11-09 Dropbox, Inc. Browser display of native application presence and interaction data
US11227331B2 (en) 2008-05-14 2022-01-18 Metabank System, program product, and computer-implemented method for loading a loan on an existing pre-paid card
US11323347B2 (en) 2009-09-30 2022-05-03 Www.Trustscience.Com Inc. Systems and methods for social graph data analytics to determine connectivity within a community
US11334596B2 (en) 2018-04-27 2022-05-17 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
US11341145B2 (en) 2016-02-29 2022-05-24 Www.Trustscience.Com Inc. Extrapolating trends in trust scores
US11386129B2 (en) 2016-02-17 2022-07-12 Www.Trustscience.Com Inc. Searching for entities based on trust score and geography
US11425175B2 (en) 2016-04-04 2022-08-23 Dropbox, Inc. Change comments for synchronized content items
US11455677B2 (en) * 2006-03-30 2022-09-27 Ebay Inc. Community based network shopping
US20230062137A1 (en) * 2021-08-27 2023-03-02 Logitech Europe S.A. Method and apparatus for simultaneous video editing
US11640569B2 (en) 2016-03-24 2023-05-02 Www.Trustscience.Com Inc. Learning an entity's trust model and risk tolerance to calculate its risk-taking score
US11645405B2 (en) 2020-09-30 2023-05-09 Duvon Corporation Secure fetch of digital content
US11875028B2 (en) 2015-12-30 2024-01-16 Dropbox, Inc. Native application collaboration
US11900479B2 (en) 2015-03-20 2024-02-13 Www.Trustscience.Com Inc. Calculating a trust score

Families Citing this family (239)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725525B2 (en) * 2000-05-09 2010-05-25 James Duncan Work Method and apparatus for internet-based human network brokering
ATE378759T1 (en) 2003-05-06 2007-11-15 Cvon Innovations Ltd MESSAGE TRANSMISSION SYSTEM AND INFORMATION SERVICE
GB0321337D0 (en) * 2003-09-11 2003-10-15 Massone Mobile Advertising Sys Method and system for distributing advertisements
US8010458B2 (en) 2004-05-26 2011-08-30 Facebook, Inc. System and method for managing information flow between members of an online social network
US7779410B2 (en) * 2004-12-17 2010-08-17 Sap Ag Control interfaces for distributed system applications
US8151358B1 (en) * 2005-04-07 2012-04-03 Aol Inc. Annotation of digital items in a shared list
CA2615659A1 (en) * 2005-07-22 2007-05-10 Yogesh Chunilal Rathod Universal knowledge management and desktop search system
US7877387B2 (en) 2005-09-30 2011-01-25 Strands, Inc. Systems and methods for promotional media item selection and promotional program unit generation
US9336333B2 (en) * 2006-02-13 2016-05-10 Linkedin Corporation Searching and reference checking within social networks
US7779004B1 (en) 2006-02-22 2010-08-17 Qurio Holdings, Inc. Methods, systems, and products for characterizing target systems
US20070209069A1 (en) * 2006-03-03 2007-09-06 Motorola, Inc. Push-to-ask protocol layer provisioning and usage method
US9076143B1 (en) * 2006-04-25 2015-07-07 A9.Com, Inc. System and method for multiple user advertisement accounts
US8612483B2 (en) 2006-05-31 2013-12-17 Red Hat, Inc. Link swarming in an open overlay for social networks and online services
US8615550B2 (en) * 2006-05-31 2013-12-24 Red Hat, Inc. Client-side data scraping for open overlay for social networks and online services
US9165282B2 (en) 2006-05-31 2015-10-20 Red Hat, Inc. Shared playlist management for open overlay for social networks and online services
US7792903B2 (en) 2006-05-31 2010-09-07 Red Hat, Inc. Identity management for open overlay for social networks and online services
US8688742B2 (en) * 2006-05-31 2014-04-01 Red Hat, Inc. Open overlay for social networks and online services
US8280014B1 (en) * 2006-06-27 2012-10-02 VoiceCaptionIt, Inc. System and method for associating audio clips with objects
US9152928B2 (en) * 2006-06-30 2015-10-06 Triplay, Inc. Context parameters and identifiers for communication
US8949337B2 (en) * 2006-06-30 2015-02-03 The Invention Science Fund I, Llc Generation and establishment of identifiers for communication
US8549077B2 (en) * 2006-06-30 2013-10-01 The Invention Science Fund I, Llc Usage parameters for communication content
WO2008020110A1 (en) 2006-08-14 2008-02-21 Cvon Innovations Ltd Creation of a virtual community
US9219815B2 (en) * 2006-08-18 2015-12-22 Triplay, Inc. Identifier technique for communication interchange
US7782866B1 (en) 2006-09-29 2010-08-24 Qurio Holdings, Inc. Virtual peer in a peer-to-peer network
US8249903B2 (en) * 2006-10-10 2012-08-21 Accenture Global Services Limited Method and system of determining and evaluating a business relationship network for forming business relationships
DE102006050639A1 (en) * 2006-10-26 2008-04-30 Philip Behrens Method and device for controlling and / or limiting electronic media content
WO2008049955A1 (en) 2006-10-27 2008-05-02 Cvon Innovations Ltd Method and device for managing subscriber connection
US8108501B2 (en) * 2006-11-01 2012-01-31 Yahoo! Inc. Searching and route mapping based on a social network, location, and time
US20080117928A1 (en) * 2006-11-22 2008-05-22 Fatdoor, Inc. Communication capture in a geo-spatial environment
US20080125148A1 (en) * 2006-11-27 2008-05-29 Motorola, Inc. Conveying relation information using electronic business cards
US8762542B2 (en) * 2006-11-30 2014-06-24 Red Hat, Inc. Protocol for sharing information in a peer to peer service
US8140506B2 (en) * 2006-11-30 2012-03-20 Red Hat, Inc. File sharing based on social network
US8287281B2 (en) * 2006-12-06 2012-10-16 Microsoft Corporation Memory training via visual journal
US7886334B1 (en) 2006-12-11 2011-02-08 Qurio Holdings, Inc. System and method for social network trust assessment
US8346864B1 (en) 2006-12-13 2013-01-01 Qurio Holdings, Inc. Systems and methods for social network based conferencing
US7730216B1 (en) 2006-12-14 2010-06-01 Qurio Holdings, Inc. System and method of sharing content among multiple social network nodes using an aggregation node
CN100521662C (en) * 2006-12-19 2009-07-29 腾讯科技(深圳)有限公司 Method and system for realizing instant communication using browsers
US9195996B1 (en) 2006-12-27 2015-11-24 Qurio Holdings, Inc. System and method for classification of communication sessions in a social network
GB2440990B (en) 2007-01-09 2008-08-06 Cvon Innovations Ltd Message scheduling system
US20080183049A1 (en) * 2007-01-31 2008-07-31 Microsoft Corporation Remote management of captured image sequence
US7680882B2 (en) * 2007-03-06 2010-03-16 Friendster, Inc. Multimedia aggregation in an online social network
WO2008107510A1 (en) * 2007-03-07 2008-09-12 Cvon Innovations Ltd An access control method and system
GB2438475A (en) 2007-03-07 2007-11-28 Cvon Innovations Ltd A method for ranking search results
GB2445630B (en) * 2007-03-12 2008-11-12 Cvon Innovations Ltd Dynamic message allocation system and method
US8583564B2 (en) * 2007-03-26 2013-11-12 Microsoft Corporation Differential pricing based on social network standing
GB2441399B (en) 2007-04-03 2009-02-18 Cvon Innovations Ltd Network invitation arrangement and method
GB2448190A (en) 2007-04-05 2008-10-08 Cvon Innovations Ltd Data delivery evaluation system
US8671000B2 (en) 2007-04-24 2014-03-11 Apple Inc. Method and arrangement for providing content to multimedia devices
GB2440408B (en) * 2007-05-16 2008-06-25 Cvon Innovations Ltd Method and system for scheduling of messages
US8935718B2 (en) 2007-05-22 2015-01-13 Apple Inc. Advertising management method and system
GB2450193A (en) * 2007-06-12 2008-12-17 Cvon Innovations Ltd Method and system for managing credits via a mobile device
GB2450144A (en) * 2007-06-14 2008-12-17 Cvon Innovations Ltd System for managing the delivery of messages
US20090077480A1 (en) * 2007-06-19 2009-03-19 Caunter Mark Leslie Apparatus and method of managing electronic communities of users
DE102007049878A1 (en) * 2007-07-25 2009-01-29 Marcus Regensburger Consumable and server system and method for allocating a monetary advantage
US7720722B2 (en) 2007-08-23 2010-05-18 Ebay Inc. Sharing shopping information on a network-based social platform
US20090055263A1 (en) * 2007-08-23 2009-02-26 Ebay Inc. Promoting shopping information on a network based social platform
US8438069B2 (en) 2007-08-23 2013-05-07 Ebay Inc. Methods and systems to facilitate a purchase of an item on a network-based marketplace
US7945482B2 (en) 2007-08-23 2011-05-17 Ebay Inc. Viewing shopping information on a network-based social platform
GB2452789A (en) * 2007-09-05 2009-03-18 Cvon Innovations Ltd Selecting information content for transmission by identifying a keyword in a previous message
US20090076904A1 (en) * 2007-09-17 2009-03-19 Frank David Serena Embedding digital values for digital exchange
GB2453810A (en) 2007-10-15 2009-04-22 Cvon Innovations Ltd System, Method and Computer Program for Modifying Communications by Insertion of a Targeted Media Content or Advertisement
GB2456184A (en) * 2008-01-07 2009-07-08 Cvon Innovations Ltd System for selecting an information provider or service provider
WO2009102501A2 (en) * 2008-02-15 2009-08-20 Your Net Works, Inc. System, method, and computer program product for providing an association between a first participant and a second participant in a social network
US8838646B2 (en) * 2008-03-05 2014-09-16 International Business Machines Corporation Using social networking thresholds in access control decisions
US8103382B2 (en) * 2008-04-24 2012-01-24 North End Technologies Method and system for sharing information through a mobile multimedia platform
US20090287707A1 (en) * 2008-05-15 2009-11-19 International Business Machines Corporation Method to Manage Inventory Using Degree of Separation Metrics
US20090313300A1 (en) * 2008-06-17 2009-12-17 International Business Machines Corporation Method, computer program product and system for dynamically determining actions associated to operations on rich media objects
US8060603B2 (en) 2008-06-18 2011-11-15 Qualcomm Incorporated Persistent personal messaging in a distributed system
US20100005059A1 (en) * 2008-07-02 2010-01-07 International Business Machines Corporation Cascaded Address Books on Mobile Phones Within a Social Network
US20100005518A1 (en) * 2008-07-03 2010-01-07 Motorola, Inc. Assigning access privileges in a social network
EP2297685A1 (en) * 2008-07-04 2011-03-23 Yogesh Chunilal Rathod Methods and systems for brands social networks (bsn) platform
US20100131265A1 (en) * 2008-11-25 2010-05-27 Nokia Corporation Method, Apparatus and Computer Program Product for Providing Context Aware Queries in a Network
US8473549B2 (en) * 2008-12-22 2013-06-25 Motorola Solutions, Inc. Method of identifying and conveying a role associated with users in a communication
US8886672B2 (en) * 2009-03-12 2014-11-11 International Business Machines Corporation Providing access in a distributed filesystem
US8161551B1 (en) * 2009-04-21 2012-04-17 Mcafee, Inc. System, method, and computer program product for enabling communication between security systems
US8261329B2 (en) * 2009-05-27 2012-09-04 International Business Machines Corporation Trust and identity in secure calendar sharing collaboration
US20100323667A1 (en) * 2009-06-23 2010-12-23 Nokia Corporation Method and apparatus for in-application notice of independent message
US20100333019A1 (en) * 2009-06-26 2010-12-30 Nokia Corporation Method and apparatus for providing member request and response in a social network
US8943211B2 (en) * 2009-07-02 2015-01-27 Microsoft Corporation Reputation mashup
US8752186B2 (en) * 2009-07-23 2014-06-10 Facebook, Inc. Dynamic enforcement of privacy settings by a social networking system on information shared with an external system
US8589516B2 (en) 2009-09-10 2013-11-19 Motorola Mobility Llc Method and system for intermediating content provider website and mobile device
US8990338B2 (en) 2009-09-10 2015-03-24 Google Technology Holdings LLC Method of exchanging photos with interface content provider website
US9712498B2 (en) 2009-10-14 2017-07-18 Trice Imaging, Inc. Systems and devices for encrypting, converting and interacting with medical images
US9235605B2 (en) 2009-10-14 2016-01-12 Trice Imaging, Inc. Systems and methods for converting and delivering medical images to mobile devices and remote communications systems
US11948678B2 (en) 2009-10-14 2024-04-02 Trice Imaging, Inc. Systems and devices for encrypting, converting and interacting with medical images
US11206245B2 (en) 2009-10-14 2021-12-21 Trice Imaging, Inc. Systems and devices for encrypting, converting and interacting with medical images
US11462314B2 (en) 2009-10-14 2022-10-04 Trice Imaging, Inc. Systems and devices for encrypting, converting and interacting with medical images
EP2343866B1 (en) * 2010-01-11 2016-03-30 Vodafone Holding GmbH Network-based system for social interactions between users
US8666993B2 (en) 2010-02-22 2014-03-04 Onepatont Software Limited System and method for social networking for managing multidimensional life stream related active note(s) and associated multidimensional active resources and actions
US20110208822A1 (en) * 2010-02-22 2011-08-25 Yogesh Chunilal Rathod Method and system for customized, contextual, dynamic and unified communication, zero click advertisement and prospective customers search engine
US20110229860A1 (en) * 2010-03-17 2011-09-22 Avshalom Leventhal System and method for interactive entrepreneurship activities
US8732208B2 (en) 2010-04-19 2014-05-20 Facebook, Inc. Structured search queries based on social-graph information
US8918418B2 (en) 2010-04-19 2014-12-23 Facebook, Inc. Default structured search queries on online social networks
US8868603B2 (en) 2010-04-19 2014-10-21 Facebook, Inc. Ambiguous structured search queries on online social networks
US9633121B2 (en) 2010-04-19 2017-04-25 Facebook, Inc. Personalizing default search queries on online social networks
US8244848B1 (en) * 2010-04-19 2012-08-14 Facebook, Inc. Integrated social network environment
US8751521B2 (en) 2010-04-19 2014-06-10 Facebook, Inc. Personalized structured search queries for online social networks
US8185558B1 (en) 2010-04-19 2012-05-22 Facebook, Inc. Automatically generating nodes and edges in an integrated social graph
US8782080B2 (en) 2010-04-19 2014-07-15 Facebook, Inc. Detecting social graph elements for structured search queries
US8180804B1 (en) 2010-04-19 2012-05-15 Facebook, Inc. Dynamically generating recommendations based on social graph information
US8898217B2 (en) 2010-05-06 2014-11-25 Apple Inc. Content delivery based on user terminal events
US8504419B2 (en) 2010-05-28 2013-08-06 Apple Inc. Network-based targeted content delivery based on queue adjustment factors calculated using the weighted combination of overall rank, context, and covariance scores for an invitational content item
US9367847B2 (en) 2010-05-28 2016-06-14 Apple Inc. Presenting content packages based on audience retargeting
US20120016999A1 (en) * 2010-07-14 2012-01-19 Sap Ag Context for Sharing Data Objects
US8990103B2 (en) 2010-08-02 2015-03-24 Apple Inc. Booking and management of inventory atoms in content delivery systems
US8996402B2 (en) 2010-08-02 2015-03-31 Apple Inc. Forecasting and booking of inventory atoms in content delivery systems
CN102375819B (en) * 2010-08-05 2015-08-19 腾讯科技(深圳)有限公司 A kind of information query method and system
US8510658B2 (en) 2010-08-11 2013-08-13 Apple Inc. Population segmentation
KR20120018685A (en) * 2010-08-23 2012-03-05 주식회사 팬택 Termianl for recogniging multi user input and control method thereof
US8510309B2 (en) 2010-08-31 2013-08-13 Apple Inc. Selection and delivery of invitational content based on prediction of user interest
US8640032B2 (en) 2010-08-31 2014-01-28 Apple Inc. Selection and delivery of invitational content based on prediction of user intent
US8983978B2 (en) 2010-08-31 2015-03-17 Apple Inc. Location-intention context for content delivery
US20120110643A1 (en) * 2010-11-01 2012-05-03 Schmidt Jeffrey C System and method for transparently providing access to secure networks
US9037656B2 (en) 2010-12-20 2015-05-19 Google Technology Holdings LLC Method and system for facilitating interaction with multiple content provider websites
US8620799B2 (en) 2011-01-18 2013-12-31 The Western Union Company Universal ledger
US9721033B2 (en) * 2011-02-28 2017-08-01 Micro Focus Software Inc. Social networking content management
US8887289B1 (en) * 2011-03-08 2014-11-11 Symantec Corporation Systems and methods for monitoring information shared via communication services
US20120278103A1 (en) * 2011-04-28 2012-11-01 Tiatros Inc. System and method for uploading and securing health care records to trusted health-user communities
US10714219B2 (en) 2011-04-28 2020-07-14 Tiatros, Inc. System and method for uploading and sharing medical images within trusted health-user communities
US8930462B1 (en) * 2011-07-05 2015-01-06 Symantec Corporation Techniques for enforcing data sharing policies on a collaboration platform
US8903908B2 (en) * 2011-07-07 2014-12-02 Blackberry Limited Collaborative media sharing
US9092491B2 (en) * 2011-07-11 2015-07-28 International Business Machines Corporation Searching documentation across interconnected nodes in a distributed network
US20130035946A1 (en) * 2011-08-03 2013-02-07 Suneel James Ratan Social networks for care coordination, management, and support and health information exchange
US8850535B2 (en) 2011-08-05 2014-09-30 Safefaces LLC Methods and systems for identity verification in a social network using ratings
US8850536B2 (en) 2011-08-05 2014-09-30 Safefaces LLC Methods and systems for identity verification in a social network using ratings
US9729549B2 (en) 2011-09-24 2017-08-08 Elwha Llc Behavioral fingerprinting with adaptive development
US9621404B2 (en) 2011-09-24 2017-04-11 Elwha Llc Behavioral fingerprinting with social networking
US9825967B2 (en) 2011-09-24 2017-11-21 Elwha Llc Behavioral fingerprinting via social networking interaction
US20130191887A1 (en) * 2011-10-13 2013-07-25 Marc E. Davis Social network based trust verification Schema
US9858399B2 (en) * 2011-09-27 2018-01-02 Rakuten, Inc. Group definition management system
US8966643B2 (en) * 2011-10-08 2015-02-24 Broadcom Corporation Content security in a social network
US10192176B2 (en) 2011-10-11 2019-01-29 Microsoft Technology Licensing, Llc Motivation of task completion and personalization of tasks and lists
US9007364B2 (en) * 2011-10-12 2015-04-14 Salesforce.Com, Inc. Augmented reality display apparatus and related methods using database record data
US8774781B1 (en) * 2011-11-01 2014-07-08 First Data Corporation Mobile payment and identity verification system
US10679190B1 (en) 2011-11-08 2020-06-09 X Development Llc Context-dependent inferred social network
US9338171B2 (en) 2011-12-30 2016-05-10 Nokia Corporation Method and apparatus for controlling access to resources
US9083728B1 (en) 2012-03-06 2015-07-14 Tal Lavian Systems and methods to support sharing and exchanging in a network
US20130254296A1 (en) * 2012-03-23 2013-09-26 Salesforce.Com, Inc. Social network communities
US9419933B2 (en) * 2012-05-18 2016-08-16 University Of Florida Research Foundation, Incorporated Maximizing circle of trust in online social networks
US20130332854A1 (en) * 2012-06-10 2013-12-12 Apple Inc. Creating image streams and sharing the image streams across different devices
US9374374B2 (en) 2012-06-19 2016-06-21 SecureMySocial, Inc. Systems and methods for securing social media for users and businesses and rewarding for enhancing security
US9141504B2 (en) 2012-06-28 2015-09-22 Apple Inc. Presenting status data received from multiple devices
JP5735936B2 (en) * 2012-06-29 2015-06-17 株式会社コナミデジタルエンタテインメント GAME SYSTEM, CONTROL METHOD USED FOR THE SAME, AND COMPUTER PROGRAM
US9135601B2 (en) * 2012-07-09 2015-09-15 Sage Software, Inc. Verification-based access to features in a business context-based social network
US10193887B2 (en) * 2012-07-10 2019-01-29 Oath Inc. Network appliance
WO2014011168A1 (en) * 2012-07-11 2014-01-16 Uri Singer System, method, and apparatus for connecting users online based on familiarity or invitation
US8935255B2 (en) 2012-07-27 2015-01-13 Facebook, Inc. Social static ranking for search
US20140040184A1 (en) * 2012-08-01 2014-02-06 Anne Benissan Automated relationship advice
US9424612B1 (en) * 2012-08-02 2016-08-23 Facebook, Inc. Systems and methods for managing user reputations in social networking systems
US9449156B2 (en) * 2012-10-01 2016-09-20 Microsoft Technology Licensing, Llc Using trusted devices to augment location-based account protection
US8874754B2 (en) * 2012-10-16 2014-10-28 Softwin Srl Romania Load balancing in handwritten signature authentication systems
US8887260B2 (en) 2012-10-25 2014-11-11 Facebook, Inc. Token-based access control
JP6068103B2 (en) * 2012-11-16 2017-01-25 任天堂株式会社 Authority management system, server system, authority management program, and authority management method
US8904480B2 (en) * 2012-11-29 2014-12-02 International Business Machines Corporation Social authentication of users
US9319450B2 (en) 2012-12-10 2016-04-19 At&T Intellectual Property I, L.P. Emergency alert messages via social media
US20140172975A1 (en) * 2012-12-18 2014-06-19 Patrick D. Smith Method and System to Create Social Capital
US9223826B2 (en) 2013-02-25 2015-12-29 Facebook, Inc. Pushing suggested search queries to mobile devices
US9690931B1 (en) 2013-03-11 2017-06-27 Facebook, Inc. Database attack detection tool
US9137723B2 (en) * 2013-03-15 2015-09-15 Facebook, Inc. Portable platform for networked computing
KR101393159B1 (en) * 2013-04-10 2014-05-30 숭실대학교산학협력단 Method and apparatus for controlling access based on key in social network service
US9910887B2 (en) 2013-04-25 2018-03-06 Facebook, Inc. Variable search query vertical access
US9330183B2 (en) 2013-05-08 2016-05-03 Facebook, Inc. Approximate privacy indexing for search queries on online social networks
US9223898B2 (en) 2013-05-08 2015-12-29 Facebook, Inc. Filtering suggested structured queries on online social networks
US9916329B2 (en) * 2013-07-02 2018-03-13 Facebook, Inc. Selecting images associated with content received from a social networking system user
US9305322B2 (en) 2013-07-23 2016-04-05 Facebook, Inc. Native application testing
CN103731754B (en) * 2013-12-06 2017-01-11 广州顶毅电子有限公司 One-key information interaction method and system
US9336300B2 (en) 2014-01-17 2016-05-10 Facebook, Inc. Client-side search templates for online social networks
CN104811428B (en) * 2014-01-28 2019-04-12 阿里巴巴集团控股有限公司 Utilize the method, apparatus and system of social networks data verification client identity
US8937941B1 (en) * 2014-03-31 2015-01-20 Ringcentral, Inc. Techniques for VoIP provider interconnection over the internet using a shared subscriber contact identifier translation service
US10397357B2 (en) 2014-07-23 2019-08-27 Facebook, Inc. Rural area network device
US10291735B2 (en) * 2014-07-23 2019-05-14 Facebook, Inc. Residential cache appliance utilizing a social network
US10205797B2 (en) 2014-12-29 2019-02-12 Facebook, Inc. Application service delivery through an application service avatar
US10572539B2 (en) 2015-05-01 2020-02-25 Vladimir Cher Noble Ecosystem-patterned user-centric information and interaction network
US10509832B2 (en) 2015-07-13 2019-12-17 Facebook, Inc. Generating snippet modules on online social networks
US10268664B2 (en) 2015-08-25 2019-04-23 Facebook, Inc. Embedding links in user-created content on online social networks
US10810217B2 (en) 2015-10-07 2020-10-20 Facebook, Inc. Optionalization and fuzzy search on online social networks
US10270868B2 (en) 2015-11-06 2019-04-23 Facebook, Inc. Ranking of place-entities on online social networks
US9602965B1 (en) 2015-11-06 2017-03-21 Facebook, Inc. Location-based place determination using online social networks
US10795936B2 (en) 2015-11-06 2020-10-06 Facebook, Inc. Suppressing entity suggestions on online social networks
US10534814B2 (en) 2015-11-11 2020-01-14 Facebook, Inc. Generating snippets on online social networks
US10387511B2 (en) 2015-11-25 2019-08-20 Facebook, Inc. Text-to-media indexes on online social networks
US10740368B2 (en) 2015-12-29 2020-08-11 Facebook, Inc. Query-composition platforms on online social networks
US10853335B2 (en) 2016-01-11 2020-12-01 Facebook, Inc. Identification of real-best-pages on online social networks
US10162899B2 (en) 2016-01-15 2018-12-25 Facebook, Inc. Typeahead intent icons and snippets on online social networks
US10262039B1 (en) 2016-01-15 2019-04-16 Facebook, Inc. Proximity-based searching on online social networks
US10740375B2 (en) 2016-01-20 2020-08-11 Facebook, Inc. Generating answers to questions using information posted by users on online social networks
US10242074B2 (en) 2016-02-03 2019-03-26 Facebook, Inc. Search-results interfaces for content-item-specific modules on online social networks
US10270882B2 (en) 2016-02-03 2019-04-23 Facebook, Inc. Mentions-modules on online social networks
US10157224B2 (en) 2016-02-03 2018-12-18 Facebook, Inc. Quotations-modules on online social networks
US10216850B2 (en) 2016-02-03 2019-02-26 Facebook, Inc. Sentiment-modules on online social networks
US10452671B2 (en) 2016-04-26 2019-10-22 Facebook, Inc. Recommendations from comments on online social networks
US10635661B2 (en) 2016-07-11 2020-04-28 Facebook, Inc. Keyboard-based corrections for search queries on online social networks
US10223464B2 (en) 2016-08-04 2019-03-05 Facebook, Inc. Suggesting filters for search on online social networks
US10282483B2 (en) 2016-08-04 2019-05-07 Facebook, Inc. Client-side caching of search keywords for online social networks
US10726022B2 (en) 2016-08-26 2020-07-28 Facebook, Inc. Classifying search queries on online social networks
US10534815B2 (en) 2016-08-30 2020-01-14 Facebook, Inc. Customized keyword query suggestions on online social networks
US10102255B2 (en) 2016-09-08 2018-10-16 Facebook, Inc. Categorizing objects for queries on online social networks
US10645142B2 (en) 2016-09-20 2020-05-05 Facebook, Inc. Video keyframes display on online social networks
US10083379B2 (en) 2016-09-27 2018-09-25 Facebook, Inc. Training image-recognition systems based on search queries on online social networks
US10026021B2 (en) 2016-09-27 2018-07-17 Facebook, Inc. Training image-recognition systems using a joint embedding model on online social networks
US10579688B2 (en) 2016-10-05 2020-03-03 Facebook, Inc. Search ranking and recommendations for online social networks based on reconstructed embeddings
US10242214B2 (en) * 2016-10-19 2019-03-26 International Business Machines Corporation Dynamic change in plurality of security layers based on projected risk
US10311117B2 (en) 2016-11-18 2019-06-04 Facebook, Inc. Entity linking to query terms on online social networks
US10650009B2 (en) 2016-11-22 2020-05-12 Facebook, Inc. Generating news headlines on online social networks
US10235469B2 (en) 2016-11-30 2019-03-19 Facebook, Inc. Searching for posts by related entities on online social networks
US10185763B2 (en) 2016-11-30 2019-01-22 Facebook, Inc. Syntactic models for parsing search queries on online social networks
US10313456B2 (en) 2016-11-30 2019-06-04 Facebook, Inc. Multi-stage filtering for recommended user connections on online social networks
US10162886B2 (en) 2016-11-30 2018-12-25 Facebook, Inc. Embedding-based parsing of search queries on online social networks
US10740751B1 (en) 2016-12-20 2020-08-11 Wells Fargo Bank, N.A. Secure transactions in social media channels
US11223699B1 (en) 2016-12-21 2022-01-11 Facebook, Inc. Multiple user recognition with voiceprints on online social networks
US10607148B1 (en) 2016-12-21 2020-03-31 Facebook, Inc. User identification with voiceprints on online social networks
US10535106B2 (en) 2016-12-28 2020-01-14 Facebook, Inc. Selecting user posts related to trending topics on online social networks
US10841660B2 (en) 2016-12-29 2020-11-17 Dressbot Inc. System and method for multi-user digital interactive experience
CA2953311A1 (en) 2016-12-29 2018-06-29 Dressbot Inc. System and method for multi-user digital interactive experience
US10154043B1 (en) 2017-01-03 2018-12-11 Jeffrey M. Rosenfield Management of social network group through the use of embedded limitations
US10482282B1 (en) 2017-01-03 2019-11-19 Jeffrey M. Rosenfield Management of a social network contact group through the use of embedded limitations
US20180212916A1 (en) * 2017-01-23 2018-07-26 Marshall Schaffer Systems and methods for verification and mapping of social connections
US10489472B2 (en) 2017-02-13 2019-11-26 Facebook, Inc. Context-based search suggestions on online social networks
WO2018149505A1 (en) 2017-02-17 2018-08-23 Nokia Technologies Oy Voting-consensus distributed ledger
US10614141B2 (en) 2017-03-15 2020-04-07 Facebook, Inc. Vital author snippets on online social networks
US10769222B2 (en) 2017-03-20 2020-09-08 Facebook, Inc. Search result ranking based on post classifiers on online social networks
US11379861B2 (en) 2017-05-16 2022-07-05 Meta Platforms, Inc. Classifying post types on online social networks
US10248645B2 (en) 2017-05-30 2019-04-02 Facebook, Inc. Measuring phrase association on online social networks
US10268646B2 (en) 2017-06-06 2019-04-23 Facebook, Inc. Tensor-based deep relevance model for search on online social networks
US10489468B2 (en) 2017-08-22 2019-11-26 Facebook, Inc. Similarity search using progressive inner products and bounds
US10776437B2 (en) 2017-09-12 2020-09-15 Facebook, Inc. Time-window counters for search results on online social networks
US10678786B2 (en) 2017-10-09 2020-06-09 Facebook, Inc. Translating search queries on online social networks
KR102465059B1 (en) * 2017-10-19 2022-11-09 삼성전자주식회사 Method for controlling a power and electronic device thereof
US10810214B2 (en) 2017-11-22 2020-10-20 Facebook, Inc. Determining related query terms through query-post associations on online social networks
US10963514B2 (en) 2017-11-30 2021-03-30 Facebook, Inc. Using related mentions to enhance link probability on online social networks
US10129705B1 (en) 2017-12-11 2018-11-13 Facebook, Inc. Location prediction using wireless signals on online social networks
US11604968B2 (en) 2017-12-11 2023-03-14 Meta Platforms, Inc. Prediction of next place visits on online social networks
US10728321B2 (en) 2018-03-15 2020-07-28 International Business Machines Corporation Create machine-to-machine trust to automatically share resources between internet of things devices
US11501348B1 (en) * 2018-12-28 2022-11-15 Snap Inc. Virtual currency in a native application environment
US11593826B1 (en) 2018-12-28 2023-02-28 Snap Inc. Messaging and gaming applications rewards
CN110134732A (en) * 2019-05-17 2019-08-16 北京天融信网络安全技术有限公司 A kind of methods of exhibiting and device of authorization relationship quantity
GB2607728A (en) * 2019-10-21 2022-12-14 D Kappos Paul Close proximity personhood authentication and personalized search engine with a social network
US11575715B2 (en) 2019-10-28 2023-02-07 International Business Machines Corporation Dynamically customized cognitive security filter
US11765221B2 (en) 2020-12-14 2023-09-19 The Western Union Company Systems and methods for adaptive security and cooperative multi-system operations with dynamic protocols

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US6175831B1 (en) * 1997-01-17 2001-01-16 Six Degrees, Inc. Method and apparatus for constructing a networking database and system
US6360222B1 (en) * 1998-05-06 2002-03-19 Oracle Corporation Method and system thereof for organizing and updating an information directory based on relationships between users
US6366907B1 (en) * 1999-12-15 2002-04-02 Napster, Inc. Real-time search engine
US20020059379A1 (en) * 1998-09-15 2002-05-16 Jamey Harvey System and method for information and application distribution
US20020194256A1 (en) * 2001-05-31 2002-12-19 Needham Bradford H. Limiting request propagation in a distributed file system
US20030055898A1 (en) * 2001-07-31 2003-03-20 Yeager William J. Propagating and updating trust relationships in distributed peer-to-peer networks
US20030115251A1 (en) * 2001-02-23 2003-06-19 Fredrickson Jason A. Peer data protocol
US20040184478A1 (en) * 2003-02-27 2004-09-23 Canon Kabushiki Kaisha Method of allocating a service by a first peer to a second peer in a communication network
US20040215793A1 (en) * 2001-09-30 2004-10-28 Ryan Grant James Personal contact network
US20050246420A1 (en) * 2004-04-28 2005-11-03 Microsoft Corporation Social network email filtering
US20060117378A1 (en) * 2004-11-04 2006-06-01 Tam Chung M System and method for creating a secure trusted social network
US7089208B1 (en) * 1999-04-30 2006-08-08 Paypal, Inc. System and method for electronically exchanging value among distributed users

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5922074A (en) * 1997-02-28 1999-07-13 Xcert Software, Inc. Method of and apparatus for providing secure distributed directory services and public key infrastructure
US6212636B1 (en) * 1997-05-01 2001-04-03 Itt Manufacturing Enterprises Method for establishing trust in a computer network via association
US6125383A (en) * 1997-06-11 2000-09-26 Netgenics Corp. Research system using multi-platform object oriented program language for providing objects at runtime for creating and manipulating biological or chemical data
US6215872B1 (en) * 1997-10-24 2001-04-10 Entrust Technologies Limited Method for creating communities of trust in a secure communication system
US6134327A (en) * 1997-10-24 2000-10-17 Entrust Technologies Ltd. Method and apparatus for creating communities of trust in a secure communication system
US8001035B2 (en) * 2000-03-24 2011-08-16 Khai Hee Kwan System and method for conducting an electronic financial asset deposit auction over computer network
US7467212B2 (en) * 2000-12-28 2008-12-16 Intel Corporation Control of access control lists based on social networks
US7035653B2 (en) * 2001-04-13 2006-04-25 Leap Wireless International, Inc. Method and system to facilitate interaction between and content delivery to users of a wireless communications network
US20060064739A1 (en) * 2004-09-17 2006-03-23 Guthrie Paul D Relationship-managed communication channels
US7246164B2 (en) * 2001-05-10 2007-07-17 Whoglue, Inc. Distributed personal relationship information management system and methods
US20030023677A1 (en) * 2001-07-25 2003-01-30 Graham Morison Zuill On-line project collaboration system
US7343365B2 (en) * 2002-02-20 2008-03-11 Microsoft Corporation Computer system architecture for automatic context associations
US7277946B2 (en) * 2002-06-28 2007-10-02 Microsoft Corporation Distributed session listing and content discovery
US20040122803A1 (en) * 2002-12-19 2004-06-24 Dom Byron E. Detect and qualify relationships between people and find the best path through the resulting social network
US7472110B2 (en) * 2003-01-29 2008-12-30 Microsoft Corporation System and method for employing social networks for information discovery
US7305398B2 (en) * 2003-06-15 2007-12-04 Mordechai Teicher Apparatus and method for managing social games
US7069308B2 (en) * 2003-06-16 2006-06-27 Friendster, Inc. System, method and apparatus for connecting users in an online computer system based on their relationships within social networks
US20040259641A1 (en) * 2003-06-23 2004-12-23 Ho David Yc Method and system for enabling and managing a networking database and system supporting a multi-user network game
US20050038876A1 (en) * 2003-08-15 2005-02-17 Aloke Chaudhuri System and method for instant match based on location, presence, personalization and communication
US7288028B2 (en) * 2003-09-26 2007-10-30 Microsoft Corporation Method and apparatus for quickly joining an online game being played by a friend
US20050091316A1 (en) * 2003-10-03 2005-04-28 Oscar Ponce System and method for creating and selectively sharing data elements in a peer-to-peer network
US7311608B1 (en) * 2003-10-31 2007-12-25 Microsoft Corporation Online game invitations using friends list
US20050198031A1 (en) * 2004-03-04 2005-09-08 Peter Pezaris Method and system for controlling access to user information in a social networking environment
US20050209999A1 (en) * 2004-03-19 2005-09-22 Kenny Jou Systems and methods for class designation in a computerized social network application
FR2868896B1 (en) * 2004-04-13 2008-03-14 Canon Kk METHOD AND DEVICE FOR CONTROLLING ACCESS TO A SHARED DIGITAL DOCUMENT IN A POST-TO-POST COMMUNICATION NETWORK
US7426557B2 (en) * 2004-05-14 2008-09-16 International Business Machines Corporation System, method, and service for inducing a pattern of communication among various parties
US8010458B2 (en) * 2004-05-26 2011-08-30 Facebook, Inc. System and method for managing information flow between members of an online social network
US7478078B2 (en) * 2004-06-14 2009-01-13 Friendster, Inc. Method for sharing relationship information stored in a social network database with third party databases
US7788260B2 (en) * 2004-06-14 2010-08-31 Facebook, Inc. Ranking search results based on the frequency of clicks on the search results by members of a social network who are within a predetermined degree of separation
US8302164B2 (en) * 2004-07-22 2012-10-30 Facebook, Inc. Authorization and authentication based on an individual's social network
US20060080613A1 (en) * 2004-10-12 2006-04-13 Ray Savant System and method for providing an interactive social networking and role playing game within a virtual community
US7716140B1 (en) * 2004-12-31 2010-05-11 Google Inc. Methods and systems for controlling access to relationship information in a social network
US20060224502A1 (en) * 2005-03-31 2006-10-05 Mcgowan Adam System and method for online peer-to-peer banking
US20070027791A1 (en) * 2005-07-28 2007-02-01 Zopa Limited Method of and apparatus for matching lenders of money with borrowers of money
US7716125B2 (en) * 2005-08-10 2010-05-11 Axcessnet Innovations Llc Networked loan market and lending management system
US20080255928A1 (en) * 2007-04-10 2008-10-16 Thomas Joseph Tomeny Trusted networks of unique identified natural persons
US20110004922A1 (en) * 2009-07-01 2011-01-06 Microsoft Corporation User Specified Privacy Settings

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US6175831B1 (en) * 1997-01-17 2001-01-16 Six Degrees, Inc. Method and apparatus for constructing a networking database and system
US6360222B1 (en) * 1998-05-06 2002-03-19 Oracle Corporation Method and system thereof for organizing and updating an information directory based on relationships between users
US20020059379A1 (en) * 1998-09-15 2002-05-16 Jamey Harvey System and method for information and application distribution
US7089208B1 (en) * 1999-04-30 2006-08-08 Paypal, Inc. System and method for electronically exchanging value among distributed users
US6366907B1 (en) * 1999-12-15 2002-04-02 Napster, Inc. Real-time search engine
US20030115251A1 (en) * 2001-02-23 2003-06-19 Fredrickson Jason A. Peer data protocol
US20020194256A1 (en) * 2001-05-31 2002-12-19 Needham Bradford H. Limiting request propagation in a distributed file system
US20030055898A1 (en) * 2001-07-31 2003-03-20 Yeager William J. Propagating and updating trust relationships in distributed peer-to-peer networks
US20040215793A1 (en) * 2001-09-30 2004-10-28 Ryan Grant James Personal contact network
US20040184478A1 (en) * 2003-02-27 2004-09-23 Canon Kabushiki Kaisha Method of allocating a service by a first peer to a second peer in a communication network
US20050246420A1 (en) * 2004-04-28 2005-11-03 Microsoft Corporation Social network email filtering
US20060117378A1 (en) * 2004-11-04 2006-06-01 Tam Chung M System and method for creating a secure trusted social network

Cited By (289)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10127816B2 (en) 1998-01-27 2018-11-13 Blanding Hovenweep, Llc Detection and alert of automobile braking event
US9551582B2 (en) 1998-01-27 2017-01-24 Blanding Hovenweep, Llc Mobile communication device
US8373582B2 (en) 1998-01-27 2013-02-12 Steven M. Hoffberg Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US8600830B2 (en) 2003-02-05 2013-12-03 Steven M. Hoffberg System and method for providing a payment to a non-winning auction participant
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US11790413B2 (en) 2003-02-05 2023-10-17 Hoffberg Family Trust 2 System and method for communication
US10943273B2 (en) 2003-02-05 2021-03-09 The Hoffberg Family Trust 2004-1 System and method for determining contingent relevance
US9311670B2 (en) 2004-09-10 2016-04-12 Steven M. Hoffberg Game theoretic prioritization system and method
US20070271272A1 (en) * 2004-09-15 2007-11-22 Mcguire Heather A Social network analysis
US8577886B2 (en) 2004-09-15 2013-11-05 Within3, Inc. Collections of linked databases
US9330182B2 (en) 2004-09-15 2016-05-03 3Degrees Llc Social network analysis
US8635217B2 (en) 2004-09-15 2014-01-21 Michael J. Markus Collections of linked databases
US10733242B2 (en) 2004-09-15 2020-08-04 3Degrees Llc Collections of linked databases
US8880521B2 (en) * 2004-09-15 2014-11-04 3Degrees Llc Collections of linked databases
US8412706B2 (en) * 2004-09-15 2013-04-02 Within3, Inc. Social network analysis
US8205245B2 (en) 2004-11-04 2012-06-19 Topeer Corporation System and method for creating a secure trusted social network
US8707394B2 (en) 2004-11-04 2014-04-22 Topeer Corporation System and method for creating a secure trusted social network
US8402512B2 (en) 2004-11-04 2013-03-19 Topeer Corporation System and method for creating a secure trusted social network
US7797732B2 (en) 2004-11-04 2010-09-14 Topeer Corporation System and method for creating a secure trusted social network
US20100229221A1 (en) * 2004-11-04 2010-09-09 Topeer Corporation System and method for creating a secure trusted social network
US20060117378A1 (en) * 2004-11-04 2006-06-01 Tam Chung M System and method for creating a secure trusted social network
US10769131B2 (en) 2004-11-08 2020-09-08 Dropbox, Inc. Method and apparatus for a file sharing and synchronization system
US11334555B2 (en) 2004-11-08 2022-05-17 Dropbox, Inc. Method and apparatus for a file sharing and synchronization system
US11789930B2 (en) 2004-11-08 2023-10-17 Dropbox, Inc. Method and apparatus for a file sharing and synchronization system
US10956404B2 (en) 2004-11-08 2021-03-23 Dropbox, Inc. Method and apparatus for a file sharing synchronization system
US11269852B2 (en) 2004-11-08 2022-03-08 Dropbox, Inc. Method and apparatus for a file sharing and synchronization system
US11341114B2 (en) 2004-11-08 2022-05-24 Dropbox, Inc. Method and apparatus for a file sharing and synchronization system
US8375434B2 (en) 2004-12-31 2013-02-12 Ntrepid Corporation System for protecting identity in a network environment
US20080196098A1 (en) * 2004-12-31 2008-08-14 Cottrell Lance M System For Protecting Identity in a Network Environment
US8453044B2 (en) 2005-06-29 2013-05-28 Within3, Inc. Collections of linked databases
US20100153832A1 (en) * 2005-06-29 2010-06-17 S.M.A.R.T. Link Medical., Inc. Collections of Linked Databases
US8190681B2 (en) 2005-07-27 2012-05-29 Within3, Inc. Collections of linked databases and systems and methods for communicating about updates thereto
US8632394B2 (en) 2005-08-04 2014-01-21 Igt Methods and apparatus for auctioning an item via a gaming device
US7905777B2 (en) 2005-08-04 2011-03-15 Igt Methods and apparatus for auctioning an item via a gaming device
US8167709B2 (en) 2005-08-04 2012-05-01 Igt Methods and apparatus for auctioning an item via a gaming device
US7689537B2 (en) * 2005-08-10 2010-03-30 International Business Machines Corporation Method, system, and computer program product for enhancing collaboration using a corporate social network
US20070038594A1 (en) * 2005-08-10 2007-02-15 International Business Machines Corporation Method, system, and computer program product for enhancing collaboration using a corporate social network
US8512121B2 (en) 2005-09-09 2013-08-20 Igt Gaming system having multiple adjacently arranged gaming machines which each provide a component for a multi-component game
US8216065B2 (en) 2005-09-09 2012-07-10 Igt Gaming system having multiple adjacently arranged gaming machines which each provide a component for a multi-component game
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US10567975B2 (en) 2005-10-04 2020-02-18 Hoffberg Family Trust 2 Multifactorial optimization system and method
USRE49334E1 (en) 2005-10-04 2022-12-13 Hoffberg Family Trust 2 Multifactorial optimization system and method
US20080228746A1 (en) * 2005-11-15 2008-09-18 Markus Michael J Collections of linked databases
US10395326B2 (en) 2005-11-15 2019-08-27 3Degrees Llc Collections of linked databases
US20070162459A1 (en) * 2006-01-11 2007-07-12 Nimesh Desai System and method for creating searchable user-created blog content
US20120166542A1 (en) * 2006-01-30 2012-06-28 Microsoft Corporation Automated File Distribution
US8862665B2 (en) * 2006-01-30 2014-10-14 Microsoft Corporation Automated file distribution
US20070180078A1 (en) * 2006-01-30 2007-08-02 Microsoft Corporation Automated File Distribution
US8150987B2 (en) * 2006-01-30 2012-04-03 Microsoft Corporation Automated peer-to-peer file distribution
US20070198492A1 (en) * 2006-02-17 2007-08-23 Yahoo! Inc. Method and system for suggesting prices for rights in files on a network
US7764701B1 (en) 2006-02-22 2010-07-27 Qurio Holdings, Inc. Methods, systems, and products for classifying peer systems
US11455677B2 (en) * 2006-03-30 2022-09-27 Ebay Inc. Community based network shopping
US20070263671A1 (en) * 2006-05-12 2007-11-15 Benq Corporation State synchronization apparatuses and methods
US20080005264A1 (en) * 2006-06-28 2008-01-03 Microsoft Corporation Anonymous and secure network-based interaction
US20110238829A1 (en) * 2006-06-28 2011-09-29 Microsoft Corporation Anonymous and secure network-based interaction
US7984169B2 (en) * 2006-06-28 2011-07-19 Microsoft Corporation Anonymous and secure network-based interaction
US8458349B2 (en) 2006-06-28 2013-06-04 Microsoft Corporation Anonymous and secure network-based interaction
US8358579B1 (en) * 2006-08-23 2013-01-22 Quiro Holdings, Inc. Controlling quality of service and content quality based on user relationships
US20130132519A1 (en) * 2006-08-23 2013-05-23 Qurio Holdings, Inc. Controlling quality of service and content quality based on user relationships
US20080133391A1 (en) * 2006-09-05 2008-06-05 Kerry Ivan Kurian User interface for sociofinancial systems and methods
US7873988B1 (en) * 2006-09-06 2011-01-18 Qurio Holdings, Inc. System and method for rights propagation and license management in conjunction with distribution of digital content in a social network
US20080059992A1 (en) * 2006-09-06 2008-03-06 Qurio Holdings, Inc. System and method for controlled viral distribution of digital content in a social network
US7992171B2 (en) * 2006-09-06 2011-08-02 Qurio Holdings, Inc. System and method for controlled viral distribution of digital content in a social network
US9798789B2 (en) * 2006-09-12 2017-10-24 Facebook, Inc. Method and system for tracking changes to user content in an online social network
US10353915B2 (en) 2006-09-12 2019-07-16 Facebook, Inc. Customizing tracking changes to user content in an online social network
US10798190B2 (en) 2006-09-12 2020-10-06 Facebook, Inc. Tracking changes to content on an external source in an online social network
US10412179B2 (en) 2006-09-12 2019-09-10 Facebook, Inc. Tracking changes to non-friend content in an online social network
US20080065701A1 (en) * 2006-09-12 2008-03-13 Kent Lindstrom Method and system for tracking changes to user content in an online social network
US10171599B2 (en) 2006-09-12 2019-01-01 Facebook, Inc. Customizing tracking changes to user content in an online social network
US10275410B2 (en) 2006-09-12 2019-04-30 Facebook, Inc. Customizing tracking changes to user content in an online social network
US7801971B1 (en) 2006-09-26 2010-09-21 Qurio Holdings, Inc. Systems and methods for discovering, creating, using, and managing social network circuits
US7925592B1 (en) 2006-09-27 2011-04-12 Qurio Holdings, Inc. System and method of using a proxy server to manage lazy content distribution in a social network
US8554827B2 (en) 2006-09-29 2013-10-08 Qurio Holdings, Inc. Virtual peer for a content sharing system
US20080083021A1 (en) * 2006-10-02 2008-04-03 Presenceid, Inc. Systems and methods for delegating information technology authorization to at least one other person
US7788708B2 (en) * 2006-10-02 2010-08-31 Presenceid, Inc. Systems and methods for delegating information technology authorization to at least one other person
US7857699B2 (en) 2006-11-01 2010-12-28 Igt Gaming system and method of operating a gaming system having a bonus participation bidding sequence
US8069467B1 (en) 2006-11-14 2011-11-29 Ogilvie John W Privacy protection through restrictions on usernames and other online identifiers
US8578501B1 (en) 2006-11-14 2013-11-05 John W. Ogilvie Anonymous social networking with community-based privacy reviews obtained by members
US7698380B1 (en) 2006-12-14 2010-04-13 Qurio Holdings, Inc. System and method of optimizing social networks and user levels based on prior network interactions
US8548918B1 (en) 2006-12-18 2013-10-01 Qurio Holdings, Inc. Methods and systems for automated content distribution
US8073479B2 (en) * 2007-04-25 2011-12-06 Nokia Corporation System, method, and computer program product for service and application configuration in a network device
US20110004636A1 (en) * 2007-04-25 2011-01-06 Nokia Corporation System, method, and computer program product for service and application configuration in a network device
US20080270320A1 (en) * 2007-04-30 2008-10-30 Yung-Sung Chien Remote transaction method and system of an on-line platform for floating-rate fund-trading
US8812589B2 (en) * 2007-05-02 2014-08-19 Adobe Systems Incorporated Method and system for document-driven message-based communication
US20080293448A1 (en) * 2007-05-24 2008-11-27 Sony Ericsson Mobile Communications Ab Assisted lookup of contacting identifiers
US20080301053A1 (en) * 2007-05-29 2008-12-04 Verizon Services Organization Inc. Service broker
US20090144392A1 (en) * 2007-10-26 2009-06-04 Facebook, Inc. Sharing Digital Content On A Social Network
WO2009055825A1 (en) * 2007-10-26 2009-04-30 Facebook, Inc. Sharing digital content on a social network
US9602605B2 (en) * 2007-10-26 2017-03-21 Facebook, Inc. Sharing digital content on a social network
US10284512B2 (en) 2007-10-26 2019-05-07 Facebook, Inc. Sharing digital content on a social network
US20090119372A1 (en) * 2007-11-02 2009-05-07 Sean Callanan System and method for providing email warnings
US9467345B2 (en) 2007-11-05 2016-10-11 Verizon Patent And Licensing Inc. Interactive group content systems and methods
US8645842B2 (en) * 2007-11-05 2014-02-04 Verizon Patent And Licensing Inc. Interactive group content systems and methods
US10261743B2 (en) 2007-11-05 2019-04-16 Verizon Patent And Licensing Inc. Interactive group content systems and methods
US20090119590A1 (en) * 2007-11-05 2009-05-07 Verizon Data Services Inc. Interactive group content systems and methods
US20090125817A1 (en) * 2007-11-08 2009-05-14 International Business Machines Corporation System and method for sharing data
US8091035B2 (en) * 2007-11-08 2012-01-03 International Business Machines Corporation System and method for sharing data
US20090150380A1 (en) * 2007-12-06 2009-06-11 Industrial Technology Research Institute System and method for processing social relation oriented service
US20090154699A1 (en) * 2007-12-13 2009-06-18 Verizon Services Organization Inc. Network-based data exchange
US20090164320A1 (en) * 2007-12-19 2009-06-25 Scott Galit Private Label Promotion Card System, Program Product, And Associated Computer-Implemented Methods
US8244611B2 (en) 2007-12-19 2012-08-14 Metabank Private label promotion card system, program product, and associated computer-implemented methods
US20090164368A1 (en) * 2007-12-19 2009-06-25 Scott Galit Private Label Promotion Card System, Program Product, And Associated Computer-Implemented Methods
US8306912B2 (en) 2007-12-19 2012-11-06 Metabank Private label promotion card system, program product, and associated computer-implemented methods
US8065187B2 (en) 2007-12-21 2011-11-22 Metabank System, program product, and associated methods to autodraw for micro-credit attached to a prepaid card
US10068208B2 (en) 2007-12-21 2018-09-04 Metabank Transfer account systems, computer program products, and associated computer-implemented methods
US9251511B2 (en) 2007-12-21 2016-02-02 Metabank Transfer account systems, computer program products, and associated computer-implemented methods
US8055557B2 (en) 2007-12-21 2011-11-08 Metabank Transfer account systems, computer program products, and associated computer-implemented methods
US8069085B2 (en) 2007-12-21 2011-11-29 Metabank System, program product, and associated methods to autodraw for micro-credit attached to a prepaid card
US8818887B2 (en) 2007-12-21 2014-08-26 Metabank Computer-implemented methods, program product, and system for micro-loan product management
US8788414B2 (en) 2007-12-21 2014-07-22 Metabank Transfer account systems, computer program products, and computer-implemented methods to prioritize payments from preselected bank account
US8108279B2 (en) 2007-12-21 2012-01-31 Metabank Computer-implemented methods, program product, and system to enhance banking terms over time
US8108272B2 (en) 2007-12-21 2012-01-31 Metabank Transfer account systems, computer program products, and computer-implemented methods to prioritize payments from preselected bank account
US10706397B2 (en) 2007-12-21 2020-07-07 Metabank Transfer account machine, non-transitory computer medium having computer program, and associated computer-implemented method
US8589295B2 (en) 2007-12-21 2013-11-19 Metabank Transfer account systems, computer program products, and associated computer-implemented methods
US8583515B2 (en) 2007-12-21 2013-11-12 Metabank Transfer account systems, computer program products, and associated computer-implemented methods
US8494960B2 (en) 2007-12-21 2013-07-23 Metabank System, program product, and computer-implemented method for loading a loan on a pre-paid card
US8392330B2 (en) 2007-12-21 2013-03-05 Metabank Transfer account systems, computer program products, and computer-implemented methods to prioritize payments from preselected bank account
US8392299B2 (en) 2007-12-21 2013-03-05 Metabank Transfer account systems, computer program products, and associated computer-implemented methods
US8961318B2 (en) 2008-01-04 2015-02-24 Wms Gaming, Inc. Sharing resources in wagering game systems
US8353774B2 (en) 2008-01-04 2013-01-15 Wms Gaming, Inc. Sharing resources in wagering game systems
WO2009089124A1 (en) * 2008-01-04 2009-07-16 Wms Gaming, Inc. Sharing resources in wagering game systems
US20100298054A1 (en) * 2008-01-04 2010-11-25 Wms Gaming, Inc. Sharing resources in wagering game systems
US20110035481A1 (en) * 2008-02-12 2011-02-10 Topeer Corporation System and Method for Navigating and Accessing Resources on Private and/or Public Networks
US9251236B2 (en) * 2008-02-19 2016-02-02 International Business Machines Corporation Document synchronization solution
US20140114912A1 (en) * 2008-02-19 2014-04-24 International Business Machines Corporation Document synchronization solution
US10515405B2 (en) 2008-03-03 2019-12-24 Metabank Person-to-person lending program product, system, and associated computer-implemented methods
US20090240659A1 (en) * 2008-03-20 2009-09-24 Ganz, An Ontario Partnership Consisting Of 2121200 Ontario Inc. And 2121812 Ontario Inc. Social networking in a non-personalized environment
US20110087967A1 (en) * 2008-03-20 2011-04-14 Ganz Social networking in a non-personalized environment
WO2009114947A1 (en) * 2008-03-20 2009-09-24 Ganz Social networking in a non-personalized environment
US8832552B2 (en) * 2008-04-03 2014-09-09 Nokia Corporation Automated selection of avatar characteristics for groups
US20090254859A1 (en) * 2008-04-03 2009-10-08 Nokia Corporation Automated selection of avatar characteristics for groups
US8103549B1 (en) 2008-04-04 2012-01-24 Metabank System, program product, and associated methods to autodraw for micro-credit attached to prepaid card
US8341021B2 (en) 2008-04-04 2012-12-25 Metabank System, program product, and method for debit card and checking account autodraw
US8190480B1 (en) 2008-04-04 2012-05-29 Metabank System, non-transitory memory with computer program, and associated methods for micro-credit to prepaid cards
US8738451B2 (en) 2008-04-04 2014-05-27 Metabank System, program product, and method for debit card and checking account autodraw
US8744915B2 (en) 2008-04-04 2014-06-03 Metabank System, program product, and method for debit card and checking account autodraw
US8150764B2 (en) 2008-04-04 2012-04-03 Metabank System, program product, and method to authorize draw for retailer optimization
US8301557B1 (en) 2008-04-04 2012-10-30 Metabank System, program product, and method to authorized draw for retailer optimization
US8452662B2 (en) 2008-04-04 2013-05-28 Metabank System, program product, and associated methods to autodraw for micro-credit attached to prepaid card
US20090265326A1 (en) * 2008-04-17 2009-10-22 Thomas Dudley Lehrman Dynamic personal privacy system for internet-connected social networks
US20090265319A1 (en) * 2008-04-17 2009-10-22 Thomas Dudley Lehrman Dynamic Personal Privacy System for Internet-Connected Social Networks
US8244637B2 (en) 2008-05-14 2012-08-14 Metabank Pre-paid card transaction computer to load a loan on a pre-paid card
US11227331B2 (en) 2008-05-14 2022-01-18 Metabank System, program product, and computer-implemented method for loading a loan on an existing pre-paid card
US8538879B2 (en) 2008-05-14 2013-09-17 Metabank System, program product, and computer-implemented method for loading a loan on an existing pre-paid card
US8175972B2 (en) 2008-05-14 2012-05-08 Metabank Pre-paid card transaction computer to load a loan on a pre-paid card
US8271516B2 (en) * 2008-06-12 2012-09-18 Microsoft Corporation Social networks service
US20090313235A1 (en) * 2008-06-12 2009-12-17 Microsoft Corporation Social networks service
US8145678B2 (en) * 2008-08-29 2012-03-27 Microsoft Corporation Information feeds of a social network
US20100057682A1 (en) * 2008-08-29 2010-03-04 Microsoft Corporation Information Feeds of a Social Network
US8290853B2 (en) 2008-09-04 2012-10-16 Metabank System, method, and program product for foreign currency travel account
US8403211B2 (en) 2008-09-04 2013-03-26 Metabank System, program product and methods for retail activation and reload associated with partial authorization transactions
US9508067B2 (en) 2008-09-04 2016-11-29 Metabank System, program product and methods for retail activation and reload associated with partial authorization transactions
US8386375B2 (en) 2008-09-04 2013-02-26 Metabank System, method, and program product for foreign currency travel account
US8024242B2 (en) 2008-09-04 2011-09-20 Metabank System, method, and program product for foreign currency travel account
US8266047B2 (en) 2008-09-04 2012-09-11 Metabank System, method, and program product for foreign currency travel account
US20110167085A1 (en) * 2008-09-12 2011-07-07 Haschek Hans M System and Method for Searching for a Target Contact and for Generating a Contact Path
US8510800B2 (en) 2008-10-27 2013-08-13 Ganz Temporary user account for a virtual world website
US20100107214A1 (en) * 2008-10-27 2010-04-29 Ganz Temporary user account for a virtual world website
US8371502B1 (en) 2008-10-28 2013-02-12 Metabank Shopping center gift card offer fulfillment machine, program product, and associated methods
US20100114711A1 (en) * 2008-10-31 2010-05-06 Hudson Robert P Social-professional website system
US8260678B2 (en) 2008-10-31 2012-09-04 Metabank Machine, methods, and program product for electronic order entry
US20100114795A1 (en) * 2008-10-31 2010-05-06 Hudson Robert P Stock broker social-professional website system
US8407100B2 (en) 2008-10-31 2013-03-26 Metabank Machine, methods, and program product for electronic order entry
US8108977B1 (en) 2008-10-31 2012-02-07 Metabank Machine, methods, and program product for electronic order entry
US20110093348A1 (en) * 2008-10-31 2011-04-21 Hudson Robert P Financial broker social-professional website internet system
US9665855B2 (en) 2008-11-26 2017-05-30 Metabank Machine, methods, and program product for electronic inventory tracking
US9785922B2 (en) 2008-11-26 2017-10-10 Metabank Machine, methods, and program product for electronic inventory tracking
US9990612B2 (en) 2008-11-26 2018-06-05 Metabank Machine, methods, and program product for electronic inventory tracking
US9213965B1 (en) 2008-11-26 2015-12-15 Metabank Machine, methods, and program product for electronic inventory tracking
US8175962B2 (en) 2008-12-18 2012-05-08 Metabank Computerized extension of credit to existing demand deposit accounts, prepaid cards and lines of credit based on expected tax refund proceeds, associated systems and computer program products
US8090649B2 (en) 2008-12-18 2012-01-03 Metabank Computerized extension of credit to existing demand deposit accounts, prepaid cards and lines of credit based on expected tax refund proceeds, associated systems and computer program products
US9767451B2 (en) 2009-02-04 2017-09-19 Metabank System and computer program product to issue a retail prepaid card including a user-designed external face using a chit and related computer implemented methods
US8485441B2 (en) 2009-02-04 2013-07-16 Metabank System and computer program product to issue a retail prepaid card including a user-designed external face using a chit and related computer implemented methods
US8286863B1 (en) 2009-02-04 2012-10-16 Metabank System and computer program product to issue a retail prepaid card including a user-designed external face using a chit and related computer implemented methods
US9704344B2 (en) * 2009-03-06 2017-07-11 Zynga Inc. Limiting transfer of virtual currency in a multiuser online game
US20130217479A1 (en) * 2009-03-06 2013-08-22 Michael Arieh Luxton Limiting Transfer of Virtual Currency in a Multiuser Online Game
US8214286B1 (en) 2009-03-19 2012-07-03 Metabank Computerized extension of credit to existing demand deposit accounts, prepaid cards and lines of credit based on expected tax refund proceeds, associated systems and computer program products
US8296227B2 (en) 2009-03-19 2012-10-23 Metabank Computerized extension of credit to existing demand deposit accounts, prepaid cards and lines of credit based on expected tax refund proceeds, associated systems and computer program products
US20100262550A1 (en) * 2009-04-08 2010-10-14 Avaya Inc. Inter-corporate collaboration overlay solution for professional social networks
US20120042165A1 (en) * 2009-04-16 2012-02-16 Georg Wittenburg Method for providing data on mobile terminals and mobile terminal for performing the method
US8566396B2 (en) 2009-06-12 2013-10-22 Alibaba Group Holding Limited Method and apparatus for sending authentication request message in a social network
US9712529B2 (en) 2009-06-12 2017-07-18 Alibaba Group Holding Limited Method and apparatus for sending authentication request message in a social network
US20120303518A1 (en) * 2009-06-12 2012-11-29 Miroslav Sarbaev Method and system for distributing and paying for content on social networks
US10142314B2 (en) 2009-06-12 2018-11-27 Alibaba Group Holding Limited Method and apparatus for processing authentication request message in a social network
US20110113056A1 (en) * 2009-06-12 2011-05-12 Alibaba Group Holding Limited Method and Apparatus for Processing Authentication Request Message in a Social Network
US9544283B2 (en) 2009-06-12 2017-01-10 Alibaba Group Holding Limited Method and apparatus for processing authentication request message in a social network
WO2010144208A1 (en) * 2009-06-12 2010-12-16 Alibaba Group Holding Limited Method and apparatus for processing authentication request message in a social network
US20110125845A1 (en) * 2009-06-12 2011-05-26 Alibaba Group Holding Limited Method and Apparatus for Sending Authentication Request Message in a Social Network
US9432470B2 (en) 2009-06-12 2016-08-30 Alibaba Group Holding Limited Method and apparatus for sending authentication request message in a social network
WO2010144197A1 (en) * 2009-06-12 2010-12-16 Alibaba Group Holidng Limited Method and apparatus for sending authentication request message in a social network
US8370881B2 (en) * 2009-07-29 2013-02-05 Broadcom Corporation Method and system for sharing resources for setup boxes (STB) in a home network
US9232284B2 (en) 2009-07-29 2016-01-05 Broadcom Corporation Method and system for sharing resources for setup boxes (STB) in a home network
US20110030017A1 (en) * 2009-07-29 2011-02-03 Predrag Kostic Method and system for sharing resources for setup boxes (stb) in a home network
US20110029610A1 (en) * 2009-07-31 2011-02-03 Shen-Chang Chao Content Sharing in Mobile Devices
US20110034182A1 (en) * 2009-08-05 2011-02-10 Oto Technologies, Llc Geographic messaging using location-identified access points
US20110055894A1 (en) * 2009-08-31 2011-03-03 Shen-Chang Chao Firewall and NAT Traversal for Social Networking and/or Content Sharing On Mobile Devices
US20110078036A1 (en) * 2009-09-11 2011-03-31 University Of Utah Research Foundation Systems and methods for the assessment, protection, marketing and commercialization of technology-based ideas
US10318980B2 (en) 2009-09-28 2019-06-11 Metabank Computer-implemented methods, computer program products, and machines for management and control of a loyalty rewards network
US11323347B2 (en) 2009-09-30 2022-05-03 Www.Trustscience.Com Inc. Systems and methods for social graph data analytics to determine connectivity within a community
US10812354B2 (en) 2009-10-23 2020-10-20 Www.Trustscience.Com Inc. Parallel computational framework and application server for determining path connectivity
US11665072B2 (en) 2009-10-23 2023-05-30 Www.Trustscience.Com Inc. Parallel computational framework and application server for determining path connectivity
US20140057661A1 (en) * 2009-11-03 2014-02-27 Verizon Patent And Licensing Inc. Systems and methods for enhancing a user visit to a site premises
US8618935B2 (en) * 2009-11-03 2013-12-31 Verizon Patent And Licensing Inc. Systems and methods for enhancing a user visit to a site premises
US9288631B2 (en) * 2009-11-03 2016-03-15 Verizon Patent And Licensing Inc. Systems and methods for enhancing a user visit to a site premises
US20110105092A1 (en) * 2009-11-03 2011-05-05 Verizon Patent And Licensing, Inc. Systems and methods for enhancing a user visit to a site premises
US20110167114A1 (en) * 2010-01-05 2011-07-07 International Business Machines Corporation Automatically synchronizing new contacts across multiple social networking sites
TWI479873B (en) * 2010-03-08 2015-04-01 Alibaba Group Holding Ltd Method and apparatus for processing authentication request message in social network
US20170024694A1 (en) * 2010-04-02 2017-01-26 Tracelink, Inc. Method and System for Collaborative Execution of Business Processes
US8819150B1 (en) * 2010-05-18 2014-08-26 Google Inc. Generating a conversation associated with a webpage
US8725818B1 (en) * 2010-05-18 2014-05-13 Google Inc. Automated participants with access to attachments in hosted conversations
US8700719B1 (en) * 2010-05-18 2014-04-15 Google Inc. Embedded applications with access to attachments in hosted conversations
EP2447874A1 (en) * 2010-10-27 2012-05-02 Sony Ericsson Mobile Communications AB Digital rights management (DRM) domain recommendation and selection based on a user's social graphs
US20120246087A1 (en) * 2010-11-19 2012-09-27 Naresh Talati Method and apparatus for establishing an exclusive network of Strong Tie connections which is then used to make referenceable connections between members for various personal and business benefits
US9395845B2 (en) 2011-01-24 2016-07-19 Microsoft Technology Licensing, Llc Probabilistic latency modeling
US9710105B2 (en) 2011-01-24 2017-07-18 Microsoft Technology Licensing, Llc. Touchscreen testing
US9022868B2 (en) 2011-02-10 2015-05-05 Ganz Method and system for creating a virtual world where user-controlled characters interact with non-player characters
US10389831B2 (en) 2011-02-11 2019-08-20 Blackberry Limited Method, apparatus and system for provisioning a push notification session
US10038755B2 (en) 2011-02-11 2018-07-31 Blackberry Limited Method, apparatus and system for provisioning a push notification session
US20130238763A1 (en) * 2011-02-11 2013-09-12 Good Technology Corporation Method, apparatus and system for provisioning a push notification session
US20130211913A1 (en) * 2011-02-17 2013-08-15 Bank Of America Corporation System for analyzing social media influence on financial transactions
US20120238367A1 (en) * 2011-02-17 2012-09-20 DeNA Co., Ltd. Method of exchanging game items, networked game system, and social media
US8412512B1 (en) * 2011-05-20 2013-04-02 Google Inc. Feed translation for a social network
US9519638B2 (en) 2011-05-20 2016-12-13 Google Inc. Feed translation for a social network
US8538742B2 (en) * 2011-05-20 2013-09-17 Google Inc. Feed translation for a social network
US8615528B2 (en) * 2011-07-28 2013-12-24 International Business Machines Corporation Cloud database sharing
US20130031136A1 (en) * 2011-07-28 2013-01-31 International Business Machines Corporation Cloud database sharing
US8861937B2 (en) 2011-08-31 2014-10-14 The Nielsen Company (Us), Llc Methods and apparatus to access media
US9779426B2 (en) 2011-08-31 2017-10-03 The Nielsen Company (Us), Llc Methods and apparatus to access media
US9400984B2 (en) 2011-08-31 2016-07-26 The Nielsen Company (Us), Llc Methods and apparatus to access media
US9935963B2 (en) 2011-09-09 2018-04-03 Microsoft Technology Licensing, Llc Shared item account selection
US9378389B2 (en) 2011-09-09 2016-06-28 Microsoft Technology Licensing, Llc Shared item account selection
US8769012B1 (en) * 2011-10-13 2014-07-01 Google Inc. System and method for facilitating document collaboration
US20130103376A1 (en) * 2011-10-25 2013-04-25 Cellco Partnership D/B/A Verizon Wireless Multiple client simulator for push engine
US9015021B2 (en) * 2011-10-25 2015-04-21 Cellco Partnership Multiple client simulator for push engine
US9785281B2 (en) 2011-11-09 2017-10-10 Microsoft Technology Licensing, Llc. Acoustic touch sensitive testing
US20130262699A1 (en) * 2012-03-28 2013-10-03 Sony Corporation Information processing apparatus, information processing system, and program
US9571385B2 (en) * 2012-03-28 2017-02-14 Sony Corporation Information processing apparatus, information processing system, and program
US20130260812A1 (en) * 2012-03-30 2013-10-03 Qualcomm Incorporated Methods and apparatus for controlling devices with no or limited wwan capability in peer to peer communication
US8811950B2 (en) * 2012-03-30 2014-08-19 Qualcomm Incorporated Methods and apparatus for controlling devices with no or limited WWAN capability in peer to peer communication
US9015196B2 (en) * 2012-05-10 2015-04-21 Dst Technologies, Inc. Internal social network for an enterprise and applications thereof
US20130304763A1 (en) * 2012-05-10 2013-11-14 Deni Esposito Internal social network for an enterprise and applications thereof
US9781388B2 (en) * 2012-05-28 2017-10-03 Samsung Electronics Co., Ltd. Method and system for enhancing user experience during an ongoing content viewing activity
US20150139609A1 (en) * 2012-05-28 2015-05-21 Samsung Electronics Co., Ltd. Method and system for enhancing user experience during an ongoing content viewing activity
US10057318B1 (en) * 2012-08-10 2018-08-21 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
US11233851B2 (en) 2012-08-10 2022-01-25 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
US10805388B2 (en) 2012-08-10 2020-10-13 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
US10805389B2 (en) 2012-08-10 2020-10-13 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
US8543716B1 (en) * 2012-09-20 2013-09-24 Fmr Llc Method and system enabling a first computing device to instruct a second computing device to display data
US9317147B2 (en) 2012-10-24 2016-04-19 Microsoft Technology Licensing, Llc. Input testing tool
US11132456B2 (en) * 2012-12-07 2021-09-28 Duvon Corporation File sharing system and method
US9390101B1 (en) * 2012-12-11 2016-07-12 Veritas Technologies Llc Social deduplication using trust networks
US20140164573A1 (en) * 2012-12-12 2014-06-12 Asustek Computer Inc. Data transmission system and method
CN103873543A (en) * 2012-12-12 2014-06-18 华硕电脑股份有限公司 Data transmission system and method
US20140273949A1 (en) * 2013-03-13 2014-09-18 Qualcomm Incorporated Method and apparatus for wireless device countermeasures against malicious infrastructure
US9578508B2 (en) * 2013-03-13 2017-02-21 Qualcomm Incorporated Method and apparatus for wireless device countermeasures against malicious infrastructure
US20140279131A1 (en) * 2013-03-14 2014-09-18 Robert Edward Sullivan On-line marketplace service
US9705617B2 (en) * 2013-08-08 2017-07-11 Massoud Alibakhsh System and method for wirelessly transmitting and receiving customized data broadcasts
US9712265B2 (en) * 2013-08-08 2017-07-18 Massoud Alibakhsh System and method for wirelessly transmitting and receiving customized data broadcasts
US20150055782A1 (en) * 2013-08-08 2015-02-26 Massoud Alibakhsh System and Method for Wirelessly Transmitting and Receiving Customized Data Broadcasts
US20150046560A1 (en) * 2013-08-08 2015-02-12 Massoud Alibakhsh System and method for wirelessly transmitting and receiving customized data broadcasts
US9319410B1 (en) * 2014-01-07 2016-04-19 Fundology, Inc. Electronic shared-document repository
US20150227989A1 (en) * 2014-02-12 2015-08-13 Cellco Partnership D/B/A Verizon Wireless Method and System for Enforcing Acknowledgement of Terms and Conditions
US11683389B2 (en) 2014-04-08 2023-06-20 Dropbox, Inc. Browser display of native application presence and interaction data
US11172038B2 (en) 2014-04-08 2021-11-09 Dropbox, Inc. Browser display of native application presence and interaction data
US9978076B2 (en) 2014-04-24 2018-05-22 Paypal, Inc. Location-based crowdsourced funds
WO2015164022A1 (en) * 2014-04-24 2015-10-29 Ebay Inc. Location-based crowdsourced funds
US9444846B2 (en) 2014-06-19 2016-09-13 Xerox Corporation Methods and apparatuses for trust computation
US9979787B2 (en) * 2014-07-09 2018-05-22 Buffalo Inc. Information processing system, network storage device, and non-transitory recording medium
US20160014201A1 (en) * 2014-07-09 2016-01-14 Buffalo Inc. Information processing system, network storage device, and non-transitory recording medium
US9531804B2 (en) * 2014-09-30 2016-12-27 International Business Machines Corporation Optimizing resource downloads or streams using a collection of trusted network connected endpoints
US9628559B2 (en) * 2014-09-30 2017-04-18 International Business Machines Corporation Optimizing resource downloads or streams using a collection of trusted network connected endpoints
US9420041B2 (en) * 2014-09-30 2016-08-16 International Business Machines Corporation Optimizing resource downloads or streams using a collection of trusted network connected endpoints
US11132107B2 (en) * 2015-03-02 2021-09-28 Dropbox, Inc. Native application collaboration
US11526260B2 (en) 2015-03-02 2022-12-13 Dropbox, Inc. Native application collaboration
US11900479B2 (en) 2015-03-20 2024-02-13 Www.Trustscience.Com Inc. Calculating a trust score
US11170345B2 (en) 2015-12-29 2021-11-09 Dropbox Inc. Content item activity feed for presenting events associated with content items
US11875028B2 (en) 2015-12-30 2024-01-16 Dropbox, Inc. Native application collaboration
US11386129B2 (en) 2016-02-17 2022-07-12 Www.Trustscience.Com Inc. Searching for entities based on trust score and geography
US11341145B2 (en) 2016-02-29 2022-05-24 Www.Trustscience.Com Inc. Extrapolating trends in trust scores
US11640569B2 (en) 2016-03-24 2023-05-02 Www.Trustscience.Com Inc. Learning an entity's trust model and risk tolerance to calculate its risk-taking score
US11425175B2 (en) 2016-04-04 2022-08-23 Dropbox, Inc. Change comments for synchronized content items
US11943264B2 (en) 2016-04-04 2024-03-26 Dropbox, Inc. Change comments for synchronized content items
US11019496B2 (en) * 2016-10-31 2021-05-25 Yulong Computer Telecommunication Scientific (Shenzhen) Co., Ltd. Method and electronic device for identifying a pseudo wireless access point
US11416927B1 (en) 2018-04-10 2022-08-16 Wells Fargo Bank, N.A. Systems and methods for private loan creation
US10902514B2 (en) 2018-04-10 2021-01-26 Wells Fargo Bank, N.A. Systems and methods for private loan creation
US11809450B2 (en) 2018-04-27 2023-11-07 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
US11334596B2 (en) 2018-04-27 2022-05-17 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
US11645405B2 (en) 2020-09-30 2023-05-09 Duvon Corporation Secure fetch of digital content
US20230062137A1 (en) * 2021-08-27 2023-03-02 Logitech Europe S.A. Method and apparatus for simultaneous video editing

Also Published As

Publication number Publication date
US20100229221A1 (en) 2010-09-09
US20120324543A1 (en) 2012-12-20
WO2006047879A1 (en) 2006-05-11
US8205245B2 (en) 2012-06-19
US7797732B2 (en) 2010-09-14
US20110265148A1 (en) 2011-10-27
US8707394B2 (en) 2014-04-22
EP1815642A4 (en) 2010-12-29
US20140228128A1 (en) 2014-08-14
US20060117378A1 (en) 2006-06-01
EP1815642A1 (en) 2007-08-08
AU2005301055A1 (en) 2006-05-11
US20120158577A1 (en) 2012-06-21
CA2807829A1 (en) 2006-05-11
CA2807829C (en) 2017-10-10
US8402512B2 (en) 2013-03-19
WO2006047879B1 (en) 2006-07-13

Similar Documents

Publication Publication Date Title
US8402512B2 (en) System and method for creating a secure trusted social network
US11151623B2 (en) Peer-to-peer trading platform
US7877353B2 (en) Peer-to-peer trading platform with relative reputation-based item search and buddy rating
US8335822B2 (en) Peer-to-peer trading platform with search caching
TW578058B (en) Method and apparatus for segmented peer-to-peer computing
CN110275891B (en) Artificial intelligence software market
US20150026080A1 (en) Methods and apparatus for title protocol, authentication, and sharing
US20030028782A1 (en) System and method for facilitating initiation and disposition of proceedings online within an access controlled environment
US20040030603A1 (en) System and method for facilitating management of a matter online within an access controlled environment
KR100985660B1 (en) Method and apparatus for establishing peer-to-peer karma and trust
CN111798233A (en) Linking of tokens
Boysen Decentralized, self-sovereign, consortium: The future of digital identity in canada
WO2007108986A2 (en) Peer-to-peer trading platform
US20210158298A1 (en) Contact discovery load balancing by matter invite
CA2586522C (en) System and method for creating a secure trusted social network
Guo et al. A lightweight NFT auction protocol for cross-chain environment
AU2012200572B2 (en) System and method for creating a secure trusted social network
JP2023537698A (en) Connection with blockchain network
Bergeron et al. Simulating patient matching to clinical trials using a property rights blockchain
JP2021114029A (en) Verification method, verification device, and verification program
US11810104B1 (en) Method and system for management of game tokens
EP2223259A1 (en) A method and system of conducting a communication
Chen et al. Towards a decentralized and secure electronic marketplace
Tafreschi Trust Building and Usage Control for Electronic Business Processes

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION