The present invention generally relates to electronic data management, and more particularly, to a method and system for managing an electronic scheduling or calendaring application using real time information to automatically schedule a face-to-face meeting.
Electronic scheduling or calendaring applications have transformed personal and business time management. In particular, scheduling or calendaring applications have become a standard feature on many computing devices, such as personal computers, personal digital assistants (PDAs), enterprise digital assistants (EDAs), and smartphones (e.g., a mobile phone with a mobile computing platform). The scheduling or calendaring applications employed on many of these devices generally provide users with an electronic version of the traditional paper calendar and may enable a user to synchronize with an online storage of calendar events such that all of a user's devices are updated with the same information, e.g., schedule of events. These devices have evolved over time and eased the process of recording and providing the ability to share events.
The conventional scheduling or calendaring applications characteristically permit users to make schedule entries that are based on time, allow for user's to monitor the scheduled entries, and take action against various occurring events (e.g., a timing conflict between attendees). In contrast, more and more activities are based on or associated with places or events rather than simply time, which require a more robust system of monitoring to ensure that action is taken against various occurring events. Although there are some scheduling or calendaring applications that utilize “extrinsic” events like weather to control a scheduled meeting, the conventional scheduling or calendaring applications do not provide the user with the ability to intelligently monitor “intrinsic” events such as “locations of the attendees”, “travel schedules of attendees”, “instant message chat sessions of attendees”, and the like, and automatically reschedule a meeting's time and location based on the various “intrinsic” events.
In a first aspect of the invention, a method is implemented in a computer infrastructure having computer executable code tangibly embodied on a computer readable storage medium having programming instructions operable to: collect location information from each attendee of a scheduled meeting; determine whether a minimum number of the attendees of the scheduled meeting will be co-located at a comparable time; when the minimum number of the attendees will be co-located at the comparable time, determine whether the comparable time is within an advancement or postponement window of time; when the comparable time is within the advancement or postponement window of time, send a notification to a host of the scheduled meeting that there is an opportunity to reschedule the scheduled meeting as a face-to-face meeting at the comparable time; receive a request to reschedule the scheduled meeting as the face-to-face meeting; and reschedule the scheduled meeting as the face-to-face meeting.
In another aspect of the invention, computer program product is provided for rescheduling a scheduled meeting as a face-to-face meeting on a computing device. The computer program product comprises a computer readable storage medium having program instructions embodied therewith, where the computer readable storage medium is not a transitory signal per se, and the program instructions are readable by a computing device to cause the computing device to perform a method comprising: obtaining information pertaining to the scheduled meeting, the information including a list of attendees of the meeting and a mobile device for each attendee; collecting location information from the mobile device of each attendee of the scheduled meeting; determining whether a minimum number of the attendees of the scheduled meeting will be co-located at a comparable time based on the location information; when the minimum number of the attendees will be co-located at the comparable time, determining whether the comparable time is within an advancement or postponement window of time; when the comparable time is within the advancement or postponement window of time, sending a notification to a host of the scheduled meeting that there is an opportunity to reschedule the scheduled meeting as the face-to-face meeting at the comparable time; receiving a request to reschedule the scheduled meeting as the face-to-face meeting; and rescheduling the scheduled meeting as the face-to-face meeting.
In yet another aspect of the invention, a system comprises a CPU, a computer readable memory and a computer readable storage medium. The system further comprises: program instructions to receive user preferences for a layout or format of content displayed on a computing device; program instructions to obtain information pertaining to a scheduled telephone or web conference meeting, the information including a list of attendees of the meeting and a mobile device for each attendee; program instructions to collect location information from the mobile device of each attendee of the scheduled telephone or web conference meeting; program instructions to collect travel itinerary information stored in a company travel database for each attendee of the scheduled telephone or web conference meeting; program instructions to determine whether a minimum number of the attendees of the scheduled telephone or web conference meeting will be co-located at a comparable time based on the location information and travel itinerary information; program instructions to when the minimum number of the attendees will be co-located at the comparable time, determine whether the comparable time is within an advancement or postponement window of time; program instructions to when the comparable time is within the advancement or postponement window of time, send a notification to a host of the scheduled telephone or web conference meeting that there is an opportunity to reschedule the scheduled telephone or web conference meeting as the face-to-face meeting at the comparable time; program instructions to receive a request to reschedule the scheduled telephone or web conference meeting as the face-to-face meeting; and program instructions to reschedule the scheduled telephone or web conference meeting as the face-to-face meeting. The program instructions are stored on the computer readable storage medium for execution by the CPU via the computer readable memory.
The present invention is described in the detailed description which follows, in reference to the noted plurality of drawings by way of non-limiting examples of exemplary embodiments of the present invention.
The present invention generally relates to electronic data management, and more particularly, to a method and system for managing an electronic scheduling or calendaring application using real time information to automatically schedule a face-to-face meeting. More specifically, implementations of the invention provide systems and methods to maximize the likelihood that a meeting is scheduled to occur face-to-face. In embodiments, when scheduling a meeting, a host configures a set of conditions such as a minimum number of possible co-located attendees, a reschedule window, attendee travel itineraries, geographical locations of attendees, groupings of attendees, etc., that may be used by the present invention to maximize the likelihood that the meeting is scheduled to occur face-to-face. Once the meeting is scheduled, the systems and methods may monitor one or more systems associated with each attendee (e.g., a calendar or global positioning coordinates for each attendee). When one or more of the set of conditions is met, the systems and methods of the present invention may be configured to propose a reschedule of the meeting to a face-to-face meeting. Advantageously, the systems and methods of the present invention capture and utilize real time information to suggest alternate meeting times that will allow the host and attendees to have face-to-face conversations in a same physical location rather than a telephone or web conference with attendees in different physical locations.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, 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/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
The computing device 14 also includes a processor 20 (e.g., CPU), memory 22A, an I/O interface 24, and a bus 26. The memory 22A can include local memory employed during actual execution of program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. In addition, the computing device includes random access memory (RAM), a read-only memory (ROM), and an operating system (O/S).
The computing device 14 is in communication with external I/O device/resource 28 and storage system 22B. For example, I/O device 28 can comprise any device that enables an individual to interact with computing device 14 (e.g., graphic user interface) or any device that enables computing device 14 to communicate with one or more other computing devices using any type of communications link. The external I/O device/resource 28 may be for example, a handheld device, PDA, handset, keyboard etc.
In general, processor 20 executes computer program code (e.g., program control 44), which can be stored in memory 22A and/or storage system 22B. Moreover, in accordance with aspects of the invention, program control 44 controls a scheduling tool 50 and scheduling or calendaring applications 55, which perform processes described herein. The scheduling tool 50 and scheduling or calendaring applications 55 can be implemented as one or more program code in program control 44 stored in memory 22A as separate or combined modules. Additionally, the scheduling tool 50 and scheduling or calendaring applications 55 may be implemented as separate dedicated processors or a single or several processors to provide the function of the scheduling tool 50 and scheduling or calendaring applications 55. While executing the computer program code, the processor 20 can read and/or write data to/from memory 22A, storage system 22B, and/or I/O interface 24. The program code executes the processes of the invention. The bus 26 provides a communications link between each of the components in computing device 14.
In embodiments, the scheduling tool 50 may be implemented within the O/S of the computing device 14 (e.g., a personal computer or mobile device), within the scheduling or calendaring applications 55, or as a standalone application or module within the computing device 14, and made available (e.g., made available as a service) to the scheduling or calendaring applications 55 of the computing device 14 by way of an application programming interface (API) framework. The API framework defines a set of functionalities of the scheduling tool 50 that are independent of their respective implementation, allowing both definition and implementation to vary without compromising each other. The API framework is used to allow for the integration of new functionality (e.g., intelligent event monitoring and automated rescheduling of events) into the scheduling or calendaring applications 55 of the computing device 14, or to share data between the scheduling or calendaring applications 55 and the scheduling tool 50.
By way of example, the scheduling tool 50 may be configured to provide functionality alone or via the API framework for rescheduling a scheduled meeting to a face-to-face meeting. In embodiments, upon obtaining location information pertaining to attendees of a scheduled meeting, the scheduling tool 50 may be further configured to determine whether a minimum number of attendees to the scheduled meeting will be co-located at a comparable time, determine whether the comparable time is within an advancement or postponement window of time when the minimum number of attendees will be co-located at the comparable time, send a notification to a host of the scheduled meeting that there is an opportunity to reschedule the scheduled meeting as a face-to-face meeting at the comparable time when the comparable time is within the advancement or postponement window of time, receive a request to reschedule the meeting, and rescheduling the scheduled meeting as a face-to-face meeting.
The computing device 14 can comprise any general purpose computing article of manufacture capable of executing computer program code installed thereon (e.g., a personal computer, a mobile device, a server, etc.). However, it is understood that computing device 14 is only representative of various possible equivalent-computing devices that may perform the processes described herein. To this extent, in embodiments, the functionality provided by computing device 14 can be implemented by a computing article of manufacture that includes any combination of general and/or specific purpose hardware and/or computer program code. In each embodiment, the program code and hardware can be created using standard programming and engineering techniques, respectively.
Similarly, server 12 is only illustrative of various types of computer infrastructures for implementing the invention. For example, in embodiments, server 12 comprises two or more computing devices (e.g., a server cluster) that communicate over any type of communications link, such as a network, a shared memory, or the like, to perform the process described herein. Further, while performing the processes described herein, one or more computing devices on server 12 can communicate with one or more other computing devices external to server 12 using any type of communications link. The communications link can comprise any combination of wired and/or wireless links; any combination of one or more types of networks (e.g., the Internet, a wide area network, a local area network, a virtual private network, etc.); and/or utilize any combination of transmission techniques and protocols.
Alternatively, the tracking device may be separate from the computing device but can communicate with the computing devices 60, 65, and 70 either directly (peer to peer) or indirectly (via an intermediary such as a central server). For example, a building access card issued by a company can also be used to schedule a meeting. For example, if meeting invitees (such as the employees of a company) use a company ID card with a magnetic strip to swipe themselves into the company premises, that information tracked by the card terminals can be accessed by the scheduling application of the present invention, assuming it has been authorized to do so. The scheduling tool 50 can then use this to determine the location of attendees and reschedule their telephonic meeting into a face-to-face meeting if they happen to be co-located in the same building or a building close to one another (because they swiped their card at the same building).
As described in more detail below, scheduling tool 50 maintains a database or hash table 110 of a multitude of wireless devices such as the computing devices 60, 65, and 70, which are owned by potential invitees to meetings. These devices may have been previously registered with scheduling tool 50 by the host of the meeting or could have been registered by the employer of the host, if any. The database 110 may be propagated with the host's own address book within an application such as the scheduling or calendaring applications 55 (e.g., as described with respect to
Scheduling tool 50 also includes a parameters and preferences program 130, which maintains a parameters and preferences table 135 that lists a number of predefined parameters or preferences, for example, a defined minimum number of attendees that must be co-located to reschedule a meeting as a face-to-face meeting, minimum number of days prior to the scheduled meeting that must be available to reschedule the meeting, a maximum number of days in the future that are available and cannot be surpassed to reschedule the meeting, authorization to track attendees travel schedule or itinerary to reschedule a meeting as a face-to-face meeting, authorization to find resources for holding a face-to-face meeting, and a minimum number of user co-located that satisfy a grouping of attendees to reschedule a meeting as a face-to-face meeting on a group level. Scheduling tool 50 additionally has access to a vacation planner and/or leave database 140 with the travel schedules of attendees.
As explained in more detail below, when a user of the scheduling or calendaring applications 55 initiates a meeting request for specified invitees, the scheduling or calendaring applications 55 sends out invitations for the invitees, blocks off the time for the meeting on an electronic calendar, and tracks all invitees that have accepted the meeting invitation. In embodiments, the scheduling or calendaring applications 55 may include a scheduling assistant 145 for automated assistance in finding a best time for the meeting such that all or most invitees can attend the meeting. In accordance with aspects of the preset invention, the scheduling or calendaring applications 55 includes access to the scheduling tool 50 to help reschedule the meeting if the meeting can occur face-to-face rather than remotely (e.g., via a telephone or web conference).
As explained in more detail below, in instances in which the assistance of the scheduling tool 50 is elected and once the meeting is scheduled, the scheduling tool 50 begins monitoring and generating attendee information based on preferences provided in the preference table 135. If the host selects a minimum number of possible co-located attendees, the scheduling tool 50 will track the attendees' locations using various techniques such as their IP address (e.g., obtained from electronic directory 125 and saved in database 110), GPS (e.g., obtained from GPS unit 90, 95, and 100 and saved in database 110), company ID card databases (e.g., obtained from electronic directory 125 and saved in database 110), etc., to identify whether the number of attendees located at any location is greater than or equal to the minimum number set by the host.
As to the use of an “IP address” in the context of using it as a means to find a meeting attendee's location, the meeting invitees may be logging into the company network from various locations using their laptops or other devices. The IP addresses they are using to log into the corporate network can be used to determine their location (Geo IP location). The scheduling tool 50 could then reschedule their telephonic meeting into a face-to-face meeting if they happen to be co-located (because the IP Addresses indicate they are in the same location).
If the host selects authorization to review attendees' travel schedules, the scheduling tool 50 will capture the attendees' travel plans using various techniques such as a vacation planner and/or leave database 145, online travel reservations, etc. to identify whether the attendees are travelling to a same geographic location. If the host selects attendees' location, the scheduling tool 50 will track whether multiple attendees are present at a same location (e.g., city, town, office building, shopping mall, coffee shop, etc.) by using GPS and other equivalent technologies. When one or more of conditions provided within the preferences is satisfied by the monitored and generated attendee information, the scheduling tool 50 will suggest one or more alternative times to reschedule the meeting such that the meeting can be held as a face-to-face meeting rather than a telephone or web conference meeting.
In additional or alternative embodiments, the scheduling tool 50 may also be configured to propagate the database or hash table with information from an external electronic directory (e.g., electronic directory 125 as described with respect to
At step 210, a user of a scheduling or calendaring application initiates a meeting request for specified invitees. For example, the user may utilize the scheduling or calendaring application (e.g., scheduling or calendaring applications 55 as discussed with respect to
At step 215, the user of the scheduling or calendaring application optionally selects use of the scheduling tool to help reschedule the meeting if the meeting can occur face-to-face rather than remotely (e.g., via a telephone or web conference). For example, the user may utilize the scheduling or calendaring application (e.g., scheduling or calendaring applications 55 as discussed with respect to
In embodiments, the one or more parameters or preferences may include: (i) a defined minimum number of attendees that must be co-located to reschedule a meeting as a face-to-face meeting, (ii) a minimum number of days prior to the scheduled meeting that must be available to reschedule the meeting, (iii) a maximum number of days in the future that are available and cannot be surpassed to reschedule the meeting, (iv) authorization to track attendees travel schedule or itinerary to reschedule a meeting as a face-to-face meeting, (v) authorization to find resources for holding a face-to-face meeting, and (vi) a minimum number of user co-located that satisfy a grouping of attendees to reschedule a meeting as a face-to-face meeting on a group level.
At step 220, once the user has set up the one or more parameters and preferences for the scheduling tool, the meeting request is sent to the specified invitees, time for the meeting is blocked off on an electronic calendar of the host, and acceptances of the meeting request by the specified invitees are tracked. For example, the user may utilize the scheduling or calendaring application (e.g., scheduling or calendaring applications 55 as discussed with respect to
At step 225, the scheduled meeting is saved in a database with attendees of the meeting. For example, the scheduling tool (e.g., scheduling tool 50 as discussed with respect to
At step 230, information pertaining to each attendee of the meeting is monitored and collected based on the one or more parameters or preferences set up in step 215. For example, the scheduling tool (e.g., scheduling tool 50 as discussed with respect to
In accordance with aspects of the present invention, if the host selected in step 215 a minimum number of possible co-located attendees, the scheduling tool will track and save the attendees' locations using various techniques such as their IP address (e.g., obtained from electronic directory 125 and saved in database 110 as discussed with respect to
In additional embodiments, if the host selected in step 215 a minimum number of possible co-located attendees and/or authorization to review attendees' travel schedules, the scheduling tool 50 may also be configured to search various applications (e.g., one or more applications 75, 80, and 85 as discussed with respect to
At step 310, when the defined minimum number of attendees will not be co-located at a comparable time, a determination is made as to whether at least a defined minimum number of attendees satisfy a grouping of attendees at a comparable time to reschedule a meeting as a face-to-face meeting on a group level. For example, the scheduling tool (e.g., scheduling tool 50 as described with respect to
At step 315, when the defined minimum number of attendees does not satisfy a co-located grouping of attendees, the process returns to step 230 as described with respect to
At step 320, when the defined minimum number of attendees will be co-located at a comparable time or the defined minimum number of attendees satisfies a co-located grouping of attendees at a comparable time, a determination is made as to whether the comparable time is within an advancement or postponement window for rescheduling the meeting. The advancement window is bounded by a minimum number of days prior to the scheduled meeting that must be available to reschedule the meeting and the set meeting time. The postponement window is bounded by a maximum number of days in the future beyond the set meeting time that is available and cannot be surpassed to reschedule the meeting and the set meeting time. For example the scheduling tool (e.g., scheduling tool 50 as described with respect to
At step 325, when the comparable time is not within the advancement or postponement window, the process returns to step 230 as described with respect to
At step 330, when the comparable time is within the advancement or postponement window, a notification is sent to the host that there is a possibility for the meeting to be rescheduled as face-to-face meeting. For example, the scheduling tool (e.g., scheduling tool 50 as described with respect to
At step 335, the host makes a decision as to whether they may be interested in rescheduling the meeting as a face-to-face meeting. For example, the host may select to accept or decline the notification for the possibility of rescheduling the meeting as a face-to-face-meeting. At step 340, when the host makes a decision that they are not interested in rescheduling the meeting, the process ends for the present meeting. At step 345, when the host makes a decision that they are interested in rescheduling the meeting as a face-to-face meeting, resource(s) and availability information are gathered for the meeting and presented to the host. For example the scheduling tool (e.g., scheduling tool 50 as described with respect to
In embodiments, the information regarding potential resource(s) to conduct the face-to-face meeting may be provided optionally based on whether the host has authorized the scheduling tool to find resources for holding the face-to-face meeting. For example, when the one or more parameters or preferences are selected in step 215 as discussed with respect to
In embodiments, the availability slots of the attendees includes a list of potential times for conducting the meeting in a face-to-face manner that are within the postponement or advancement window, and the attendees that are available for each time slot. For example, the scheduling tool may be further configured to use the gathered information for each attendee to propose one or more times for conducting the meeting as a face-to-face meeting while keeping within the predefined one or more parameters or preferences.
At step 350, the host makes a decision as to whether they are going to reschedule the meeting as a face-to-face meeting. For example, the host may select to accept or decline a proposed time for rescheduling the meeting as a face-to-face-meeting. The decision by the host may also include a decision of resources available for the proposed meeting time. At step 355, when the host makes a decision that they are not going to proceed with rescheduling the meeting, the process ends for the present meeting. At step 360, when the host makes a decision that they are interested in rescheduling the meeting as a face-to-face meeting, a reschedule meeting request is sent to the attendees, time for the meeting is blocked off on the electronic calendar of the host, and acceptances of the reschedule meeting request by the attendees are tracked. For example, the scheduling tool (e.g., scheduling tool 50 as described with respect to
At step 365, when the number of acceptances by the attendees is less than the number of rejections by the attendees, the scheduling tool will allow the host to proceed with the previously schedule meeting and unblock the rescheduled meeting time from the host's electronic calendar. At step 370, when the number of acceptances by the attendees is greater than the number of rejections by the attendees, the scheduling tool will proceed with update all attendees electronic calendars with the rescheduled meeting time including resources and location selected by the host for the meeting. For example, the scheduling tool (e.g., scheduling tool 50 as described with respect to
As shown in
The second option 430 “Reschedule when co-location occurs 2 days before the meeting” can be used in conjunction with option 1. It will first check for the co-location and if satisfied then check the number of days configured by the host. If both the conditions are satisfied, the scheduling tool will provide a notification of the possibility for a reschedule to a face-to-face meeting. The number of days (i.e., 2 in this case) is configurable and the host can provide any value as per their convenience. The third option 435 “Look ahead feature” will allow the host to look for future dates to postpone the meeting if they are planning to co-locate on a later date rather than the scheduled meeting date. For example: If the host has scheduled a meeting on Wednesday (which will be a telephonic meeting) and if they could co-locate on Thursday or Friday then the scheduling tool will provide a notification of the possibility for a reschedule to a face-to-face meeting. The number of days to look ahead (i.e., 1 in this case) is configurable and the host can provide any value as per their convenience.
The fourth option 440 “Rescheduling Meetings based on travel schedule” can be used to allow a user to reschedule meetings by tracking attendees' travel schedules. For example: If user A lives in city X but is traveling to City Z and user B lives in city Y but is also traveling to city Z, as long as both parties are near to each other somewhere in City Z, then the scheduling tool will provide a notification of the possibility for a reschedule to a face-to-face meeting. The travel schedule can be tracked using applications used to plan and book travel arrangements and maintain travel schedules.
The fifth option 445 “Resource finding based on location of attendees” can be used to find resources such as meeting rooms if a host decides to reschedule a meeting. Depending upon location of attendees, the scheduling tool could find an available conference room inside an office building, outside office building, it could find a restaurant, cafe, or another public place that is open. The sixth option 450, “Rescheduling Meetings based on location of different group of attendees” can be used to reschedule if different groups of attendees planned to co-locate at different locations. For example: If calendaring service finds User A and User B near each other and User C and User D near each other. Calendaring service could find a time where group 1 (User A and User B) can meet in person and group 2 (User C and User D) can meet in person and schedule a conference call between the two groups.
In embodiments, the invention provides a method that performs the process of the invention on a subscription, advertising, and/or fee basis. That is, a service provider, such as a Solution Integrator, could offer to provide the data collection and meeting reschedule functionality on a network. In this case, the service provider can create, maintain, support, etc., a computer infrastructure, such as computer system 12 (
In still another embodiment, the invention provides a computer-implemented method for collecting data and rescheduling meetings on a network. In this case, a computer infrastructure, such as computer system 12 (
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.