IP Library Patent Application 12756047
Patent Application
App. No. 12/756,047

PEER COMMUNITIES

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
12/756,047
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 (80)

1 . 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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0509 →