The present invention relates generally to the systems providing on-line meetings, e.g., including functionality for scheduling and calendaring on-line meetings or events. More particularly, the present invention is directed to a system and method for scheduling and calendaring on-line meetings or events having enhanced functionality for specifying actions to be performed at the time of the meeting and rendering the nature of such actions contingent upon the members attending a scheduled meeting.
Many prior art systems are directed means for collaborating on-line, such as by participating in on-line meetings and events. Representative systems and methodologies enabling scheduling and calendaring of on-line events are described in U.S. Patent Publication Nos. 2004/0005484; 2004/0047461; 2003/0108002; 2003/0158900; 2003/0235279; U.S. Pat. Nos. 6,275,575; 6,477,543; 6,418,214; 6,658,427; 6,064,977; 6,016,478; 5,960,406; 5,790,974; 5,701,423 and J. Webb, “Uniting the Workforce with Collaboration”, Information Management Technology, The Journal of Cimtech, Volume 36, Number 2, April-June 2003; Pages 72-74.
U.S. Patent Publication No. US2003/0235279 describes a method involving a voice-based conference call, in which the people who attend the meeting are monitored, and which permits those who have attended to receive a summary of the meeting; it does not discuss how an arbitrary user might set up an action prior to the meeting.
Determination of an amount of users participating in a multi-user telephone conference is accomplished with functionality described in commonly-owned, co-pending U.S. patent application Ser. No. 10/346,246 filed Jan. 16, 2003 (now United States Patent Publication No. 2004/0141605), entitled METHOD AND SYSTEM FOR AUTOMATIC REAL-TIME MEETING ATTENDANCE TRACKING AND REPORTING IN A MULTI-USER TELEPHONE CONFERENCING ENVIRONMENT.
An article entitled “United the Workforce with Collaboration” (Information Management & Technology, V.36, No.2, April-June 2003 provides a very general short overview of the past, present and future of collaboration while alluding to group calendaring and scheduling systems.
While such systems described in these prior art references address various aspects of participating in on-line meetings and/or events, none of them address: (a) any action to be performed at the time of the meeting, nor (b) the nature of that action being contingent upon who actually attends the meeting (or other characteristics of the actual meeting).
Currently, there exists a need for a system and method that enables a user to schedule an on-line meeting and event, specify an action to be performed contingent upon the participants attending the meeting, and then have the action performed at the time of the event to only those users that actually attend the event.
It is an object of the present invention to provide a system, method and computer program product for conducting on-line meetings that includes functionality for scheduling and calendaring on-line meetings or events. The system functionality for scheduling and calendaring on-line meetings or events includes enhanced functions for specifying actions to be performed at the time of the meeting and rendering the nature of such actions contingent upon the members attending a scheduled meeting.
According to a first embodiment of the invention, there is provided a system, method and computer program product for conducting an on-line meeting, the system comprising:
The system further comprises: a client device providing an interface enabling a user to define the target groups, specify trigger conditions and actions to be executed for defined target group members; and, a server for receiving information representing the defined one or more of the target groups, specified trigger conditions and actions and updating the storing means, the client in communication with the server over a network connection.
It is a characteristic of the present invention that the target group of users participating in the on-line meeting may initially be undeterminable.
The objects, features and advantages of the present invention will become apparent to one skilled in the art, in view of the following detailed description taken in combination with the attached drawings, in which:
The present invention permits a user to perform the following: (1) schedule an on-line meeting; (2) specify that a particular document be sent; and (3) have the requested document sent to only those users who actually attend the meeting when the meeting takes place. As will be described in detail with references to
Examples of platforms that support the clients C11020 and C21030 include any device that can act as web client (i.e., including functionality for executing a web browser application and that can communicate with the server 1010 via the network 1000). Such devices include, but are not limited to, an IBM ThinkPad running Windows 95 and a web browser such as Microsoft's Internet Explorer. Clients are provided network-connectable mobile (i.e., portable) functionality including devices such as those sold under the trademark WorkPad by IBM, as well as smart cellular telephones (i.e., devices which can act as a cellular telephone as well as run network applications, like web browsers), e.g., Nokia 90008 by Nokia.
The Online meeting server MS 1040 provides online conferencing (e.g., a meeting) utility for web clients. Examples of platforms that support the MS 1040 include, but are not limited to: an IBM Workstation running Windows XP and a web-based online meeting service, such as Lotus Notes's eMeeting server, or a web-based news group server.
As shown in
The HTTP Server Handler 2050 particularly may be any application that implements functionality for responding to HTTP communications, and may be embodied as the WebSphere® product (a servlet execution engine) sold by IBM.
The End-User Interface Applet 2060 is an applet a given user can retrieve from the Future Group Server 1010 via its HTTP Server Handler component 2050 to the web browsers running on the client nodes C11020 or C21030. This applet provides an interface enabling an end-user to communicate with the Group Definition Handler component 2070, the Action Definition Handler component 2080, and the Trigger Definition Handler component 2090. Skilled artisan will appreciate that the interface provided by the End-User Interface Applet 2060 could also be preloaded or preinstalled on the client C11020 or C21030. Such artisans will also appreciate that the interface provided by the End-User Interface Applet 2060 can also be implemented as a socket-based application.
The Future Group Server Database 2130 allows the Future Group Server 1010 to store, modify and delete data related to groups, actions and triggers. This database can include, but it not is not limited the DB/2 product sold by IBM, Skilled artisans will appreciate that the Future Group Server Database 2130 may include a service that runs on another server and is accessible by the Future Group Server 1010 via the network 1000.
The Group Definition Handler component 2070 provides functionality allowing a user from their web browser or like interface device- to define a target group of users to which they want one or more actions applied. According to the invention, exemplary target user groups and user-defined attendee (or invitee) member specifications may include, but are not limited to, one or more of the following examples:
Each such user-defined group definition is stored in the Future Group Server Database 2130. In the preferred embodiment, whenever a new group is defined, a unique ID for the group is returned to the creating end-user by the Group Definition Handler component 2070.
The Trigger Definition Handler component 2090 enables an end-user from their client node (C11020, or C21030) to specify a condition, the Trigger Definition Handler 2090 returning a unique trigger ID for each such specification. These condition specifications or “triggers” are used by the Future Group Server 1010 to determine when a previously specified action is to be executed. Example triggers can include, but are not limited to:
All such triggers are stored in the Future Group Server Database 2130. One with ordinary skill in the art will appreciate that a given trigger may be composed of the Boolean combination of several conditions, including previously defined triggers; these triggers indicated using their unique trigger ID.
The Action Definition Handler component 2080 enables an end-user—from their client node (C11020 or C21030)—to specify an action that is to be executed by the Future Group server 1010, the given action being applied to a predefined group given a predefined trigger condition. In the preferred embodiment, such action definitions include three elements: (1) a description of the action, (2) the ID of the group to which the action is to be applied, and (3) an invocation trigger, the ID of the trigger condition which must be true for the action to be executed. Examples of actions include, but are not limited to:
The system further allows for the action definitions to include an indication of the whether the given action may be executed more than once. Additionally, the system allows for the action definition to include a deletion trigger, this being the ID for a trigger, which, if true, causes the current action definition and triggers to be deleted from the Future Group Server Database 2130.
The Trigger Monitoring Handler component 2120 scans through all action definitions and checks the invocation triggers for each, invoking the Action Execution Handler component 2100 on any and all those whose triggers are true. For example, if it is now Wednesday June/15/2005 at 12:00, the triggering condition for action #123, then the ID for this action is passed to the Action Execution Handler component 2100.
The Action Execution Handler 2100 executes the action passed to it by the Trigger Monitoring Handler 2120. This involves first determining the current members of the target group. Thus, if action #123's target group were defined as “All attendees of online meeting #987, the Action Execution Handler 2100 first checks with the meeting server MS 1040 and then sets the current target group to include all those who were attending meeting #987. Participants of an on-line meeting (including the amount of participants and their identities) can be determined in accordance with teachings well known in the art. For example, in on-line meeting applications, such as a standard online chat, IBM's Sametime Meeting, or Microsoft NetMeeting, a list of all current participants is provided to all active users of a given meeting. The list of current users can be retrieved by the Action Execution Handler 2100 either directly, if the given meeting's server provides such programmatic access (e.g., via an API), as does IBM's Sametime meeting, or by parsing (“screen scraping”) the information from the visible response returned to standard users. Skilled artisan will appreciate that in situations where a given online meeting service does not provide remote access to the list of current users, e.g., a standard telephone conference, an associated participant-listing service—one that the Action Execution Handler 2100 could access remotely—could be provided, thus the participant-listing service providing a dynamically updated list of all active participant in the given meeting. Skilled participant will also appreciate that the information provided by the participant-listing service could be obtained either using a proprietary (local) access method, if such method exists, or by having the participants manually sign in and out of the given meeting via the participant-listing service.
The Action Execution Handler 2100 would then execute the action specified by #123 to all of the members of the current target group. In the preferred embodiment, every time a given action is executed, its definition is updated to indicate this.
Furthermore, if a given action is executed multiple times, the members of the current target group may change. For example, if a given action is executed every Wednesday and is to be applied to only those attending a particular chat group, the current target group is likely to change from week to week, since the same group of users do not always attend.
In one illustrative embodiment, if a definition of the current target group is “All those who attend meeting XXX, even those who arrive late,” then the Action Execution Handler 2100 will monitor the meeting for its full duration, executing the specified action to the initial “on-time” attendees, and then executing this same action to any users who join the meeting late. In cases where the group is defined as “All those who attend the meeting for at least 30 minutes,” the Action Execution Handler 2100 will have to monitor the meeting for at least 30 minutes, only adding a given user to the current target group after they've been in the meeting for 30 minutes.
The Future Group Action Deletion Handler 2110 checks all action definitions to determine if any should be deleted from the Future Group Server Database 2130. This includes deleting definitions of executed actions marked as one-time-only. It also includes deleting any definitions whose deleting triggers are true, So for example, if it is now the end of the school and this matches action #234's deletion trigger, the Future Group Action Deletion Handler 2110 will delete action #234 from the Future Group Server Database 2130.
Referring back to step 3000, if the input is not an HTTP request, then the Trigger Monitoring Handler 2120 is invoked at step 3100 to determine if any invocation triggers are true. If it is determined that an invocation trigger is true, the Action Execution Handler 2100 is invoked in step 3110 for executing the action passed to it by the Trigger Monitoring Handler 2120. Following this, or if the Trigger Monitoring Handler 2120 did not find any active triggers, the Future Group Action Deletion Handler 2110 is invoked in step 3120 to check all action definitions to determine if any should be deleted from the Future Group Server Database 2130, following which control continues at step 3000.
As shown in
When the deletion trigger for the given action does occur—the end of the 2005, in the case of this example—the Future Group Action Deletion Handler 2110 deletes the relevant action definition (ACTION_888 in the example) from the Future Group Server Database 2130, and the current invention exits with respect to the particular action specification (ACTION_888 in the example), as indicated at step 4080.
The present invention has been described with reference to flow diagrams and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flow diagram flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flow diagram flow or flows and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer-readable or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flow diagram flow or flows and/or block diagram block or blocks.
While it is apparent that the invention herein disclosed is well calculated to fulfill the objects stated above, it will be appreciated that numerous modifications and embodiments may be devised by those skilled in the art and it is intended that the appended claims cover all such modifications and embodiments as fall within the true spirit and scope of the present invention.
This application is a continuation of U.S. patent application Ser. No. 11/197,636, filed on Aug. 4, 2005.
Number | Date | Country | |
---|---|---|---|
Parent | 11197636 | Aug 2005 | US |
Child | 12181530 | US |