US20060259957A1 - System and method for creating a secure trusted social network - Google Patents
System and method for creating a secure trusted social network Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 218
- 230000008569 process Effects 0.000 claims abstract description 181
- 238000004891 communication Methods 0.000 claims abstract description 44
- 238000000926 separation method Methods 0.000 claims description 92
- 230000003993 interaction Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 6
- 238000009434 installation Methods 0.000 claims description 5
- 238000012795 verification Methods 0.000 abstract description 4
- 230000015572 biosynthetic process Effects 0.000 abstract description 2
- 238000013475 authorization Methods 0.000 description 52
- 239000003999 initiator Substances 0.000 description 33
- 238000010586 diagram Methods 0.000 description 28
- 238000012546 transfer Methods 0.000 description 27
- 230000009471 action Effects 0.000 description 19
- 238000007726 management method Methods 0.000 description 17
- 230000000694 effects Effects 0.000 description 13
- 230000033228 biological regulation Effects 0.000 description 10
- 230000008520 organization Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 9
- 241000282414 Homo sapiens Species 0.000 description 8
- 238000009826 distribution Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000002441 reversible effect Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012552 review Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000035479 physiological effects, processes and functions Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 230000011273 social behavior Effects 0.000 description 1
- 201000009032 substance abuse Diseases 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-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
- 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.
- 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.
- 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. - 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.
- 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. Theuser 1 uses acomputing device 2. Thecomputing device 2 has asoftware client 6 installed on it, which is supplied from a legitimate source, such as a CD bought from a merchant or downloaded from the trustedservers 3. Thesoftware client 6 is a software interface that manages the flow of data between thecomputing device 2, the trustedservers 3 and other computing devices connected to the network. Thecomputing device 2 can be any digital device with sufficient capacity to run thesoftware client 6 and to exchange data packets with other computing devices. Thecomputing 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 trustedservers 3 are computing devices connected to the network that can identify, verify and authenticate users of the network. Theuser 1 uses the software client to connect to the trustedservers 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. Theuser 1 of acomputing device 2 communicates with the trustedservers 3 by means of the communications means 4, downloads the software client, completes the setup process and is designated asUser 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. Insteps 0010A to 0010C of the process, theuser 1 contacts the trustedservers 3 through anappropriate communication service 4 and downloads thesoftware client 6. In an alternative embodiment of the present invention, theuser 1 obtains thesoftware client 6 from an offline source such as a software store. After the installation of thesoftware client 4, theuser 1 can now be known asUser A 1. Once thesoftware client 6 is installed,step 0020 is forUser A 1 to activate thesoftware client 6. Thesoftware client 6queries 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 throughcommunication service 4 to trustedservers 3. Insteps 0030A and B, trustedservers 3 receive the setup information (D0020) and send an automatically generated authentication message (M0030) toUser A 1 based on the contact information specified in D0020. This step represents a confirmation of contact information provided by thesoftware client 6. Instep 0040,User A 1 receives the message.User A 1 now has a choice of actions after receiving information (M0030) from the trustedservers 3. Instep 0045User A 1 accepts the terms and conditions of use and, instep 0046, sends acceptance to trustedservers 3. The trustedservers 3 then create an account forUser A 1. Instep 0050B,User A 1 declines to accept the terms and conditions of use for the network, this refusal is send to the trustedservers 3. The trustedservers 3 note thatUser A 1 has abandoned the signup process. Insteps 0055A to E,User A 1 does not act on Message (M0030) after a set period of time. The trustedservers 3 assume that the application has been abandoned. Alternatively, steps 0060A and B assume that the authentication message (M0030) was returned to trustedservers 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. Instep 0065 the trustedservers 3 take note of the failure and reacts accordingly, either by abandoning the application process or repeating attempts to contactUser 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 trustedservers 3. In an alternative embodiment of the present invention this process can take place at the same time asUser A 1 initially joins the network. The new user, in this case defined asUser Z 7, is contacted by the trustedservers 3 and prompted to join the network.User Z 7 is a person with whomUser A 1 has a pre-existing relationship of trust either through a social network or through predefined roles in an organization. With reference toFIG. 4 , instep 0200User A 1 logs on to the network and sends a message (D0200) to the trustedservers 3. Message D0200 is comprised of the contact information for another trustedpeer 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 byUser A 1. Instep 0210 the trustedservers 3 receive message D0200 and initiate the referral process. Instep 0215, the trustedservers 3 send a message (M0215) toUser Z 7, through an appropriate communication means 4 (as defined by the contents of message D0200) invitingUser Z 7 to obtain thesoftware client 6 from the trustedservers 3. The message (M0215) comprises: Explanation of Service, How to Download Software Client from trusted servers. Instep 0220,User Z 7 receives message (M0215), and then downloads and installs thesoftware client 6. In step 0225User Z 7 proceeds through the setup process defined above by steps 0020-0070, above. Once this process is complete, instep 0250, the trustedservers 3 send a confirmation message (M0250) back toUser A 1 indicating thatUser 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 refersUser Z 7 to a website where the software client can be downloaded andUser 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 inFIG. 6 . Instep 0300User 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 whereUser Z 7 can download thesoftware client 6. Insteps 0302A to C,User Z 7 receives Message (D0300), connects to the trustedservers 3 and proceeds through the Initial Setup process as discussed above in steps 0010-0100. Insteps 0310A to C, after the account is set up,User Z 7 proceeds to define his or her relationship withUser 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 bothUser A 1 andUser 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 trustedservers 3, definingUser Z 7 as a trusted peer.User Z 7 can accept or reject this new definition, by communicating with the trustedservers 3. With reference toFIG. 8 , instep 0402,User A 1 sends data (D0402) to the trustedservers 3 definingUser Z 7 as a trusted peer. Data (D0402) comprises the unique identifying information ofUser Z 7. Instep 0410, the trustedservers 3 receive data (D0402) and send message (M0410) toUser Z 7 notifying them of a request to create a relationship withUser A 1. Instep 0420User Z 7 receives message (M0410) and takes one of several, alternative, actions. In step, 0422User Z 7 accepts the request and sends acceptance (D0422) back to the trustedservers 3. Instep 0424,User Z 7 declines the request and sends refusal (D0424) back to the trustedservers 3. Finally, insteps 0426A to E,User Z 7 ignores the request and the request is considered to have been refused after a set time has elapsed. Instep 0430, the trustedservers 3 relay the action ofUser Z 7 toUser 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 inFIG. 10 . Instep 0502,User A 1 activatessoftware client 6. Instep 0506 thesoftware client 6 contacts the trustedservers 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). Instep 0507,User A 1 undergoes an authentication process on the trustedservers 3. In one embodiment of the present invention the authentication process comprises comparing the UserID and password submitted byUser A 1, with information stored on the trustedservers 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 ofUser A 1. In step 0520, User A's 1 identity is verified. Then, instep 0525, the trustedservers 3 generate information and instructions (M0520) which are sent to theLocation 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. TheLocation 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. TheLocation Service 8 is run by a Location Server which is considered to be one of the trustedservers 3. In one embodiment of the present invention, connection point is defined as a socket connection for a TCP/IP network. Insteps 0530A to E, theLocation Service 8 goes through a list and determines which trusted peers 7, 9, 10, 11 ofUser A 1 are currently connected to the network. The connection points of the users are summarized in a list (LIST0530). Instep 0540, theLocation Service 8 sends list (LIST0530) toUser A 1. Instep 0550, the list (LIST0530) has been received andUser 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”. Instep 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 thatUser A 1 is now available on the network. Alternatively, instep 0550, User A's 1 identity is not verified. The trustedservers 3 will not allowUser 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 inFIG. 12 . The graceful logoff process begins atstep 0602 whereUser 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. Instep 0604,User A 1 uses thesoftware client 6 to send a command to log off of the network (D0604) to the trustedservers 3. In step 0605, the trustedservers 3 execute the logoff procedure forUser A 1. The trustedservers 3 inform theLocation Server 8 thatUser A 1 is logging off. Instep 0607, theLocation Server 8 executes procedures to inform all the trusted peers ofUser A 1 thatUser A 1 will be unavailable. For example,User Z 7 will be informed thatUser A 1 is no longer available. Instep 0610, theLocation Server 8 sends message to the trustedservers 3 that User A's logoff procedure is completed. Instep 0620, the trustedservers 3 send message to thesoftware client 6 ofUser A 1 that it is allowed to shut down. Instep 0675, thesoftware client 6 ofUser 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 inFIG. 14 . Instep 0700,User A 1 is suddenly disconnected from the trusted servers 3 (i.e. the connection point between thelocation server 8 and thesoftware client 6 is severed, for example, due to an equipment or power failure). In step 0720, the client software ofUser A 1 attempts to reconnect to the trustedservers 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. Instep 0740, theLocation Server 8 executes procedures to inform all the trusted peers connected toUser A 1, namely 7, 9, 10, and 11 thatUser A 1 will be unavailable. In step 0745, theLocation Server 8 sends message to trustedservers 3 that User A's 1 logoff procedure has been completed. As a result, instep 0750, the trustedservers 3 note thatUser A 1 is not on the network. Alternatively, in step 0760, User A l's attempt to re-connect with the trustedservers 3 succeeds. In step 0765, the trustedservers 3 note the new connection point for the User and, in step 0770 starts process 0525-0560 to inform User A l'strusted peers 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 inFIG. 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 toUser Z 7 andUser B 9. They in turn, forward the query fromUser A 1 to their list of trusted peers. From the perspective ofUser 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, thelocal 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 fromUser A 1, can answer the query and communicates the response to the search directly withUser A 1, the initiator. In this example,User D 10 who is authorized to be on the network but bears no social relationship toUser 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. Instep 4012, the message is sent to one of the trusted peers ofUser A 1, forexample User Z 7. Instep 4014,User Z 7's software client decreases the parameter N by 1, then, instep 4016, it checks to see if N is less then 0 then proceeds to step 4022, performing a query of the system ofUser Z 7. Then, instep 4020, the client ofUser Z 7 sends a new message with the initial query and the new value of N to the trusted peers ofUser Z 7. These steps generate a recursive process that will search through all the clients related toUser 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) toUser A 1. In one embodiment of the present invention, message M4025 comprises the location and availability of the object and the parameter N. Alternatively, instep 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 inFIG. 18 . InFIG. 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 andUser B 9. BothUser Z 7 andB 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 toZ1 12 andZn 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 thatZ3 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 toUser Z2 13, who in turn passes the information back toZ1 12.Z1 12 passes back toZ 7 and finallyZ 7 responds toUser 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 ofUser 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 toUser Z 7. Instep 4102, thesoftware client 6 ofUser A 1 creates a tracking list (L4101) of trusted peers that were forwarded Q1, namely,User Z 7 andUser B 9 were asked the question Q1. Instep 4113, on one of the trusted peers ofUser A 1, forexample User Z 7, thesoftware 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 ofUser Z User Z 7. Instep 4114, thesoftware client 6 ofUser Z 7 decreases the parameter N by 1. Instep 4016, thesoftware client 6 ofUser 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 ofUser Z 7. Instep 4020, the software client sends a new message fromUser Z 7, with the new query identification information and the new value of N to each trusted peers as defined byUser Z 7. For example, Q1 is forwarded toUser Z1 12 and toUser Zn 2. In step 4021, thesoftware client 6 ofUser Z 7 creates an entry on the list (L4113) for each query sent to each particular trusted peer ofZ 7. If, instep 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 toUser A 1 by N degrees of separation as defined byUser A 1. Once the above chain of steps is completed, thesoftware client 6 proceeds to step 4122 and performs the query on the local computing device. If the query is successful thesoftware 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 toUser 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, thesoftware 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. Instep 4140, thesoftware 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). Instep 4145, asoftware client 6 that receives theunsuccessful query message 4130, deletes this entry from the tracking List L4113. In step 4150, thesoftware 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 satisfyUser A 1's query.User Z3 14 sends an affirmative message toZ2 13.User Z2 13 searches on list L4113 to see thatZ1 12 forwarded the query toUser Z2 13.Z2 13 then informsZ1 12 thatZ2 13 has an answer to the query. This process continues untilUser Z 7 informsUser A 1 that an answer to the query is available. At thispoint 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 inFIG. 20 . Instep 4300,User A 1 sends a message (M4300) containing a search query, the degree of separation (N) to the trustedservers 3. Again, the search query can be, but is not limited to, text string, file descriptors, commands or instructions. Instep 4305, thesearch service 20 on the trustedservers 3 receives a message M4300. Thesearch service 20 then generates a list (L4305) of all the trusted clients that can be reached byUser A 1 based on N. Instep 4310, the search service queries thelocation server 8 for the connection point for each of the trusted peers on list L4305. Then, instep 4315, thesearch server 20 contacts each of the trusted peers onlist L4305 step 4317, the software clients of the users on list L4305 receive the query and search the local computing device. If query is successful, thesoftware client 6 of the user who can successfully respond to the search query sends back a message to the trustedservers 3. This message includes at the minimum the answer to the query. In step 4320, thesearch 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 toUser 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 andFIG. 22 is the corresponding flow chart detailing the steps required in this process. InFIG. 21 ,User A 1 is directly connected toUser Z 7 and therefore can exchange services. With reference toFIG. 22 , the details of the process are described as follows. In step 5002,User A 1 establishes a link withUser Z 7 based on information supplied by trustedservers 3. Users A 1 andZ 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. Instep 5010User 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. Instep 5012,User A 1 sends a request toUser Z 7. Instep 5015, the software client on User Z's 7 computing device performs the action requested byUser A 1. In step 5017,User Z 7 sends a response back toUser A 1. In step 5020, if there is an interruption, such as a sudden disconnection caused by a power failure, the software client onUser A 1's computing device, instep 5025 creates a set point, which can be used to restart action on reconnection. In step 5030, the software client ofUser Z 7, continues the action requested byUser A 1 until end point is reached. Instep 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 andFIG. 24 is the corresponding flow chart detailing the steps required. InFIG. 23 ,User A 1, who is behind afirewall 40, first connects to aproxy 30 and then requests a connection toUser Z 7. The trustedservers 3 then directUser Z 7 to theappropriate proxy 30. The actions or operations can then be carried out through theproxy 30. The details of the process are described as follows. Instep 5201,User A 1 performs a search as described in process 4000-4999 and receives the information thatUser Z 7 has the required service. In step 5202,User A 1 requests a proxy connection from the trustedservers 3 becauseUser A 1 andUser Z 7 cannot connect directly. In this example, aproxy 30 is a service that allows the software client to make indirect network connections to other users.User A 1 andUser Z 7 must be related by N degree of separation. In step 5205, a session is established that connects the two users through theproxy 30. In step 5210 an end condition for the length of the session is defined. Instep 5215 the requested action is performed byUser Z 7 through theproxy 30. In step 5217,User Z 7 sends a response back toUser A 1 via theproxy 30. Step 5220 governs the possibility of an interruption in the connection between Users A 1 andZ 7. If an interruption occurs, instep 5225 the software client of the initiator of the connection, in thiscase 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. Instep 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 inFIG. 26 . InFIG. 25 ,User Z3 14 has the service requested byUser A 1. In order to deliver the service withoutUser Z3 14 being aware thatUser A 1 has requested the service,User Z3 14 performs the service and delivers the result to the trustedpeer Z2 13.User Z2 13 in turn delivers the result back toUser Z1 12, andZ1 12 then delivers it back toUser Z 7.User Z 7 finally fulfils the request ofUser 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 thatUser 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 aproxy 30 as described in steps 5200-5399. A detailed description of service delivery through relays is as follows. Instep 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. Instep 5410,User A 1 requests a service based on the results of the search. Instep 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 whomUser A 1 has an N of 0, in thiscase User Z 7. Instep 5430, the service request reaches the user that has the resources, in this example,User Z3 14. Instep 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. Instep 5550, the initiator of the query,User A 1, receives the results of theUser 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 inFIG. 28 . InFIG. 27 ,User A 1 remotely establishes a connection with hissoftware 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 thesoftware client 6 from anexternal system 2 and establishes a communication session. In step 6005, thesoftware client 6 provides an authentication and identification process for theremote User A 1. Instep 6010 thesoftware client 6 reviews the identifying data provided by theremote User A 1. At this point, either, in step, 6020 authentication fails and the remote request will not be considered, or, instep 6030, the authentication succeeds and the remote request can continue until the session is terminated. In effect, theexternal system 2 can issue commands and receive replies through the communication link to the software client. Instep 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. InFIG. 52 , steps A001-A020 represent the authentication steps.User A 1 must first be identified and receive authorization from the trustedservers 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 onUser 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 theediting server 300. In step A050, theediting 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), onlyUser 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, theediting server 300 offers trusted peers ofUser 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. InFIG. 53 , steps A301-A320 represent the authentications steps as described above. In stepA320 User A 1 wishes to edit an existing file that is marked as a collaboration object. In step A330, theclient software 6 checks with theediting server 300 to determine whether another user is editing the same object. In step A340 the editing server also checks thatUser 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 notifiesUser A 1 that the object is in use and cannot be edited. Otherwise, in steps A380 and A390, the collaboration object is unlocked andUser A 1 can proceed to edit the object usingUser 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. InFIG. 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 theinitiator 1 of a synchronization object or can be asubscriber 7 to that object. Theinitiator 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. Thesubscribers 7 are users that want the synchronization object. Eachsubscriber 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 theinitiator 1 creates the synchronization object, thesynchronization server 350 contacts asubscriber 7 from the list suggested by theinitiator 1 to see if they accept the object. In steps C070 to C090, thesubscriber 7 either accepts or rejects the synchronization object and relays this response to thesynchronization service 350. If thesubscriber 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, thesubscriber 7 that accepts the synchronization object can suggest a list of their trusted peers and thesynchronization 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. InFIG. 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 thebanking server 400. -
FIG. 56 is a flow chart describing the steps required for a borrower to initiate a loan request. InFIG. 56 , steps B201-B220 represent the authentications steps. Users must first be identified and receive authorization from the trustedservers 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 theborrower 1 starts the query process by submitting their preferences to the banking server 400.In steps B240 to B360, thebanking server 400, attempts to match the preferences submitted by theborrower 1 with those of lenders within N as defined by theborrower 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. Thebanking 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, theborrower 1 receives the list of potential lenders. In steps B420 and B430, theborrower 1 selects from the list and forwards their selections to thebanking server 400. Steps B440 to B520 describe how thebanking server 400 sends requests to eachlender 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 bothborrower 1 andlender 7 agree on the conditions of a loan, thebanking server 400 facilitates the transfer of money from thelender 7 or lenders to theborrower 1. At the initiation of the transfer, thebanking server 400 finalizes the loan agreement betweenborrower 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 thepush 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. InFIG. 58 , steps D001-D020 represent the authentications steps. Users must first be identified and receive authorization from the trustedservers 3 to access the network. Once authorized, users receive the most current contact list of trusted peers connected to the network. In step D030, theuser 1 sets the properties of the push object and selects the trustedpeers 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 thepush server 450. In step D045, thepush server 450 checks to see if the object meets the requirements set by eachreceiver 7. If the requirements are met, in step D050 thepush server 450 contacts thereceiver 7 for permission to accept the push object. Steps D060-D095 describe how thepush server 450 obtains permission from each trustedpeer 7 to receive the push object and how each trustedpeer 7 can then obtain the push object from theinitiator 1. Steps D100-D140 describe how the push object can be sent toother users 7 depending on the degree of separation of the object and the degree of separation of theuser 7 from the initiator of thepush 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
- 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, namelyFile A-1 60 on a shared folder.User A 1 must first be identified and receive authorization from the trustedservers 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 thiscase User B 9, who is already authorized to be on the system can now accessFile A-1 60. - c) Socially related users can access Any connected user that are related to
User A 1 orUser B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also accessFile A-1 60 depending on the permission first declared byUser 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 thiscase User X 90, cannot have access toFile A-1 60.
- a) Authentication and
- 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
- 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 moredigital photograph file 80 on a computing device connected to the network.User A 1 must first be identified and receive authorization from the trustedservers 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 thephotograph file 80. - 3. Socially related users can access Any connected user that is related to
User A 1 orUser B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also access thephoto 80 depending on the permission first declared byUser A 1. For example,User A 1 can limit the degree of separation (n) for which thephotograph 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 thiscase User X 90, cannot have access to thephotograph file 80.
- 1. Authentication and
- 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
- 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 trustedservers 3 in order to access the network. - 2. Trusted peer of User A can access A trusted peer of
User A 1, in thiscase User B 9, who is already authorized to be on the system can now access thevideo file 120. - 3. Socially related users can access Any connected user that are related to
User A 1 orUser B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also access thevideo file 120 depending on the permission first declared byUser 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 thiscase User X 90, cannot have access tovideo file 120.
- 1. Authentication and
- 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
- 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 theremote device 2 and thesoftware client 6. Thesoftware client 6 will issue a challenge andUser 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 thesoftware client 6 through theremote device 2. - 2. Authentication and
Authorization User A 1 starts and completes the logon process for thesoftware client 6 and the trustedservers 3.User A 1 has afile 120 on a shared folder. - 3. Trusted peer of User A can access A trusted peer for
A 1, in thiscase User B 9, who is already authorized to be on the system can now access thefile 120. - 4. Socially related users can access Any connected user that are related to
User A 1 orUser 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 byUser A 1. For example, A 1 can limit the degree of separation (n) for which thefile 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 thiscase User X 90, cannot have access to thefile 120.
- 1. Authentication and authorization for remote
- 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
- 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.
- 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
- 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.
- 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
- 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
- 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
-
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 anitem 130 on a shared folder.User A 1 must first be identified and receive authorization from trustedservers 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 byUser A 1 to be a trusted peer, can now negotiate the purchase ofitem 130 fromUser A 1. This transaction is recorded in anaccounting service 140 on the local machine for both Users A 1 andB 9. - 3. Socially related users access Any connected user that are related to
User A 1 orUser B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also negotiate the purchase of theitem 130 depending on the permission first setup byUser A 1 and subsequently, all the other related users. This transaction is also recorded in anaccounting service 140 on the local computing device ofUser A 1 andUser B n 70. - 4. Transaction information For each user, the local accounting service reports the transaction information to the
accounting server 150 on the trustedservers 3. Theaccounting 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.
- 1. Authentication and
- 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. 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 trustedservers 3 to access the network.
- 1. Authentication and
- 2. Initial DRM
information User A 1, sends the Digital Rights Management (DRM) 165 information to theDRM server 160. - 3. Trusted peer of User A can request and obtain item. A trusted peer of
User A 1, defined asUser B 9, who is already authorized to be on the system can now obtain theitem 120 fromUser 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 orUser B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also obtain theitem 120 depending on the permission first setup byUser A 1 and subsequently, all the other related users. TheDRM information 165 is sent to the localdigital rights manager 160 installed on thelocal system 170. - 5. Digital rights information For each user, the
local accounting service 140 reports the digital rights information to theDRM Server 160 on the trustedservers 3. TheDRM Server 160 can then assign the appropriate access rules and regulation governing the use of the item as defined by the digital rights owner, namelyUser 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.
- 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 anitem 120 that can be identified uniquely by means of anidentifier 165.User A 1 must first be identified and receive authorization from the trustedservers 3 to access the network. - 2. Owner's rights
information User A 1 sends theunique identifier 165 andownership 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 fromUser A 1. - 4. Socially related users can access Any connected users that are related to
User A 1 orUser B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also request theitem 120 depending on the permission first setup byUser A 1 and subsequently, all the other related users. - 5. Delivery of Item In this example,
User A 1 accepts the request ofUser B n 70 and delivers theitem 120 together with itsunique identifier 165. Theitem 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 toRM server 160 to conclude the transaction.
- 1. Authentication and
- 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.
- 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.
- 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 anitem 120 for auction on the network.User A 1 must first be identified and receive authorization from the trustedservers 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 theitem 120 from theauction server 160. Any other users that are related toA 1 orB 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 orUser B 9 can bid on theitem 120 by contacting theauction 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 trustedservers 3.
- 1. Authentication and
- 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 anitem 120 that might be on the network.User A 1 must first be identified and receive authorization from the trustedservers 3 to access the network. - 2. Starts auction
process User A 1 initiates the auction process by sending the appropriate information to anauction 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 theauction server 160. Any other users that are related to Users A 1 orB 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 orUser B 9 can bid to satisfy the demands ofUser A 1 by contacting theauction 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 theitem 120 to the requesting user,User A 1. Verification of payment and delivery can be managed via the trustedservers 3.
- 1. Authentication and
- 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.
- 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 theUser 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 trustedservers 3.
- 1. Authentication and Authorization.
- 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 theUser 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 trustedservers 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 fromUser A 1 to User C 11 is through theVOIP server 160.
- 1. Authentication and Authorization.
- 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 usingvideo 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 theUser 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 trustedservers 3.
- a) Authentication and
- 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 - 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.
- 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
- 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 hasresources 120 to share, in this case, local hard drive space.User A 1 must first be identified and receive authorization from the trustedservers 3 to access the network. - b)
User A 1 sends information on resource availability. Once authenticatedUser A 1 sends resource information to theresource manager 160 residing with the trustedservers 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 byUser A 1 to be a trusted peer, obtains information from theresource manager 160.User A 1 andUser B 9 can now share theirresources 120 accordingly. - d) Socially related users can access. Any connected user that is related to
User A 1 orUser B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also share theirresources 120. Theresource 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 theresource manager 160 on the trusted servers. Theresource manager 160 can then allocate resources to each user of the trusted network accordingly.
- a) Authentication and Authorization.
- As a result, resources can be grouped and shared on a trusted network according to the preference of each individual user.
- 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 aresource 120 to share, in this case, money.User A 1 must first be identified and receive authorization from trustedservers 3 to access the network. - b)
User A 1 contributes resource to a central authority Once authenticatedUser A 1 sends the resource (money) 120 to the trustedauthority 200 and the information related the resource to theresource 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 byUser A 1 to be a trusted peer, can contribute to or use theresource 120 on the trustedauthority 200. With each contribution, the corresponding resource information is also sent to theresource manager 160.User A 1 andUser B 9 can now share theirresources 120 accordingly. - d) Socially related users access request resources Any connected user that are related to
User A 1 orUser B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also share and request theresources 120. In this case, theUser B n 70 requests theresource 120 and theresource manager 160 carries out the organization and management of those resources and arranges for the delivery of theresource 120. - e) Resource delivery The
resource manager 160 arranges for the delivery of theresource 120 toUser B n 70 from a trustedauthority 200. - f) Resource information For each user, the
local resource service 140 reports and tracks the contribution of each socially related user. Theresource server 160 can then allocateresources 120 or provide access privileges to each user of the trusted network accordingly.
- a) Authentication and
- As a result, resources can be grouped and shared on a trusted network according to the preference settings for each individual user.
- 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 aresource 120, in this case, money.User A 1 must first be identified and receive authorization from the trustedservers 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 theresource manager 160, a trusted authority. - c) Resource
query Resource manager 160 then queries each of the trusted peers ofUser A 1 to find the resource. In this case,User B 9 is query and the system finds thatUser B 9 does not have the requiredresources 120. - d) Request accepted Any connected peer that is related to
User A 1 orUser 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, theUser B n 70 has theresource 120 and theresource manager 160 carries out the organization and management of those resources and arranges for the delivery of theresource 120. - e) Resource delivery The
resource manager 160 closes the request after the delivery of theresource 120 fromUser B n 70 toUser A 1.
- a) Authentication and
- 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.
- 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 updatinginformation 120 that is being stored in a central trusted authority, anediting server 160.User A 1 must first be identified and receive authorization from the trustedservers 3 to access the network. - b) Information contribution. Once authenticated
User A 1 submits thenew information 125 to theediting server 160. - c) Trusted peer information contribution A trusted peer,
User B 9, who is on the network can query theediting server 160 or contributeadditional information 125. - d) Socially related user request information Any connected user that is related to
User A 1 orUser 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 theinformation 120. In this case, theUser B n 70 submits a query to theediting server 160. - e) Information is delivered The
editing server 160 response to the query based on the rules and regulation governing theinformation 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 theinformation 120.
- a) Authentication and Authorization.
- 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.
- 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 agame 120 with one or more users or groups of users.User A 1 must first be identified and receive authorization from trustedservers 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 byUser A 1 to be a trusted peer, can then play withUser A 1. - c) Playing as a group Any connected users that are related to
User A 1 orUser B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also play thegame 120 as an individual or as a group. Agame 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.
- a) Authentication and
- 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 amessage 120.
- a) Authentication and
- 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 trustedservers 3 to access the network. -
- b) Advertising
message User A 1 sends a request to advertise through the social network to theadvertising 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 toA 1 orB 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.
- b) Advertising
- This example illustrates the ability to create a direct marketing campaign to users of a social group using the present invention.
- 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.
- 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 trustedservers 3 to access the network. - b) MLM request Once authenticated,
User A 1 can then send a request to theMLM server 160. TheMLM 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 directlyrelated User A 1. - d) Downline
information User Bn 70, is lower in the hierarchy relative toUser A 1 andB 9 becauseUser Bn 70 was recruited by agents related toUser A 1 andB 9 in some way. Because of this relationship,User A 1 has rights to the MLM activities ofUser Bn 70. - e) MLM activity
information MLM activities 120, for example, sales information, support are provided via a connection to theMLM server 160.Local MLM software 140 on each User's computing device processes this information. TheMLM 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.
- a) Authentication and
- 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 thefilm 120 exists on his local machine. In order to use the network,User A 1 must first be identified and receive authorization from trustedservers 3 to gain access. - b) Film availability Once authenticated
User A 1 sendsfilm information 120 to thefilm manager 160 residing within the trustedservers 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 byUser A 1 to be a trusted peer, obtains information from theresource manager 160.User A 1 andUser B 9 can now both work on thefilm 120 accordingly.User B 9 can then delegate responsibilities and access to thefilm 120 independent fromUser A 1. This is because the network is built based on the principle that there is trust betweenUser A 1 andUser B 9. - d) Process defined users Any connected user that is related to
User A 1 orUser B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also access thefilm 120. Thefilm 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 theresource manager 160 on the maintrusted servers 3. For example, thefilm manager 160 can implement version control, so only one copy of afilm 120 is in production. Thefilm manager 160 can then allocate resources to each user of the trusted network accordingly.
- a) Authentication and
- As a result, resources can be grouped and shared on a trusted network according to the preference of each individual user.
- 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. InFIG. 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 trustedservers 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 thiscase User B 9, who is already authorized to be on the system can now accessfilm A-1 120. - c) Socially related users access Any connected user that are related to
User A 1 orUser 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 byUser 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 tofilm A-1 120.
- a) Authentication and
- 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.
- 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 updatinginformation 120 that is being stored in a central trusted authority.User A 1 must first be identified and receive authorization from the trustedservers 3 to access the network. - b) Medical Information contribution Once authenticated
User A 1 submits the new information the trusted authority, amanager server 120. - c) Trusted peer information contribution A trusted peer,
User B 9, who is on the network can query themanager server 160 or contributeadditional information 120. - d) Related user request information Any connected user that is related to
User A 1 orUser B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also edit or view theinformation 120. In this case, theUser B n 70 submits a query to themanager 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 theinformation 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.
- a) Authentication and
- 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.
- 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 amovie 120 located in a shared folder.User A 1 must first be identified and receive authorization from the trustedservers 3 to access the network. - b) Initial DRM
information User A 1 sends the Digital Rights Management (DRM)information 165 to theDRM server 160. - c) Trusted peer of User A requests and obtains item A trusted peer of
User A 1, defined asUser B 9, who is already authorized to be on the system can now obtain the movie fromUser A 1.User A 1 must meet the requirements of theDRM server 160. For example, obtaining a valid license to view themovie 120. - d) Socially related users with a license can access Any connected users that are related to
User A 1 orUser B 9, in this case, Bn 70 (n representing the degree of separation from User B 9) can also obtain themovie 120 depending on the permissions first set up byUser A 1 and subsequently, all the other related users. Thedigital rights information 165 is sent to theDRM manager 160 to ensure compliance with the rights and regulations governing the use of themovie 120. - e) Digital rights information For each user, the
local accounting service 140 reports thedigital rights information 165 to theDRM manager 160. TheDRM manager 160 will assign the appropriate access rules and regulation governing the use of the item as defined by the digital rights owner.
- a) Authentication and
- 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.
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)
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)
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)
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)
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 |
-
2005
- 2005-11-04 AU AU2005301055A patent/AU2005301055A1/en not_active Abandoned
- 2005-11-04 CA CA2807829A patent/CA2807829C/en not_active Expired - Fee Related
- 2005-11-04 US US11/267,668 patent/US7797732B2/en not_active Expired - Fee Related
- 2005-11-04 EP EP05823852A patent/EP1815642A4/en not_active Withdrawn
- 2005-11-04 WO PCT/CA2005/001689 patent/WO2006047879A1/en active Application Filing
-
2006
- 2006-05-02 US US11/381,282 patent/US20060259957A1/en not_active Abandoned
-
2010
- 2010-05-19 US US12/783,270 patent/US8205245B2/en not_active Expired - Fee Related
- 2010-12-10 US US12/965,358 patent/US20110265148A1/en not_active Abandoned
-
2012
- 2012-02-24 US US13/404,361 patent/US8402512B2/en not_active Expired - Fee Related
- 2012-06-15 US US13/524,279 patent/US8707394B2/en not_active Expired - Fee Related
-
2014
- 2014-04-17 US US14/255,532 patent/US20140228128A1/en not_active Abandoned
Patent Citations (13)
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)
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 |