1. Field of the Invention
The invention generally relates to electronic scheduling systems, and particularly, to a federated scheduling method and system that interoperates with disparate electronic calendar and scheduling systems.
2. Description of the Related Art
Electronic scheduling applications and calendars are used to schedule and to keep track of notable events. Oftentimes organizations will maintain the same calendar and scheduling system across the organization so that the scheduling of events for individuals and/or resources within the organization can be easily synchronized. However, because no uniform style of electronic calendar and scheduling application exists, coordinating the exchange of information about events with participants and/or resources from different organizations that employ disparate calendar and scheduling systems remains problematic.
In view of the foregoing, the present invention discloses a system and method for coordinating an exchange of information about an event. The system and method of the invention incorporates the use of a federated broker in the form of either a monolithic server or a network of servers for exchanging information about an event between two or more entities. Communication between the federated broker and the two entities is via a contact (identified by a contact address). For those entities that maintain a calendar system, the contact is an interchange agent that facilitates communication between the calendar system and the broker.
More specifically, in one embodiment of the system a monolithic server coordinates the exchange of information about an event between two or more entities. The server comprises a receiver, a processor, a data storage device and a transmitter. The receiver is adapted for receiving an initial indication of an event containing information about the event from a first entity. The information about the event can include a time, a date, a location, a conference call number, a session initiation protocol uniform resource locator, a list of entities with an interest in the event, a list of attendees of the event, presentation material for the event, resources available for the event, an entity-specific identifier for the event and an agenda for the event. The processor is adapted to review the information about the event in order to identify one or more other entities (e.g., a second entity) that have an interest in the event and to determine contacts (and specifically contact addresses) for the first and second entities. For those entities that have a calendar system, the contact is a calendar system interchange agent that is used to facilitate communication between the calendar system and the broker. The processor is further adapted to associate the event with an event identifier. The information is stored in a data storage device and retrievable by reference to the event identifier. The transmitter is adapted to send an acknowledgement to the contact (and specifically, to the contact address) of the first entity and also to disseminate the information about the event to the contact of the second entity (e.g., via the contact address) or any other entity identified as having an interest in the event. Communications sent by the transmitter about an event will reference the event identifier for the event.
In addition to providing a means for passing initial information about an event from one entity to another, the system of the invention also provides a means for updating the information.
For example, the receiver can also be adapted to receive additional information (e.g., up-dates) about the event from either the first entity, the second entity, or any other entity with an interest in the event. The additional information can include new information (e.g., a time, a date, a location, a conference call number, a session initiation protocol uniform resource locator, a list of entities with an interest in the event, a list of attendees of the event, presentation material for the event, resources available for the event, an agenda for the event, an entity-specific identifier for the event, etc.) or changes to the information provided in the initial indication of the event. The additional information is stored in the data storage device with the information provided in the initial indication and the transmitter disseminates the additional information. Additionally, the processor can be adapted to identify conflicts between the information in the initial indication and the additional information. If conflicts are identified, the transmitter will send an indication of the conflicts to the first entity, the second entity, or any other entity identified as having an interest in the event.
The processor may also be adapted to review both the information in the initial indication and any additional information received in order to identify any entity-specific identifiers that have been assigned to the event by the first entity, the second entity, or any other entity identified as having an interest in the event. The processor will associate any entity-specific identifiers for an event with the event identifier for the event, so that any communications received relating to the event that do not contain a reference to the event identifier, but do contain a reference to the entity specific identifier can be cross-referenced. However, if any additional information is received without reference to a previously identified entity-specific identifier and without reference to the event identifier, the transmitter will return an error message to the entity that sent the additional information.
Another embodiment of system is similar to the system described above, however, instead of a monolithic server, the functional features of the server are divided amongst a network of servers that in aggregate comprise at least one receiver, at least one processor, at least one data storage device, and at least one transmitter. For example, two or more of the entities within the system can each be associated with a corresponding server and each corresponding server can comprise a receiver, processor, a data storage device, and a transmitter. Regardless of whether these functional features (i.e., receiver, processor, data storage device, and transmitters) of the system are located in a central (i.e., monolithic) server or distributed amongst a network of servers, they are adapted to perform the same functions as described above.
In an embodiment of the method of the invention the exchange of information about an event is coordinated between entities. The method comprises first receiving an initial indication of the event from a first entity. The initial indication will include information about the event. The information can include a time, a date, a location, a conference call number, a session initiation protocol uniform resource locator, a list of entities with an interest in the event, a list of attendees of the event, presentation material for the event, resources available for the event, an entity-specific identifier for the event and an agenda for the event. This information is reviewed in order to identify other entities having an interest in the event (e.g., a second entity), to identify other items about the event (e.g., date, time, etc.) and to determined contacts (and specifically contact addresses) for each entity having an interest in the event (e.g., the first entity and the second entity). For entities having a calendar system, the contact is an interchange agent that facilitates communication between the calendar system and the broker. The event is associated with an event identifier and the information about the event is stored such that it may be retrieved by reference to the event identifier. Additionally, the information is disseminated, including a reference to the event identifier, to the contact of the second (via the contact address) and to any other entity having an interest in the event. An acknowledgement of the initial indication is also sent back to the first entity and will include a reference to the event identifier.
In addition to providing processes for passing on initial information about an event from one entity to another, the method of the invention also provides processes for updating the information. For example, additional information about the event can be received from the first entity, the second entity, or any other entity having an interest in the event. The additional information can include new information (e.g., a time, a date, a location, a conference call number, a session initiation protocol uniform resource locator, a list of entities with an interest in the event, a list of attendees of the event, presentation material for the event, resources available for the event, an agenda for the event, an entity-specific identifier for the event, etc.) or changes to the information provided in the initial indication of the event. The additional information is stored with the initial information and disseminated. Additionally, conflicts between the information in the initial indication and the additional information can be identified and a notification of the conflicts can be sent to all entities identified as having an interest in the event.
In order to facilitate the efficient exchange of information, the initial information and any additional information received about the event can be reviewed in order to identify any entity-specific identifiers assigned to the event by the first entity, the second entity, or any other entity identified as having an interest in the event. The entity-specific identifiers will be associated with the event identifier so that when any future additional information is received with a reference to an entity-specific identifier and without a reference to the event identifier, the entity-specific identifier can be cross-referenced. However, if additional information is received without reference to a previously identified entity-specific identifier and without reference to the event identifier, an error message will be returned to the entity (e.g., first or second entity) from which the additional information was received.
The invention will be better understood from the following detailed description with reference to the drawings, in which:
The present invention and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. It should be noted that the features illustrated in the drawings are not necessarily drawn to scale. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the present invention. The examples used herein are intended merely to facilitate an understanding of ways in which the invention may be practiced and to further enable those of skill in the art to practice the invention. Accordingly, the examples should not be construed as limiting the scope of the invention.
As discussed above, enterprise-specific calendar domains (i.e., calendar systems) make it possible for individual members of the enterprise to coordinate calendar entries, for example, by providing a system that allows communication and coordination between individual electronic calendars and a shared calendar. However, no effective method and system has been developed for coordinating the exchange of information about events in which resources and/or participants are associated with different organizations employing disparate calendar and scheduling systems. The present invention discloses a system which incorporates the use of a federated broker in the form of either a monolithic server or a network of servers for exchanging information about an event between two or more entities, and specifically, for exchanging the information when at least one of the entities maintains a calendar system. Communication between the federated broker and the entities is via a contact through a contact address and for those entities maintaining a calendar system, the contact is an interchange agent that facilitates communication with a scheduling component of the calendar system. While individuals will make decisions regarding when and how meetings will be scheduled and rescheduled, who will be invited to attend a meeting, and which invitations to accept, reject, delegate attendance, etc., the method and system of the present invention allows for an exchange of information between disparate calendar systems and can further record and maintain information regarding an event so that consensus about relevant meeting details is tracked and accessible for all participants regardless of the entity (e.g., business entities, organizations, associations, individuals, groups, etc.) to which they belong.
In addition to providing a means for passing initial information about an event from one entity to another, the system of the invention also provides a means for updating the information.
For example, the receiver 151 can also be adapted to receive additional information (e.g., up-dates) about the event from either the first entity 110, the second entity 120, or any other entity with an interest in the event (e.g., the third entity 130). The additional information can include new information (e.g., a time, a date, a location, a conference call number, a session initiation protocol uniform resource locator, a list of entities with an interest in the event, a list of attendees of the event, presentation material for the event, resources available for the event, an agenda for the event, an entity-specific identifier for the event, etc.) or changes to the information provided in the initial indication of the event. The data storage device 153 stores the additional information with the information provided in the initial indication and the transmitter 154 disseminates the additional information along with a reference to the event identifier. Additionally, the processor 152 can be adapted to identify conflicts between the information in the initial indication and the additional information. If conflicts are identified, the transmitter 154 will send an indication of the conflicts to the first entity 110, the second entity 120, and to any other entity identified as having an interest in the event (e.g., the third entity 130).
The processor 152 may also be adapted to review (e.g., by text analysis) both the information in the initial indication and any additional information to identify any entity-specific identifiers (e.g., identification numbers, file names, reference numbers, etc.) that have been assigned to the event by the first entity 110, the second entity 120, or any other entity identified as having an interest in the event (e.g., the third entity 130). The processor 152 will associate any identified entity-specific identifiers with the event identifier so that any communications received by the receiver 151 that relate to the event but do not contain a reference to the event identifier may be processed. For example, additional information without a reference to the event identifier that contains a reference to a previously identified entity specific identifier can be cross-referenced. This allows calendar systems not adapted to process receipt of the event identifier to nevertheless participate in this cross domain scheduling, using their internal ID (i.e., their entity-specific event identifier). However, if any additional information is received without reference to a previously identified entity-specific identifier and without reference to the event identifier, the transmitter 154 will communicate an error message to the entity that sent the additional information.
Referring to
In addition to the features described above, the system 100, 200 of the invention may further comprise an interface 141 that other entities (e.g., fourth entity 140) or individuals associated with the system entities 110, 120, 130 with access (either limited or unlimited) to the information stored in the data storage device 153.
Referring to
Contact addresses are those addresses through which the server network 250 may communicate with an entity contact 112, 122, 132 and may include an email address, a telephone number, etc. For entities 120, 130 having a calendar system 121, 131, the contact address 123, 133 is used to communicate with the calendar system, and specifically, with a contact 122, 132 that functions as an interchange agent between the calendar system 121, 131 of the entity 120, 130 and the server 150 or server network 250, depending upon the system embodiment. This interchange agent may be an individual or automated mechanism.
The event is also associated with a coordinated event identifier (e.g., a federated system identification number, a reference number, a file name, etc.) (306) and the information about the event is stored (e.g., in a data storage device 153, 253a-c within the server or network of servers) such that it may be identified and retrieved by reference to the event identifier (312). Once the information is stored (312), an acknowledgement of the initial indication is sent back to the first entity 110 along with a reference to the event identifier (314). Additionally, the information is disseminated, with a reference to the event identifier, to the contact address of the second entity 120 or to the contact address of any other entity having an interest in the event (e.g., contact address 133 of third entity 130) (316). Specifically, the acknowledgement and/or information may be communicated to the appropriate contact address directly by e-mail, by e-mail with an iCal attachment, by automated telephone message, by text message, etc. Alternatively, an e-mail, e-mail with an iCal attachment, automated telephone message, text message, etc., can be sent to the contact address 113, 123, 133 with a link (e.g., to a uniform resource locator) and an indication that a message is waiting on the system server.
Referring to
In order to facilitate the efficient exchange of information, the initial information and any additional information received about the event can be reviewed (e.g., by text analysis) in order to identify any entity-specific identifiers (e.g., identification numbers, file names, reference numbers, etc.) assigned to the event by the first entity 110, the second entity 120, or any other entity identified as having an interest in the event (e.g., the third entity 130), as described above at process (308). The entity-specific identifiers are associated with the event identifier so that when any future additional information is received with a reference to an entity-specific identifier and without a reference to the event identifier, the entity-specific identifier can be cross-referenced with the event identifier and the additional information can be appropriately stored (404) and disseminated (412). However, if additional information is received without reference to a previously identified entity-specific identifier and without reference to the event identifier, an error message will be returned to the entity (e.g., first or second entity) from which the additional information was received (408). Additionally, the method may include allowing other entities (e.g., fourth entity 140) or individuals associated with the system entities 110, 120, 130 with access (either limited or unlimited) to the information stored in the data storage device 153 about the event.
The embodiments of the system and method described above allow calendaring to be coordinated when those involved do not have a common calendaring domain. For example, units of a single business operating different calendaring systems can use the system disclosed to schedule and coordinate interactions. Also, different businesses with different calendaring systems can engage in cross domain scheduling. For example, a group of businesses, where at least one has a calendaring system can engage in cross domain scheduling. Additionally, the system and method disclosed supports calendaring across the lifecycle of an interaction. For example, typically scheduled interactions begin with very little associated data (e.g., the identities of the entities wishing to meet). Over time, more information is determined (e.g., the dates, locations, participants, etc.). The system disclosed supports this lifecycle by allowing each entity to use its own system for changes. Furthermore, the system and method disclosed allows associated information, such as presentation materials, to be shared among the entities participating in an event (e.g. presentation materials may be shared through the system). For example, company A may use the system to share presentation materials for an upcoming meeting with company B, if company A does not know all the attendees expected from Company B and so cannot directly transmit these presentation materials to those attendees. Specifically, the presentation materials can be delivered from Company A to the interchange agent (contact) of the calendaring system for Company B, which can then make available these materials to the invited members of Company B. The calendaring interaction and the use of the coordinated event identifier provides a pipeline for the exchange of associated materials to exactly the correct audience.
Therefore, disclosed above is a system and method for coordinating the exchange of information about an event. Specifically, the invention incorporates the use of a federated broker in the form of either a monolithic server or a network of servers for exchanging of information about an event between two or more entities. The broker is adapted to receive information about an event, including up-dates and presentation material, store the information and disseminate the information to other interested entities. Communication between the broker and the two entities is via a contact through a contact address. For those entities maintaining a calendar system, the contact is an interchange agent used to facilitate communication between the entity's calendar system and the federated broker. This interchange agent may be an automated mechanism. While the invention has been described in terms of preferred embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.