This patent application relates to the U.S. Patent Application entitled “Method and Apparatus For Task Scheduling In An Instant Messaging Environment”, inventors Kulvir Singh Bhogal and Robert J. Kamper, Attorney Docket No. AUS9-2004-0761 (S.N. to be assigned, filed on the same day as the subject patent application, and assigned to the same assignee), the disclosure of which is incorporated herein by reference in its entirety.
This patent application relates to the U.S. Patent Application entitled “Method and Apparatus For Communicating Multiple Activity Availability Status In An Instant Messaging Environment”, inventors Kulvir Singh Bhogal and Robert J. Kamper, Attorney Docket No. AUS9-2004-0762 (S.N. to be assigned, filed on the same day as the subject patent application, and assigned to the same assignee), the disclosure of which is incorporated herein by reference in its entirety.
This patent application relates to the U.S. Patent Application entitled “Method and Apparatus For Updating Information Stored In Multiple Information Handling Systems”, inventors Kulvir Singh Bhogal and Robert J. Kamper, Attorney Docket No. AUS9-2004-0763 (S.N. to be assigned, filed on the same day as the subject patent application, and assigned to the same assignee), the disclosure of which is incorporated herein by reference in its entirety.
This patent application relates to the U.S. Patent Application entitled “Method and Apparatus For Forwarding User Information Among Multiple Information Handling Systems”, inventors Kulvir Singh Bhogal and Robert J. Kamper, Attorney Docket No. AUS9-2004-1037 (S.N. to be assigned, filed on the same day as the subject patent application, and assigned to the same assignee), the disclosure of which is incorporated herein by reference in its entirety.
The disclosures herein relate generally to the communication of information in a networked environment and, more particularly, to the control of instant messaging activities in an instant messaging environment.
Networked systems of interconnected web servers, application servers and client devices continue to grow and proliferate. Local area networks, wide area networks, intranets and the Internet connect servers and client devices to form these networked systems. In businesses, homes and other entities, users now communicate via networked systems that provide electronic mail (e-mail), instant messaging (IM) as well as electronic calendaring or scheduling of events.
While e-mail provides an acceptable way to communicate for both business and personal purposes, it lacks the immediacy of real-time communication. In contrast, instant messaging (IM) software provides the immediacy lacking in e-mail communications. Instant messaging (IM) software notifies client devices when friends or colleagues appear online and allows client devices to communicate with one another in real-time via online chat sessions. A particular client device user may desire to inform other client device users that the particular client device user is online but not currently available for IM communication. In one example of conventional instant messaging, the user manually types his or her availability status, namely a busy notice, into the instant messaging client software installed on the client device. For example, such a busy notice can take the form “User Mary is in a meeting—do not disturb.” The instant messaging client software sends the busy notice via an IM server to users of other client devices in the same IM session. In response, the other users' client devices display an IM panel or window that includes the busy notice next to User Mary's name. In this manner the displayed busy notice apprises the other users that the particular user is online but not currently available. When the particular user again becomes available, that user manually instructs the IM software to change availability status from “online but unavailable” to “online and available”. Due to the inconvenience of manually typing availability status changes in IM software, many users do not bother changing their availability status. Consequently, one user may try to IM another user when the other user appears online but is not actually available.
Contemporary business meetings often include many participants who bring their laptop, notebook, PDA or other portable client devices with them to the meeting. This may increase the productivity of some participants. However, when these client devices employ instant messaging during the meeting, participants may be frequently interrupted by instant messages. These distractions can decrease the productivity of the meeting.
What is needed is a method and apparatus that avoids the above problems associated with distractions caused by IM activities during calendared events such as meetings.
Accordingly, in one embodiment, a method is disclosed for operating instant messaging in a network including plurality of client devices. The method includes scheduling, by a calendar server application, an event in which instant messaging (IM) users participate as event attendees via the client devices. The method also includes transmitting, by the calendar server application, IM restriction information to an IM server application. The method further includes restricting, by the IM server application, the IM capability of event attendees' client devices during the event as specified by the IM restriction information. In more detail, prior to the scheduled event, an event organizer inputs the IM restriction information into the calendar server application. The calendar server application associates the IM restriction information with a corresponding scheduled event. When the time for the scheduled event occurs, the calendar server application sends the associated IM restriction information to the IM server application. The IM server application then enforces the IM restrictions specified in the IM restriction information for the duration of the event.
In another embodiment, a network system is disclosed that includes a server and client devices that are couplable to the server. The server includes a server processor. The server also includes a server storage, coupled to the server processor, containing application code that when executed by the server processor enables the following actions. The application code enables hosting, by the server, an instant messaging session in which the client devices participate, the client devices being operable by respective client device users. The application code also enables storing, by the server, calendars of events for the respective client device users, the calendars including a list of attendees for a particular event. The application code further enables storing, by the server, IM restriction information that limits IM activity of attendees during the particular event. The application code still further enables monitoring, by the server, the calendars of events to determine if any of the client device users is scheduled as an attendee for the particular event at the present time. The application code also enables transmitting, by the server, the IM restriction information to the client devices of users scheduled as attendees of the particular event to limit the IM activity of the attendees during the event.
The appended drawings illustrate only exemplary embodiments of the invention and therefore do not limit its scope because the inventive concepts lend themselves to other equally effective embodiments.
The disclosed networked system provides an event organizer or event chair with the ability to restrict instant messaging during a calendared event such as a meeting. The networked system can decrease meeting interruptions that might otherwise result from IM activities of meeting participants who employ networked client devices during the meeting.
IHS 200 loads application software 255 from nonvolatile storage 230 to memory 215 for execution. The particular application software 255 loaded into memory 215 of IHS 200 determines the operational characteristics of IHS 200. IHS 200 is configurable as an instant messaging server 105, a calendar application server 110 and as client devices 1, 2, 3 . . . N. When IHS 200 acts as instant messaging server 105, IHS 200 loads IM server application 115 into system memory 215. Similarly, when IHS 200 acts as a calendar application server 110, IHS 200 loads calendar server application 130 into system memory 215. When IHS 200 acts as client devices 1, 2, 3 . . . N with instant messaging and calendaring capabilities, IHS 200 loads IM client application 125 and calendar client application 135 into system memory 215.
Calendar application server 110 hosts a calendar server application 130 that communicates with calendar client applications 135 in client devices 1, 2, 3 . . . N. Calendar application 130 also communicates with IM server application 115. The calendar client application 135 in a particular client device communicates with calendar application 130 in calendar server 110. Calendar server application 130 and calendar client applications 135 together maintain respective calendars for users 1, 2, 3 . . . N. Typically, calendar server application 130 stores calendars for all users, while respective calendar client applications 135 in client devices 1, 2, 3 . . . N store the calendar of the particular user associated with the respective client device. Calendar server application 130 in calendar application server 110 coordinates the calendar client applications of the respective client devices 1, 2, 3 . . . N.
Calendar server application 130 operates in cooperation with calendar client application 135 and IM server application 115 to provide an event organizer such as a chairperson, coordinator or designee with the ability to restrict the IM capabilities of attendees of a scheduled event. Scheduled events include meetings, both online and physical gatherings, and other gatherings of attendees. Event attendees include attendees of online events as well as attendees of events at a common physical locus. In one embodiment, calendar server application 130 operates in cooperation with calendar client application 135 and IM server application 115 to provide a prospective attendee or invitee with the ability to restrict his or her IM capability during a scheduled event.
The RESTRICT IM window 315 also includes an ALLOW IM AMONG EVENT ATTENDEES ONLY checkbox 325. When the event organizer checks checkbox 325, then calendar server application 130, IM server application 115 and IM client applications 125 restrict the attendees to internal IM, namely the attendees can IM only one another during the event. In other words, system 100 does not permit external IM during the scheduled event. The RESTRICT IM window 315 further includes an AUTO BROADCAST IM TO ALL ATTENDEES checkbox 330. When the event organizer checks or selects checkbox 330, then calendar server application 130, IM server application 115 and IM client applications 125 cooperate to automatically transmit IM messages from one attendee to all attendees during the meeting. The restrict IM window 315 also includes an ALLOW OVERRIDE checkbox 335. As explained above, when the event organizer restricts IM by checking either checkbox 320 or checkbox 325, system 100 restricts the IM capability of attendees during an event accordingly. If a non-attendee attempts to IM an attendee during an event, system 100 prevents such an attempt from succeeding. However, if the event organizer checks ALLOW OVERRIDE checkbox 335, then system 100 notifies the non-attendee of the IM restriction during the event, but allows the non-attendee to override the restriction and contact an attendee for urgent matters.
The RESTRICT IM window 315 also includes an ALLOW EXTERNAL IM BY SELECTED ATTENDEES checkbox 340 in a SELECTIVE IM RESTRICTION panel 315A. The event organizer may select checkbox 340 and then select the particular attendees for whom system 100 permits external IM'ing during the event. For example, the event organizer may select one or more of the event attendees, such as the event organizer (namely the event chair or delegate), attendee 1, attendee 2 and attendee 3 to participate in external IM'ing during the event. While the example in
The RESTRICT IM window 315 also includes an ALLOW INTERNAL IM BY SELECTED ATTENDEES checkbox 345 in SELECTIVE IM RESTRICTION panel 315A. The event organizer may select checkbox 345 and then select the particular attendees for whom system 100 permits internal IM'ing during the event. For example, in this particular case, the event organizer may select one or more of the event chair, attendee 1, attendee 2 and attendee 3 to participate in internal IM'ing during the event. System 100 prevents those attendees not selected from internal IM'ing during the meeting. When the event organizer finishes making selections in restrict IM window 315, then the event organizer indicates approval of the selections by selecting OK button 350. The display of the event organizer's client device returns to event scheduling window 300 of
The organizer's client device displays a RESTRICT IM button 310 that provides the organizer with the option to restrict the IM capabilities of prospective attendees as per block 515. Calendar client application 135 of the organizer's client device conducts a test to determine if the organizer selected the IM restriction option as per block 520. If calendar client application 135 determines that the organizer selected the IM restriction option, then calendar client application 135 opens a restrict IM window 315 on the organizer's client device as per block 525.
The organizer's client device displays an option to DISABLE ALL IM DURING EVENT in the restrict IM window 315 as per block 530. The organizer's client device also displays an option to ALLOW IM AMONG EVENT ATTENDEES ONLY as per block 535. The organizer's client device further displays an option to AUTO BROADCAST IM TO ALL ATTENDEES as per block 540. The organizer's client device also displays an option to ALLOW OVERRIDE as per block 545. The options displayed in blocks 530, 535, 540 and 545 appear in restrict IM window 315 in this particular embodiment.
Calendar client application 135 or calendar server application 110 then sends the invitation specified by the event organizer to the prospective attendees as per block 565. The client devices of the prospective attendees then receive the invitations via network infrastructure 120 as per block 570. Each attendee's client device displays event invitation window 400. Invitation window 400 includes the option to accept the invitation, namely ACCEPT checkbox 405, and the option to decline the invitation, namely DECLINE checkbox 410. Invitation window 400 includes an attendee IM setting panel 400A that includes a TURN IM OFF DURING EVENT option, namely checkbox 415, and the RESTRICT EXTERNAL IM DURING EVENT option, namely checkbox 420. The attendee's client device displays the TURN IM OFF DURING EVENT option and the RESTRICT EXTERNAL IM DURING EVENT option as per blocks 575 and 580, respectively. When the event organizer restricts external IM, then system 100 permits internal IM, namely IM among event attendees. An attendee who receives the invitation either accepts the invitation by selecting checkbox 405 or declines the invitation by selecting checkbox 410 as per block 585. Upon such acceptance or declination, the attendee's client device sends the accepted or declined invitation to calendar application server 110 as per block 590. Calendar server application 130 in calendar server 110 stores the accepted and declined invitations as per block 595. Thus, calendar server 110 maintains a record of all scheduled events including event parameters such as the subject, date and time information, attendees and IM restriction information. The IM restriction information stored by calendar server 110 includes both IM restriction information entered by the meeting organizer and IM restriction information entered by the attendees.
Returning to decision block 520 in
In one embodiment, the IM restriction information may specify that all IM activity by attendees cease during the meeting. In this scenario, IM server application 115 may instruct each attendee's IM client applications 125 to display a busy status for the attendee or may show the attendee to be offline. Alternatively, the IM restriction information may specify that the attendees may engage in IM with one other, but not with IM users external to the event. In yet another embodiment, the IM restriction information may specify that the IM server automatically broadcast the IM activity of any event attendee to all of the other event attendees. In yet another embodiment, the IM restriction information may specify that non-attendee IM users may override IM restriction settings for urgent matters. In still another embodiment, the IM restriction information may specify that the IM server 105 allow external IM by selected attendees. In yet another embodiment, the IM restriction information may specify that the IM server 105 allow internal IM by selected attendees and exclude IM with users external to the event, namely IM with non-attendees.
During the event, calendar server 110 continues to monitor the current time to determine when the current time equals the event end time as per decision block 620. If the current time does not equal the event and time, then calendar server 110 continues monitoring the current time. However, when calendar server 110 determines that the current time equals the event end time, then process flow continues to block 625. At block 625 the IM status of the attendees is updated to indicate that the attendees may now IM without restriction.
Those skilled in the art will appreciate that the methodology disclosed, such as seen in the flow charts of
In one embodiment, the disclosed methodology is implemented as server and client applications, namely sets of instructions (program code) in code modules which may, for example, be resident in the system memory 215 of system 200 of
The foregoing discloses an instant messaging client-server network system wherein a calendar server application stores scheduled event information and restriction information that specifies restrictions on the IM capabilities of attendees during the event. In one embodiment the event organizer initiates an IM restriction stored in the restriction information and in another embodiment an event attendee initiates an IM restriction stored in the restriction information.
Modifications and alternative embodiments of this invention will be apparent to those skilled in the art in view of this description of the invention. Accordingly, this description teaches those skilled in the art the manner of carrying out the invention and is intended to be construed as illustrative only. The forms of the invention shown and described constitute the present embodiments. Persons skilled in the art may make various changes in the shape, size and arrangement of parts. For example, persons skilled in the art may substitute equivalent elements for the elements illustrated and described here. Moreover, persons skilled in the art after having the benefit of this description of the invention may use certain features of the invention independently of the use of other features, without departing from the scope of the invention.