Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

Methods and apparatus are provided that access and present information associated with dynamic communities in an efficient and highly scalable manner. Dynamic communities are formed based on a trigger, which may be a command, a request for information, or an event notification. An apparatus may receive notification of the trigger and form a dynamic community from one or more data sources, such as social-networking websites and enterprise data sources. Sub-triggers may be generated based on the trigger and the dynamic community. The sub-triggers may be sent from the apparatus. A result may then be generated based on received responses to the sub-triggers.

Claims

1. A method, comprising:

receiving a request at an MTserver, wherein the request comprises a dynamic-community definition and a requested operation;

dividing the request into a first plurality of sub-requests at the MTserver based on the dynamic-community definition;

sending each of the first plurality of sub-requests from the MTserver;

receiving a first plurality of responses at the MTserver, wherein each response in the first plurality of responses is based on at least one of the first plurality of sub-requests;
generating a result to the request at the MTserver, wherein the result is based on the first plurality of received responses; and
sending the result from the MTserver.

2. The method of claim 1, wherein generating the result comprises:

merging each response in the first plurality of received responses into an initial result; and

generating the result based on correlating the initial result.

3. The method of claim 1, wherein the initial result comprises a plurality of contacts and wherein correlating the initial result comprises removing duplicate data items from the initial result.

4. The method of claim 1, wherein the initial result comprises a plurality of contacts and wherein generating the result comprises generating an aggregate data item representing aggregate contact information for the plurality of contacts.

5. The method of claim 4, wherein the aggregate data item comprises at least one indication of a data source.

6. The method of claim 1, wherein sending each of the first plurality of sub-requests comprises:

sending a sub-request to a second MTserver,

dividing the sub-request at the second MTserver into a second plurality of sub-requests,

receiving a second plurality of responses at the second MTserver, wherein each response in the second plurality of responses is based on at least one of the second plurality of sub-requests, and

generating a response to the sub-request at the second MTserver based on the second plurality of sub-requests, and
sending the response to the sub-request from the second MTserver, and
wherein receiving the first plurality of responses at the first MT server comprises receiving the response to the sub-request sent from the second MTserver at the first MTserver.

7. The method of claim 1, wherein generating the result comprises:

generating an initial result by merging the response to the sub-request from the second MTserver with the other responses in the first plurality of received responses, by correlating and/or filtering the initial result, or by both merging the response to the sub-request from the second MTserver with the other responses in the first plurality of received responses and correlating and/or filtering the initial result.

8. The method of claim 1, wherein the dynamic-community definition comprises a portal reference.

9. The method of claim 1, wherein the requested operation further comprises a feature.

10. The method of claim 1, wherein the requested operation comprises determining a list of contacts based on the dynamic-community definition.

11. The method of claim 1, wherein the request is formatted as a uniform resource locator (URL).

12. A method, comprising:

receiving a event indication at an MTserver;

screening the event indication at the MTserver according to one or more policies;

forming a dynamic community at the MTserver based on the screened event indication;

generating a response at the MTserver based on the screened event indication; and
sending the response at the MTserver to one or more members of the dynamic community.

13. The method of claim 12, wherein the event indication is related to a change of location.

14. The method of claim 12, wherein the event indication is related to a message.

15. The method of claim 12, wherein the one or more policies comprises a payment-related policy.

16. The method of claim 12, wherein the one or more policies is a do-not-disturb policy set by a user and stored in a user profile.

17. An apparatus, comprising:

a processing unit;

data storage; and

machine-language instructions, stored in the data storage, executable by the processing unit to perform functions, the functions comprising:
receiving a trigger,
determining a dynamic community based on the trigger,
generating one or more sub-triggers based on the trigger and the dynamic community, and
sending each of the one or more sub-triggers.

18. The apparatus of claim 17, wherein the trigger is an event indication, and each of the one or more sub-triggers is an event notification.

19. The apparatus of claim 17, wherein the trigger is a request comprising a dynamic-community definition and a requested operation, wherein determining the dynamic community comprises determining the dynamic community based on the dynamic-community definition, and wherein each of the one or more sub-triggers is a sub-request.

20. The apparatus of claim 17, wherein the apparatus is configured to operate with multiple distributed processors for parallel data collection and correlation in a scalable fashion.