Availability data service
First Claim
1. A computer storage medium containing computer executable instructions which when executed by a computer perform a method of obtaining availability data for one or more potential meeting attendees, comprising:
- receiving, at a first availability service, an availability data query for a specific meeting event initiated via a calendaring application by a meeting organizer;
comparing, by the first availability service, the one or more potential meeting attendees against a list of persons in an information directory, wherein the information directory identifies one or more mailbox servers on which information for the one or more potential meeting attendees is maintained;
determining, by the first availability service, a first mailbox server that includes real time availability data for a first potential meeting attendee of the one or more potential meeting attendees and a second mailbox server that includes real time availability data for a second potential attendee of the one or more potential meeting attendees, wherein the second mailbox server is associated with a second availability service, and wherein the second availability service is different from the first availability service;
determining whether permissions on individual calendar data set by the first potential meeting attendee of the one or more potential meeting attendees allow a retrieval by the calendaring application of the real time availability data for the first potential meeting attendee of the one or more potential meeting attendees, the permissions being configured to restrict an amount and type of real time availability data that is retrievable by the calendaring application;
upon determining that the real time availability data for the first potential meeting attendee is retrievable by the calendaring application, determining a type of real time availability data that is retrievable by the calendaring application, wherein the type of real time availability data comprises at least one of;
a free/busy type of availability data and a detailed type of availability data;
requesting, by the first availability service, the real time availability data of the type that is retrievable by the calendaring application for the first potential meeting attendee of the one or more potential meeting attendees from the first mailbox server;
requesting, by the first availability service, real time availability data for the second potential meeting attendee from the second availability service;
receiving, at the first availability service, the real time availability data of the type that is retrievable by the calendaring application for the first potential meeting attendee of the one or more potential meeting attendees, wherein the real time availability data indicates whether the first potential meeting attendee of the one or more potential meeting attendees is free or busy for the specific meeting event;
receiving, by the first availability service, the real time availability data for the second potential meeting attendee from the second availability service; and
forwarding the real time availability data of the type that is retrievable by the calendaring application for the first potential meeting attendee of the one or more potential meeting attendees and the real time availability data for the second potential meeting attendee from the first availability service to the calendaring application.
3 Assignments
0 Petitions
Accused Products
Abstract
Real time availability data (free/busy data) is provided for potential meeting attendees and/or assets. An availability service is queried for availability data for one or more attendees and/or meeting assets. The availability service determines the identity of an electronic mailbox server on which is stored current real time calendaring data for the desired attendees and/or assets. The requested data is retrieved by the availability service from one or more mailbox servers having data for each attendee and/or asset. Potential attendees may set permissions on their respective availability data to restrict the amount and types of data that may be retrieved by a given data requester. Data queries and data responses may be structured according to the Extensible Markup Language (XML) and application programming interfaces (API) may be exposed for allowing requesting applications to efficiently call the availability service for availability data.
-
Citations
17 Claims
-
1. A computer storage medium containing computer executable instructions which when executed by a computer perform a method of obtaining availability data for one or more potential meeting attendees, comprising:
-
receiving, at a first availability service, an availability data query for a specific meeting event initiated via a calendaring application by a meeting organizer; comparing, by the first availability service, the one or more potential meeting attendees against a list of persons in an information directory, wherein the information directory identifies one or more mailbox servers on which information for the one or more potential meeting attendees is maintained; determining, by the first availability service, a first mailbox server that includes real time availability data for a first potential meeting attendee of the one or more potential meeting attendees and a second mailbox server that includes real time availability data for a second potential attendee of the one or more potential meeting attendees, wherein the second mailbox server is associated with a second availability service, and wherein the second availability service is different from the first availability service; determining whether permissions on individual calendar data set by the first potential meeting attendee of the one or more potential meeting attendees allow a retrieval by the calendaring application of the real time availability data for the first potential meeting attendee of the one or more potential meeting attendees, the permissions being configured to restrict an amount and type of real time availability data that is retrievable by the calendaring application; upon determining that the real time availability data for the first potential meeting attendee is retrievable by the calendaring application, determining a type of real time availability data that is retrievable by the calendaring application, wherein the type of real time availability data comprises at least one of;
a free/busy type of availability data and a detailed type of availability data;requesting, by the first availability service, the real time availability data of the type that is retrievable by the calendaring application for the first potential meeting attendee of the one or more potential meeting attendees from the first mailbox server; requesting, by the first availability service, real time availability data for the second potential meeting attendee from the second availability service; receiving, at the first availability service, the real time availability data of the type that is retrievable by the calendaring application for the first potential meeting attendee of the one or more potential meeting attendees, wherein the real time availability data indicates whether the first potential meeting attendee of the one or more potential meeting attendees is free or busy for the specific meeting event; receiving, by the first availability service, the real time availability data for the second potential meeting attendee from the second availability service; and forwarding the real time availability data of the type that is retrievable by the calendaring application for the first potential meeting attendee of the one or more potential meeting attendees and the real time availability data for the second potential meeting attendee from the first availability service to the calendaring application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for obtaining availability data for one or more meeting request attendees, comprising:
-
one or more mailbox servers, wherein the one or more mailbox servers store individual calendar data for the one or more meeting request attendees; an availability service memory storage; an availability service processing unit coupled to the one or more mailbox servers and the availability service memory storage, wherein the availability service processing unit is operative to; receive, at a first availability service, an availability data query initiated via a calendaring application for a specific meeting event, compare, by the first availability service, the one or more meeting request attendees against a list of persons in an information directory, wherein the information directory identifies the one or more mailbox servers; determine, by the first availability service, a first mailbox server that includes real time availability data for a first meeting request attendee of the one or more meeting request attendees and a second mailbox server that includes real time availability data for a second meeting request attendee of the one or more meeting request attendees, wherein the second mailbox server is associated with a second availability service, and wherein the second availability service is different from the first availability service; determine whether permissions on individual calendar data set by the first meeting request attendee of the one or more meeting request attendees allow a retrieval by the calendaring application of the real time availability data for the first meeting request attendee of the one or more meeting request attendees, the permissions being configured to restrict an amount and type of availability data that is retrievable by the calendaring application, upon determining that the availability data for the first meeting request attendee is retrievable by the calendaring application, determining a type of availability data that is retrievable by the calendaring application, wherein the type of availability data comprises at least one of;
a public type of availability data and a private type of availability data,request, by the first availability service, the real time availability data of the type that is retrievable by the calendaring application associated with the first meeting request attendee of the one or more meeting request attendees from the first mailbox server, request, by the first availability service, real time availability data for the second meeting request attendee from the second availability service; receive, at the first availability service, the real time availability data of the type that is retrievable by the calendaring application for the first meeting request attendee of the one or more potential meeting attendees, wherein the real time availability data indicates whether the first meeting request attendee of the one or more potential meeting attendees is free or busy for the specific meeting event; receive, by the first availability service, the real time availability data for the second meeting request attendee from the second availability service; and forward the real time availability data of the type that is retrievable by the calendaring application for the first meeting request attendee of the one or more meeting request attendees and the real time availability data for the second meeting request attendee from the first availability service to the calendaring application. - View Dependent Claims (11, 12)
-
-
13. A computer-implemented method of obtaining real time availability data for one or more potential meeting attendees, comprising:
-
receiving, at a first availability service, an availability data query for a specific meeting event initiated via a calendaring application; comparing, by the first availability service, the one or more potential meeting attendees against a list of persons in an information directory, wherein the information directory identifies one or more mailbox servers on which information for the one or more potential meeting attendees is maintained; determining, by the first availability service, a first mailbox server that includes real time availability data for a first potential meeting attendee of the one or more potential meeting attendees and a second mailbox server that includes real time availability data for a second potential attendee of the one or more potential meeting attendees, wherein the second mailbox server is associated with a second availability service, and wherein the second availability service is different from the first availability service; determining whether permissions on individual calendar data set by the first potential meeting attendee of the one or more potential meeting attendees allow a retrieval by the calendaring application of the real time availability data for the first potential meeting attendee of the one or more potential meeting attendees, the permissions being configured to restrict an amount and type of availability data that is retrievable by the calendaring application; upon determining that the real time availability data for the first potential meeting attendee is retrievable by the calendaring application, determining a type of availability data that is retrievable by the calendaring application, wherein the type of availability data comprises at least one of;
a free/busy type of availability data and a detailed type of availability data;requesting, by the first availability service, the real time availability data of the type that is retrievable by the calendaring application for the first potential meeting attendee of the one or more potential meeting attendees from the first mailbox server; requesting, by the first availability service, real time availability data for the second potential meeting attendee from the second availability service; receiving, at the first availability service, the real time availability data of the type that is retrievable by the calendaring application for the first potential meeting attendee of the one or more potential meeting attendees, wherein the real time availability data indicates whether the first potential meeting attendee of the one or more potential meeting attendees is free or busy for the specific meeting event; receiving, by the first availability service, the real time availability data for the second potential meeting attendee from the second availability service; and forwarding the real time availability data of the type that is retrievable by the calendaring application for the first potential meeting attendee of the one or more potential meeting attendees and the real time availability data for the second potential meeting attendee from the first availability service to the calendaring application. - View Dependent Claims (14, 15, 16, 17)
-
Specification