The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The detailed description explains the preferred embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
Exemplary embodiments include a system and method that allows a meeting scheduler to cache schedule information for selected meeting participants defined by intelligent adaptive sensing that enables the scheduler to successfully schedule a meeting while disconnected from the network (offline). The systems and methods allow a meeting scheduler to have enough information about a selected list of participants (defined by intelligent adaptive sensing) such that she could successfully schedule a meeting while offline and disconnected from her peers on the network. If there is a conflict due to an unexpected change in a participant's schedule, the cache for the participant with the conflict would be refreshed and the information used to reschedule the meeting. Organizational distance schemes to automatically select/remove potential meeting participants, for which schedule information can be cached, can also be implemented.
As discussed, chairperson computer 105 includes functionality that allows a chairperson to cache schedule information in storage medium 125 for potential meeting participants while she is online. The granularity/detail of the cached information could be based on the relationship between the chairperson and each of the participants, having user computers 160. As appropriate information could be cached for varying periods of time, for example, for a week, a month or a year or other suitable periods. Other subsets of time periods could also be implemented, for example only Monday to Wednesday of each week for 2 months. A cache refresh rate could then be defined with respect to, but not limited to: the relationship between the chairperson and participants, defined by the chairperson for specific participant(s), or could be triggered by a calendar actions (for example a change in the participant's calendar).
The chairperson, while disconnected from the network 150, would then use the cached participant information from storage medium 125 to schedule a “proposed” meeting. When the chairperson connected to the network 150 again, the meeting would be added to the participants's calendar applications 165. If there is a conflict (due to an unexpected change in a participant's schedule) the cache for the participant with the conflict would be refreshed and the information used to reschedule the meeting. The chairperson would be prompted to select another time slot manually or intelligence could be added to the application to automate the reschedule of the meeting. In general, the cache is a file or other repository of schedule/availability information that would be updated frequently and discarded when no longer relevant. In addition, the cache can periodically be dumped. In dumping the cache, the cache data is discarded automatically when the cache is refreshed. In addition, a “keep-alive” feature could be defined that allows the cache to be dumped before the next expected refresh.
At step 220, user (calendar and schedule) information is cached, generally to storage medium 125. At sometime, the chairperson may disconnect from the network at step 225. At that time, the chairperson may schedule a proposed meeting, while offline, at step 230. The chairperson could then reconnect to the network 150. At that time, at step 235, the chairperson can check for schedule conflicts related to the proposed meeting. When conflicts have been resolved, it is appreciated that the cache can be refreshed 240 to represent new patterns of scheduling that may exist between the chairperson and the other participants. As such, when the cache is refreshed, the chairperson has a new cache of information that can be utilized in future schedules while offline. In this way, the cached information is adaptive, allowing for better and better accuracy in scheduling meetings while offline. At step 250, a new meeting can be proposed based on the refreshed cache.
In general, although process 200 defines a series of steps in order, it is understood that the steps may occur at different times and that the connection and disconnection to network 150 may occur at different times.
It is therefore appreciated that intelligent sensing of the user's environment is a catalyst to keeping the user's cache relevant. For example, if user adds a person to their buddy list (in a folder that they deem important) then the user's cache can be updated automatically (or via user preference/prompting) with this new user. Likewise, when a user is inserted in to the employee's team (e.g. new employee, new manager) the calendar information is also cached for this purpose. In an exemplary embodiment, organizational distance is applied to an abstraction that is based on the scheduler's lightweight directory access protocol (LDAP) tree (organizational distance can therefore be user configurable), thereby furnishing a list of individuals that are automatically cached for the scheduler. In another exemplary embodiment, reciprocal is also true. Therefore, when a person leaves the tree, the user is automatically prompted with a view to removing them. Information/patterns in the scheduler's mailbox can contribute to prompted requests to add a new users to the cache, for example—if a pattern emerges that a user is frequently emailing or in calendar events with User A, then this pattern can force an auto-prompt such that calendar information for Person A is added to the user's cache. Other patterns that define implicit relationships can also be defined. For example, if a pattern is formed where User A experiences a number of IM conversations with User B (threshold is user defined) then automatic prompting to cache this user would take place.
Therefore, a user interface that manages the users cache, for example, to delete users (in a persistent or non persistent way), add users, (in a persistent or non persistent way), to arbitrarily define the time-span/range on a per-user basis (e.g., a user wants User A's calendar data for 3 months in to the future. User B's calendar for a year in to the future, User C's for a week), etc. A user interface can further be implemented to manage relevant patterns and relationships.
As discussed above, embodiments can be embodied in the form of computer-implemented processes and apparatuses for practicing those processes. In exemplary embodiments, the invention is embodied in computer program code executed by one or more network elements. Embodiments include computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. Embodiments include computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
While the invention has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims. Moreover, the use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another. Furthermore, the use of the terms a, an, etc. do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced item.