Embodiments herein generally relate to computerized electronic calendaring and methods and systems, and more particularly to a calendaring system capable of dynamically displaying entries from multiple entities simultaneously on the same calendar.
With embodiments herein, remote computing devices are in constant communication with a centralized calendar database, which maintains all the entries for all calendars. Instead of storing individual calendars on each of the remote computing devices and performing elaborate and complicated updating procedures to keep all the individual calendars current, embodiments herein generate (and continuously dynamically regenerate) a completely new calendar on each of the remote computing devices based upon the entries stored in the centralized calendar database. This allows each entity to view a single calendar that includes the owning entities calendar entries, as well as calendar entries that are associated with a selected group of other entities. Further, because the calendar entries are only stored within the centralized calendar database, and because the calendar is being continuously dynamically regenerated by each of the remote computing devices (which are in constant communication with the centralized calendar database) the calendar display produced by embodiments herein is always current. Thus, embodiments discussed herein avoid the need for complicated and elaborate mechanisms that were conventionally required to coordinate individually maintained separate calendars.
More specifically, the electronic calendar system presented herein uses a centralized calendar database to store calendar entries for a plurality of entities. Each of the entities has a computing device separate from the centralized calendar database, and each of the computing devices has a graphic user interface. In addition, a plurality of calendar processors are utilized. Each calendar processor operates within an associated computing device, and each calendar processor is in communication with the centralized calendar database. The calendar processors generate a continuously updated calendar display on a corresponding graphic user interface. The actual calendar entries are stored only in the centralized calendar database, and the calendar entries are not stored locally within the computing device.
The calendar generator can combine calendar entries associated with two or more of the entities on a single calendar display (single calendar grid). The calendar entries can be displayed on the calendar display using different graphical representations (such as different colors, different letter sizes, different letter types, different typefaces, etc.) for calendar entries associated with different entities. Further, the calendar generator is adapted to generate “change entries” or change tracks on the calendar display. The change entries comprise an area on the calendar display were a previously scheduled calendar entry was positioned before the previously scheduled calendar entry was modified.
At least one storage device is operatively connected to each computing device and is used to maintain a combined calendar listing of entities whose calendar entries are to be combined on each calendar display. This storage device maintains a separate combined calendar listing for each of the entities, such that each calendar generator generates a unique calendar display based on each combined calendar listing on each graphic user interface.
These and other features are described in, or are apparent from, the following detailed description.
Various exemplary embodiments of the systems and methods are described in detail below, with reference to the attached drawing figures, in which:
The computer science fundamentals utilized with electronic calendars and the techniques to accumulate inputs, sort and maintain calendar entries into a calendar format, and other similar processing are items that are well-known to those ordinary skill in the art. To keep the reader focused upon the salient features of the invention, such fundamentals are not discussed at length herein. See, for example, U.S. Pat. No. 6,785,868; U.S. Publications 2002/0154178; 2003/0065742; 2003/0130882, 2004/0109025; 2004/0268270; and 2004/0122915, all of which are fully incorporated herein by reference.
In the example shown in
In addition, one or more calendar processors 112, 113 are utilized. In the example shown in
The calendar processors 112, 113 generate a calendar display on a corresponding graphic user interface 110, as shown for example in
Calendar events are often subject to change, sometimes with short notice. In calendar systems where copies of the event are maintained on individual computing devices, distribution of the change can be difficult, and incomplete distribution of the change frequently leads to wasted time and effort. The typical process of distributing changes, often termed “synchronization”, utilizes various communications media such as electronic mail, phone, and instant messaging. Many of these methods require manual intervention on the part of the receiving entity, so it is difficult to insure that the change has been communicated and understood. Furthermore, the typical process of synchronizing some clients against other distributed clients of calendar information creates a dependency on the order of synchronization. For example consider synchronizing a PDA's calendar with a desktop based calendar which is then subsequently synchronized with a central server or updated via email. In this situation, the changes from the central server will not reach the PDA until another subsequent synchronization. The situation is aggravated further if the PDA contains changes made locally that have not been propagated back to the desktop. This will require at least two separate synchronization before all relevant calendars contain the current information. In embodiments herein, use of the centralized event database and regeneration of the calendar at each view avoids this difficulty, since the most up to date information is presented at each request. For continuously connected devices this is ideal, providing up to date information. Further, mobile devices with intermittent connectivity will gain the benefit of synchronizing to an up-to-date calendar in one operation.
As shown in
For example, the key at the bottom of
As would be understood by one ordinarily skilled in the art in light of disclosure, the colors, fonts, etc. can be set according to the user's personal preferences. Further, as shown in
Further, the calendar generator is adapted to generate “change entries” or change tracks 30 on the calendar display, as shown in
Referring again to
In addition, the storage device(s) 114 and or computing devices 108 can be utilized to include “anti-event” or blocking calendar entries. Blocking calendar entries will prevent a certain entry from appearing on a calendar display and, from subsequently being generated (regenerated) on subsequent calendar displays. This feature is useful in helping to unclutter a calendar that may include redundant entries such as the four redundant “Demo Meeting” entries that appear at 11:00 in
Therefore, with embodiments herein, calendar entries are not imported from one personal calendar to another personal calendar, but instead, all calendar entries are maintained within a centralized database. Then, rather than storing many calendar entries within each individual computing device 108, the calendar processor 112, 113 generates the calendar display in either a daily, monthly, yearly, etc. layout. This requires only a small amount of data (only the amount necessary to actually generate the display) be transferred to the calendar processor 112 and computing device 108. Further, whenever an entity makes a change to a calendar display, the change will appear on other entity's calendar displays as each different calendar display is generated or regenerated.
In addition, in item 502 a combined calendar listing of entities whose calendar entries are to be combined on each the calendar display is maintained. This process maintains a separate combined calendar listing for each of the entities, such that each calendar generator generates a unique calendar display based on each combined calendar listing on each graphic user interface.
In item 504, the calendar display is generated for an entity on a corresponding graphic user interface using a corresponding calendar processor. Again, this produces a single calendar grid simultaneously showing calendar entries associated with different entities. The calendar entries can be displayed on the calendar display using different graphical representations for calendar entries associated with different entities.
In item 506, change entries are generated on the calendar display. The change entries comprise an area on the calendar display where a previously scheduled calendar entry was positioned before the previously scheduled calendar entry was modified.
Processing continues with item 508 which repeats the process of generating the calendar display by looping back to item 504. The process can be repeated periodically or whenever requested by an entity. Alternatively, different repetition cycles can be established. For example, the centralized calendar database can initiate a repeat 508 cycle each time the database is updated.
As shown above, embodiments herein display calendar events from multiple calendars in one user customized and defined calendar display. This system described above can be used, for example, with a personal homepage system. When the user visits their personal homepage and are either manually or automatically logged in, their stored calendar preferences are provided to the computing device 108 which retrieves the calendar entries 104 from the centralized calendar database 102 in order to create the calendar display on the graphic user interface 110. With the embodiments described herein, users no longer need to copy events onto their personal calendar, but instead merely view events that are maintained within the centralized calendar database. This allows individuals to easily integrate information from many sources including, for example, family activities, project activities, workgroup activities, department activities, company activities, a flight itinerary calendar, a hotel itinerary calendar, etc.
Further, the centralized calendar database can be utilized to exchange information between otherwise non-compatible calendaring programs. With the embodiments described herein, so long as a calendaring program can access the information within the centralized calendar database (which can be provided to each individual computing device in a different format) the different calendaring programs can share calendar entries through the centralized calendar database, without having to be compatible with each other.
Thus, as shown above, with embodiments herein, remote computing devices are in constant communication with a centralized calendar database, which maintains all the entries for all calendars. This prevents the loss and inconvenience that occurs when a calendar is not up to date. Instead of storing individual calendars on each of the remote computing devices and performing elaborate and complicated updating procedures to keep all the individual calendars current, embodiments herein generate (and continuously dynamically regenerate) a completely new calendar on each of the remote computing devices based upon the entries stored in the centralized calendar database. This allows each entity to view a single calendar that includes the owning entities calendar entries, as well as calendar entries that are associated with a selected group of other entities. Further, because the calendar entries are only stored within the centralized calendar database, and because the calendar is being continuously dynamically regenerated by each of the remote computing devices (which are in constant communication with the centralized calendar database) the calendar display produced by embodiments herein is always current. Thus, embodiments discussed herein avoid the need for complicated and elaborate mechanisms that were conventionally required to coordinate individually maintained separate calendars.
While the foregoing has been described in conjunction with various exemplary embodiments, it is to be understood that many alternatives, modifications and variations would be apparent to those skilled in the art. Accordingly, Applicants intend to embrace all such alternatives, modifications and variations that follow in this spirit and scope.