Peer communities
Abstract
A software architecture that permits for a unified mechanism for interfacing with multiple peer groups is disclosed. The architecture includes multiple peer group interfaces, each facilitating communication between computing systems in a corresponding peer group. In addition, a perhaps configurable number and type of service modules are configured to use the peer group interfaces to facilitate communication between peer groups in a manner that facilitates the service. A peer community application program interface is configured to allow one or more peer applications to enlist the services of the plurality of services by interfacing with the peer community application program interface.
Claims
exact text as granted — not AI-modified1 . One or more computer-readable media having thereon computing executable instructions that, when executed by one or more processors of a computing system, cause the computing system to implement a software architecture, the software architecture comprising the following:
a plurality of peer groups interfaces, wherein each peer group interface permits communication between a corresponding peer group; a plurality of service modules, each configured to use at least one of the plurality of peer group interfaces, at least one of the plurality of service modules configured to use multiple peer group interfaces of the plurality of peer group interfaces; and a peer community application program interface configured to allow one or more peer applications to enlist the services of the plurality of services by interfacing with the peer community application program interface.
2 . The one or more computer-readable media in accordance with claim 1 , wherein the peer community application program interface is further configured to permit any combination of object replication, messaging, and eventing.
3 . The one or more computer-readable media in accordance with claim 1 , wherein the peer community application program interface includes filters configured to automatically filter messages.
4 . The one or more computer-readable media in accordance with claim 1 , wherein the peer community interface is configured to re-key a shared key amongst the peer community.
5 . The one or more computer-readable media in accordance with claim 1 , wherein the peer community interface is configured to unify different secured partitions of the peer community.
6 . The one or more computer-readable media in accordance with claim 1 , wherein one of the plurality of peer group interface is for interfacing with an impromptu peer group that is set up for peers that are interested in a replication result.
7 . The one or more computer-readable media in accordance with claim 1 , wherein the peer community interface is configured to allow peers to join the peer community by doing one or more of the following:
authenticate as a peer that a trusted member of the peer community has indicated is trusted; and issue a join request.
8 . The one or more computer-readable media in accordance with claim 1 , wherein the software architecture further comprises:
a service registration module for registering new services modules that supplement or replace the plurality of service modules.
9 . The one or more computer-readable media in accordance with claim 1 , wherein at least one of the plurality of peer groups is a subset of another of the plurality of peer groups.
10 . The one or more computer-readable media in accordance with claim 9 , wherein the plurality of peer groups are hierarchically structured, wherein at least one of the plurality of service modules may cause an action to be performed on one of the peer groups and all or a selected subset of its descendent peer groups in the hierarchical structure of peer groups in response to a single invoking of the peer community application program interface by a peer application.
11 . The one or more computer-readable media in accordance with claim 9 , wherein the plurality of peer groups are hierarchically structure, wherein at least one of the plurality of service modules may cause an action to be performed on one of the peer groups and all or a selected subset of its ancestral peer groups in the hierarchical structure of peer groups in response to a single invoking of the peer community application program interface by a peer application.
12 . The one or more computer-readable media in accordance with claim 1 , wherein the software architecture further comprises:
at least one peer community experience module configured to make a direct call into the peer community application program interface and that supports a category of peer applications; and at least one peer application that is within the category of peer applications, and that are configured to make a direct call into the peer community experience module.
13 . The one or more computer-readable media in accordance with claim 1 , wherein at least one of the peer groups corresponding to the plurality of peer group interfaces communicate using a different peer-to-peer protocol than another of the peer groups corresponding to the plurality of peer group interfaces.
14 . The one or more computer-readable media in accordance with claim 1 , wherein the plurality of services modules includes at least one of the following services modules:
an enumeration service module configured to perform peer enumeration across multiple peer groups; a discovery service module configured to perform discovery across multiple peer groups; a searching module configured to perform searching across multiple peer groups; an events module configured to perform event notifications across multiple peer groups; a voting module configured to facilitate voting across multiple peer groups, a replication module configured to replicate data across multiple peer groups, a scheduling module configured to perform scheduling across multiple peer groups, and a security service module configured to enforce security across multiple peer groups.
15 . The one or more computer-readable media in accordance with claim 1 , wherein the plurality of services modules includes at least two of the following services modules:
an enumeration service module configured to perform peer enumeration across multiple peer groups; a discovery service module configured to perform discovery across multiple peer groups; a searching module configured to perform searching across multiple peer groups; an events module configured to perform event notifications across multiple peer groups; a voting module configured to facilitate voting across multiple peer groups, a replication module configured to replicate data across multiple peer groups, a scheduling module configured to perform scheduling across multiple peer groups, and a security service module configured to enforce security across multiple peer groups.
16 . The one or more computer-readable media in accordance with claim 1 , wherein the plurality of services modules includes all of the following services modules:
an enumeration service module configured to perform peer enumeration across multiple peer groups; a discovery service module configured to perform discovery across multiple peer groups; a searching module configured to perform searching across multiple peer groups; an events module configured to perform event notifications across multiple peer groups; a voting module configured to facilitate voting across multiple peer groups, a replication module configured to replicate data across multiple peer groups, a scheduling module configured to perform scheduling across multiple peer groups, and a security service module configured to enforce security across multiple peer groups.
17 . The one or more computer readable media in accordance with claim 1 , wherein the plurality of service modules comprises a security service module that is configured to provide security based on all of 1) shared secrets, 2) public keys, and 3) group keys.
18 . One or more computer-readable media having thereon computing executable instructions that, when executed by one or more processors of a computing system, cause the computing system to implement a software architecture, the software architecture comprising the following:
a plurality of peer groups interfaces, wherein each peer group interface permits communication between a corresponding peer group; a plurality of service modules, each configured to use at least one of the plurality of peer group interfaces, at least one of the plurality of service modules configured to use multiple peer group interfaces of the plurality of peer group interfaces; a peer community application program interface configured to allow one or more peer applications to enlist the services of the plurality of services by interfacing with the peer community application program interface, wherein the plurality of services modules includes at least one of the following services modules:
a service registration module configured to add service modules to the plurality of service modules and/or remove service modules from the plurality of service modules,
an enumeration service module configured to perform peer enumeration across multiple peer groups;
a discovery service module configured to perform discovery across multiple peer groups;
a searching module configured to perform searching across multiple peer groups;
an events module configured to perform event notifications across multiple peer groups;
a voting module configured to facilitate voting across multiple peer groups,
a replication module configured to replicate data across multiple peer groups,
a scheduling module configured to perform scheduling across multiple peer groups, and
a security service module configured to enforce security across multiple peer groups.
19 . The one or more computer-readable media in accordance with claim 18 , wherein the plurality of services modules includes at least two of the following services modules:
a service registration module configured to add service modules to the plurality of service modules and/or remove service modules from the plurality of service modules, an enumeration service module configured to perform peer enumeration across multiple peer groups; a discovery service module configured to perform discovery across multiple peer groups; a searching module configured to perform searching across multiple peer groups; an events module configured to perform event notifications across multiple peer groups; a voting module configured to facilitate voting across multiple peer groups, a replication module configured to replicate data across multiple peer groups, a scheduling module configured to perform scheduling across multiple peer groups, and a security service module configured to enforce security across multiple peer groups.
20 . In a network environment including multiple peer computing systems that are communicatively coupled to each other using one or more peer-to-peer protocols, a method for sharing photos between each of the peer computing systems via the use of a screen saver, the method comprising:
an act of receiving a request to establish a peer community, the peer community having multiple members spanning multiple peer groups, each peer group configured to communicate using a corresponding peer-to-peer protocol; an act of establishing the peer community; an act of using a peer community API associated with the peer community to establish a replication container; an act of receiving presentation media in the replication container; an act of replicating the photo to the multiple members of the peer community; and an act of displaying photos received from others in an electronic picture frame such as in a screen saver in which the photos have a configurable face time in the screen saver.Join the waitlist — get patent alerts
Track US2010189259A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.