WO2008064688A1 - Synchronizing multiple calendars on a scheduling unit - Google Patents

Synchronizing multiple calendars on a scheduling unit Download PDF

Info

Publication number
WO2008064688A1
WO2008064688A1 PCT/DK2007/050179 DK2007050179W WO2008064688A1 WO 2008064688 A1 WO2008064688 A1 WO 2008064688A1 DK 2007050179 W DK2007050179 W DK 2007050179W WO 2008064688 A1 WO2008064688 A1 WO 2008064688A1
Authority
WO
WIPO (PCT)
Prior art keywords
calendar
unit
meeting
individuals
individual
Prior art date
Application number
PCT/DK2007/050179
Other languages
French (fr)
Inventor
Anders Stefan Zangrando Heick
Peter Mohr
Michael Judson
Original Assignee
Handstep A/S
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Handstep A/S filed Critical Handstep A/S
Publication of WO2008064688A1 publication Critical patent/WO2008064688A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting

Definitions

  • Wireless devices such as mobile devices and personal digital assistants (PDA) are today important vehicles when people want to stay in touch with others and keep notes and have their calendars and to-do lists available while on the move.
  • Today, such mobile units have quite limited resources such as processing power, random-access-memory (RAM) and storage capacity available.
  • RAM random-access-memory
  • Many users experience these issues all too often, as they store many contacts, calendar entries, to-do entries, much email etc. on their mobile devices. It requires that a significant part of the stored information is looked at by the user to ensure that only the least important information is disposed of. This is both time-consuming and an annoyance to the user.
  • Other issues with mobile devices are that access wireless network resources is expensive and generally relatively slow, which are further limitations users meet when synchronizing their devices with other information resources over wireless connections.
  • the present invention provides a method for providing schedule information for multiple individuals for instance using a scheduling device, such as a PDA or smart phone. It also provides ways for providing better usage of available resources in a mobile device having scheduling tools.
  • the invention provides a method for synchronizing calendar data in an electronic scheduling unit, the scheduling unit having calendar data for a first group of individuals stored in it, each individual in the first group having a unique identifier and having calendar data associated with said unique identifier stored in the unit and also having calendar data associated with said unique identifier stored in a calendar database, calendar data representing at least a status of availability of said each individual, the method comprising : • providing a list of individuals to the unit, the list comprising at least two individuals from the first group of individuals and optionally one or more individuals from a second group of individuals, each individual in the second group having a unique identifier and having calendar data associated with said unique identifier stored in the calendar database, calendar data representing at least a status of availability of said each individual;
  • the unit synchronizing, for each of at least one of the individuals on the list, the locally stored calendar data associated with said each individual's unique identifier with the calendar data stored in the calendar database in association with said each individual's unique identifier, the synchronizing comprising storing at least some of the synchronized calendar data for said each individual on the unit in association with said each individual's unique identifier.
  • the calendar database is stored on one or more computers.
  • the one or more computers do not comprise the scheduling unit.
  • the calendar database can be accessed by the unit via a calendar service, such as that provided by Microsoft Exchange Server software running on a computer.
  • the unit can form a data connection to the calendar service, which can in turn access the calendar database.
  • Calendar data can be used by a user to schedule meetings with other individuals.
  • a calendar datum comprises at least a start time and an end time. The time between the start time and the end time may for instance define a period of unavailability of the individual associated with the calendar datum, such as a period in which the individual is attending a meeting.
  • Calendar data can be presented to a user for instance via a graphical display interface.
  • a user input interface such as a keyboard, a touch-sensitive screen, a joystick or a voice-recognition interface etc. allows the user to provide data, such as calendar data, to the scheduling unit.
  • a synchronization process involves comparing the locally stored calendar data with calendar data in the calendar database.
  • a calendar datum such as one that represents a meeting having a start time and duration
  • the synchronization process may accordingly remove the calendar datum from the calendar database.
  • Various synchronization methods are well known in the art, and synchronization between two calendar data sources can be made dependent on a number of conditions. For instance, it is common to synchronize only calendar data that have a meeting start time that lies no longer than, say, a week back in time. This reduces the amount of data that must be transferred.
  • calendar database may often in practice be thought of as a "master database" because it is accessed from several devices, e.g. via a handheld scheduling unit, a laptop or a desktop computer, and it is thus often "safer" to trust the calendar datum in the calendar database rather than that in one of the several access devices.
  • the term "individual” covers persons, but also resources such as meeting rooms, projector equipment, video conferencing equipment and so on. Anything that can be assigned an “available” or “unavailable” status can be considered an “individual” in the present context.
  • refers to hardware comprising a central processing unit (CPU), memory (such as RAM), storage (such as flash memory and/or a harddisk), a controller ("bus") and a data communication interface for communicating data in and out of the storage media.
  • CPU central processing unit
  • RAM random access memory
  • storage such as flash memory and/or a harddisk
  • controller controller
  • data communication interface for communicating data in and out of the storage media.
  • Laptops and PCs are typical examples of computers.
  • the calendar database which stores calendar data belonging to the individuals, may be distributed, as already indicated. Some individuals may have calendar data stored on one computer, while other individuals have their calendar data stored on another computer. In some cases, the calendar data associated with the different individuals on the list is handled by different calendar server systems. In that case, different protocols may be required for obtaining calendar data for the different individuals.
  • calendar data For a number of reasons it may be desirable to update the scheduling unit by removing calendar data that are more or less out of date or of less importance. Removing calendar data reduces data clutter. Navigating calendar data of many individuals is cumbersome to a user. Also, many handheld devices have limited resources such as RAM, more or less permanent storage media such as flash memory or harddisk, and central processing unit capacity. Data handling becomes slower and requires more power when the amount of data stored in the scheduling unit increases.
  • a practical way of reducing clutter is to have the unit automatically remove calendar data associated with a specific individual (the individual having a specific unique identifier) based on one or more criteria being fulfilled.
  • a fulfilment of the one or more criteria can be determined automatically by the unit.
  • some or all of the calendar data stored on the unit in association with a specific individual may be removed when the individual has not been on a provided list of individuals for a prescribed period of time, such as a week or a month or a year. That an individual has not been on a list for a significant period of time may be an indication that his associated calendar data may not be important enough to warrant a storing on the unit.
  • the prescribed period of time could for instance be specified by the user via the user input interface of the scheduling unit. In the context of scheduling a meeting, not having been on a provided list amounts to not having been selected as an attendee.
  • a criterion for removing a calendar datum may be that an available storage resource for storing calendar data in the unit is insufficient before or during the step of storing synchronized calendar data. If a synchronized datum cannot be stored, the unit may for instance remove an already stored calendar datum that has an end time which is earlier than an end time of any other calendar datum stored on the unit.
  • calendar data is available for instance for determining one or more time slots of availability.
  • the unit automatically determines, based on a specified duration and optionally other criteria, one or more time slots in which at least one of the individuals on the list is available for at least the specified duration, the time slot, advantageously, also fulfilling the optional criteria, if any.
  • the user may for instance use the determined time slots to manually schedule a meeting period within one of the time slots.
  • the unit may be enabled to do this automatically.
  • Such embodiments further comprise that the unit automatically suggests one or more meeting periods, each of which falls within one of the one or more time slots previously determined. Different criteria for suggesting meeting periods can be thought of.
  • a useful suggestion for a meeting period starts near the start time of a time slot of availability, or, say, 15 minutes later to allow for instance for transportation between meeting locations. It is also useful that suggested meeting periods start at regular times, such as at the top of an hour, such as 1 pm or 2 pm, or at each half hour, such as 1 pm, 1.30 pm, 2 pm, etc. Many other criteria are of course applicable.
  • the suggested meeting periods are displayed on a graphical user interface on the unit.
  • the user may then indicate a desired meeting period by selecting among the displayed meeting periods. This is done via a user input interface on the unit.
  • some embodiments of the first aspect further provide that electronic meeting invitations be sent to one or more of the individuals on the list, such as the individuals who are available in the desired meeting period.
  • the electronic meeting invitations notify the individuals of the desired meeting period.
  • the unit itself is enabled to send such invitations, for instance by email (if it is enabled to communicate by email).
  • the unit sends a request to a server, telling the server to facilitate that the meeting invitations are sent to the individuals.
  • the server may for instance be enabled to do so by email.
  • the unit provides calendar data representing the desired meeting period to the calendar database. The providing involves entering calendar data into the calendar database for each of individuals to be invited, i.e. in association with their unique identifiers.
  • the invitation may inform the individuals of the start time and end time of the meeting period, or at least an indication thereof, such as the date corresponding to the start time and not necessarily including the precise start time and end time.
  • Such an invitation tells the individuals "do not schedule anything on Friday, we need to have a meeting.”
  • the invitation may advantageously specify a meeting subject, a meeting location, an agenda etc.
  • an electronic scheduling unit is provided.
  • a scheduling unit in accordance with the second aspect of the invention is operable to carry out one or more methods in accordance with the first aspect of the invention.
  • Electronic scheduling units such as for instance personal digital assistants, mobile phones, and laptops are readily adaptable for being operable to perform one or more methods of the first aspect of the invention.
  • a third aspect of the invention provides a computer program capable of making a computer hardware operable to perform a method in accordance with the first aspect of the invention.
  • a fourth aspect of the invention provides a storage medium comprising a computer program in accordance with the third aspect of the invention.
  • storage media include DVD, CD, harddisk and flash memory.
  • the invention also provides, in a fifth aspect, a server providing a data link through which a computer program in accordance with the third aspect of the invention can be obtained.
  • the server could for instance be a webserver providing a link to a locally or remotely stored version of the computer program. Provision of data links can also take place via FTP and filesharing protocols.
  • Fig. 1 illustrates schematically a system for synchronizing calendar data between a PDA and a number of calendar servers.
  • Fig. 2 illustrates schematically a PDA for use as a scheduling unit in the present invention.
  • Fig. 3 illustrates a method for planning a meeting.
  • Fig. 4 illustrates a process for updating data in a PDA.
  • Fig. 5 illustrates a list of selectable and selected meeting attendees.
  • Fig. 6 illustrates an overview of the calendars of the attendees in Fig. 5.
  • Fig. 7 illustrates an interface for searching and finding individuals whose calendars are not already stored in a PDA.
  • Fig. 8 illustrates an updated list of selectable and selected meeting attendees.
  • Fig. 9 illustrates another updated list of selectable and selected meeting attendees.
  • a personal digital assistant will be used as a scheduling unit in the illustration of embodiments of the invention.
  • Fig. 1 illustrates a system comprising a PDA 110 (scheduling unit), a gateway 130 and a calendar database represented by individual calendar servers 151, 152, 153.
  • the three calendar servers are Microsoft Exchange servers, and that these servers 151, 152, 153 also, considered as a whole, comprise the calendar database.
  • the gateway 130 provides an interface between the PDA 110 and the calendar servers 151, 152, 153.
  • the gateway is based on control software 135 that uses WebDAV as an interface 133 to the Microsoft Exchange servers 151, 152, 153.
  • the PDA 110 communicates with the gateway 130 via a data connection 161.
  • the gateway 130 communicates with the Microsoft Exchange servers 151, 152, 153 via data connections 162.
  • the gateway also comprises a storage 137, such as a harddisk, for instance for use in case a data connection 161, 162 between the PDA and one or more of the calendar servers is not functional. It is also advantageous to store calendar data transfer activity and for temporary storage of calendar data.
  • a storage 137 such as a harddisk, for instance for use in case a data connection 161, 162 between the PDA and one or more of the calendar servers is not functional. It is also advantageous to store calendar data transfer activity and for temporary storage of calendar data.
  • Fig. 2 schematically illustrates a PDA. It comprises a touchscreen 112 for allowing a user to input data, a data communication interface 114, a graphical user interface 116, random access memory (RAM) 118, a central processing unit (CPU) 120, and a more or less permanent storage 122, all of them connected via a Bus 124.
  • Storage 122 may for instance be a hard drive or a flash memory. The storage 122 is used for storing calendar data synchronized between the PDA 110 and the Exchange servers 151, 152, 153.
  • Fig. 3 illustrates the process of planning a meeting using the PDA.
  • the user selects a group of individuals, attendees, using the touchscreen.
  • Each attendee has associated with him a user identification (user ID) on one or more of the calendar servers 151, 152, 153 that allows the calendar servers to locate calendar data associated with that attendee in the calendar database.
  • the user has selected (step 303 in Fig. 3.) four attendees, namely Anders Heick, Brian Nielsson, Christian Poulsen and Michael Judson.
  • Fig. 6 illustrates a specific day in the calendars of the four attendees displayed (step 309) on the graphical interface of the PDA.
  • the user may then find and select (step 311) a time slot in which, say all, of the attendees are available. In this case, all four attendees are available for 2 hours 12 pm and 2 pm and 1 hour between 5 pm and 6 pm.
  • Fig. 3 also shows another way of how a meeting can be scheduled.
  • the PDA performs the determination of available time slots automatically, as illustrated starting with step 313. Based on an indication from the user, the PDA determines, step 313, time slots that honor the indication.
  • the user may for instance want to schedule a meeting having a duration of one hour. He wants to schedule the meeting in the week starting Monday 7 August 2006.
  • the PDA display (not shown) those time slots in step 315 for the user to select among, in step 317.
  • Step 350 is the conclusion of the planning of the meeting. The time slots above available on 7 August 2006 will be among the suggestions.
  • the user may wish to invite a fifth person, for instance Christopher Roberts.
  • Christopher's calendar data is not stored on the PDA, as seen in Fig. 5.
  • the user will need to first locate him.
  • Using the "Menu" item he can bring up the interface illustrated in Fig. 7.
  • the PDA accesses the calendar servers to find users whose display names (as shown in Fig. 7), email addresses, user ID's or the like match the search string.
  • a list of matches (search result) comes up, showing the names of individuals whose name matches the search string ("chris").
  • the individuals that show up in the search result have calendar data stored on one of the calendar servers 151, 152, 153.
  • Christian Poulsen's calendar data is already stored on the PDA, and his name is therefore already checked in the search result.
  • the list of selectable individuals has now grown to include Christopher Roberts, as illustrated in Fig. 8.
  • the user can then include Christopher's calendar when planning a meeting, by selecting him in step 303 by putting a check next to his name, as illustrated by the display in Fig. 9.
  • the PDA forms a connection 161 (Fig. 1) to the gateway 130 and requests calendar data for the selected individuals.
  • the gateway then forms a connection 162 (Fig. 1) to the calendar server(s) on which the calendar data of the selected individuals are stored. For instance, Anders Heick and Christian Poulsen may have their calendar data stored on calendar server 151 (see Fig. 1), while the calendar data of Michael Judson, Brian Nielsson and Christopher Roberts are stored on calendar server 153.
  • the calendar data in the PDA 110 is synchronized (step 305) with the calendar data in the calendar database 150 on the calendar servers 151, 152, 153. Since calendar data for Anders Heick, Brian Nielsson, Christian Poulsen and Michael Judson were already stored on the PDA, the synchronization in step 305 consists of determining changes to existing calendar data and additions of new calendar data since the previous synchronization and then updating, in step 307 (Fig. 3 and Fig. 4), the calendar data in the PDA's storage 122 accordingly.
  • Christopher Roberts has only just been added, and the synchronization of his calendar data consists in fetching all his calendar items (or, as an example, those with start times no earlier than one week back and/or no later than 6 months from the synchronization date) and storing them on the PDA.
  • the list of potential attendees will also include Christopher Roberts, as illustrated by Fig. 8.
  • Christopher is subsequently invited, only changes in his calendar data need to be fetched to the PDA, saving time and system resources, such processing power, storage usage and power consumption.
  • Fig. 8 has one more individual than the list in Fig. 5, the list growing because Christopher was invited as described above.
  • some of the calendar data stored in the PDA belong to individuals who have not been attendees for a while.
  • the PDA can then do a clean-up, removing calendar data belonging to such attendees. For instance, if Simon Bastian (see Fig. 8) has not been invited for some time, say within the previous 2 months, it might be practical to remove his locally stored (on the PDA) calendar data so that Simon does not keep appearing list of possible attendees, his calendar data merely resulting in clutter and taking up storage space and other PDA resources.
  • Simon Bastian see Fig. 8
  • step 403 the data is stored in PDA storage 122.
  • the PDA uses a set of clean-up criteria 410 to determine, step 405, whether calendar clean-up of the stored calendars is required. If so, based on the criteria 410, the calendar performs the clean-up in step 407.
  • the calendar resources such as available space on storage unit 122, can be controlled automatically instead of the user having to manually delete past appointments. Examples of such criteria may include that calendar information is deleted from PDA storage 122 once they are past by a week.
  • Another useful criterion is that when a user has not been scheduled for a certain period of time, his calendar data is removed altogether.
  • the criterion may further include that the PDA deletes entries when there is not enough storage space to store the data received in step 305. This efficiently controls the information on the PDA without the user having to make decisions as to which calendar data shall be removed, or when to remove it and so on.
  • the PDA may also comprise other functionalities, such as email functionality, telephone functionality etc.
  • the user may instruct (not shown) that invitations are sent to the individuals on the list, for instance by sending emails to the attendees, specifying date, time and duration of the meeting.
  • the PDA may provide appropriate calendar data to the calendar database in association with one or more of the attendees. In other words, the unit instructs that "Appointment" data are inserted into the calendar database for those attendees.

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention provides a method for synchronizing calendars for multiple individuals for instance on a mobile device. Embodiments of the method also provide that calendar data stored locally on the device is relevant. Individuals whose locally stored calendar data have not been updated for an amount of time, may have their calendar data removed from the device. A method is also provided for scheduling a meeting with individuals who have calendar data stored on the device. Hardware implementing methods of the invention is also provided.

Description

TITLE
Synchronizing multiple calendars on a scheduling unit
Background of the invention
Wireless devices such as mobile devices and personal digital assistants (PDA) are today important vehicles when people want to stay in touch with others and keep notes and have their calendars and to-do lists available while on the move. Today, such mobile units have quite limited resources such as processing power, random-access-memory (RAM) and storage capacity available. When these resource limitations are encountered during daily usage, users are forced to, often manually, delete less important information when more pertinent information becomes available and takes priority. Many users experience these issues all too often, as they store many contacts, calendar entries, to-do entries, much email etc. on their mobile devices. It requires that a significant part of the stored information is looked at by the user to ensure that only the least important information is disposed of. This is both time-consuming and an annoyance to the user. Other issues with mobile devices are that access wireless network resources is expensive and generally relatively slow, which are further limitations users meet when synchronizing their devices with other information resources over wireless connections.
Summary of the invention
The present invention provides a method for providing schedule information for multiple individuals for instance using a scheduling device, such as a PDA or smart phone. It also provides ways for providing better usage of available resources in a mobile device having scheduling tools.
In a first aspect, the invention provides a method for synchronizing calendar data in an electronic scheduling unit, the scheduling unit having calendar data for a first group of individuals stored in it, each individual in the first group having a unique identifier and having calendar data associated with said unique identifier stored in the unit and also having calendar data associated with said unique identifier stored in a calendar database, calendar data representing at least a status of availability of said each individual, the method comprising : • providing a list of individuals to the unit, the list comprising at least two individuals from the first group of individuals and optionally one or more individuals from a second group of individuals, each individual in the second group having a unique identifier and having calendar data associated with said unique identifier stored in the calendar database, calendar data representing at least a status of availability of said each individual;
• the unit synchronizing, for each of at least one of the individuals on the list, the locally stored calendar data associated with said each individual's unique identifier with the calendar data stored in the calendar database in association with said each individual's unique identifier, the synchronizing comprising storing at least some of the synchronized calendar data for said each individual on the unit in association with said each individual's unique identifier.
The calendar database is stored on one or more computers. In many embodiments of the first aspect, the one or more computers do not comprise the scheduling unit. The calendar database can be accessed by the unit via a calendar service, such as that provided by Microsoft Exchange Server software running on a computer. The unit can form a data connection to the calendar service, which can in turn access the calendar database.
Calendar data can be used by a user to schedule meetings with other individuals. A calendar datum comprises at least a start time and an end time. The time between the start time and the end time may for instance define a period of unavailability of the individual associated with the calendar datum, such as a period in which the individual is attending a meeting. Calendar data can be presented to a user for instance via a graphical display interface. A user input interface such as a keyboard, a touch-sensitive screen, a joystick or a voice-recognition interface etc. allows the user to provide data, such as calendar data, to the scheduling unit.
A synchronization process involves comparing the locally stored calendar data with calendar data in the calendar database. In case a calendar datum, such as one that represents a meeting having a start time and duration, is removed from the unit, the synchronization process may accordingly remove the calendar datum from the calendar database. Various synchronization methods are well known in the art, and synchronization between two calendar data sources can be made dependent on a number of conditions. For instance, it is common to synchronize only calendar data that have a meeting start time that lies no longer than, say, a week back in time. This reduces the amount of data that must be transferred. As another example, in case a specific calendar datum has been modified both in the unit and in the calendar database, it may be desirable to indicate that a specific one of the two modified calendar data shall have priority over the other. It is commonly used that when a calendar datum has been modified (e.g. changed or removed) both in a unit and in a calendar database, the user is asked which of the two he would like to keep. Another common alternative is to always use the calendar datum from the calendar database rather than from the unit. The calendar database may often in practice be thought of as a "master database" because it is accessed from several devices, e.g. via a handheld scheduling unit, a laptop or a desktop computer, and it is thus often "safer" to trust the calendar datum in the calendar database rather than that in one of the several access devices.
In the present context, the term "individual" covers persons, but also resources such as meeting rooms, projector equipment, video conferencing equipment and so on. Anything that can be assigned an "available" or "unavailable" status can be considered an "individual" in the present context.
The term "computer" as used in this specification refers to hardware comprising a central processing unit (CPU), memory (such as RAM), storage (such as flash memory and/or a harddisk), a controller ("bus") and a data communication interface for communicating data in and out of the storage media. Many variations are of course possible. Laptops and PCs are typical examples of computers.
It is an advantage of embodiments of the method according to the first aspect that only calendar data for a selection of individuals are synchronized. In the context of scheduling a meeting, being on a list of individuals means being an attendee at the meeting. There is no need to obtain calendar data for individuals who are not attendees at the meeting. The method therefore reduces resource usage in the unit, preserving resources such as storage capacity and reducing power consumption. In a mobile unit, this means, among other things, that the operating time is extended. The method is advantageous when a data connection between the unit and the calendar database is wireless. A wireless data connection consumes a relatively large part of the battery capacity in a wireless unit. Furthermore, today's wireless data connections are often relatively slow. Both of these limitations make some of the advantages of the invention particularly important in mobile scheduling units. The unique identifier identifies an individual and makes it possible to store calendar data in association with him via his identifier. A user ID, a username, or an email address is commonly used as identifiers.
The calendar database, which stores calendar data belonging to the individuals, may be distributed, as already indicated. Some individuals may have calendar data stored on one computer, while other individuals have their calendar data stored on another computer. In some cases, the calendar data associated with the different individuals on the list is handled by different calendar server systems. In that case, different protocols may be required for obtaining calendar data for the different individuals.
For a number of reasons it may be desirable to update the scheduling unit by removing calendar data that are more or less out of date or of less importance. Removing calendar data reduces data clutter. Navigating calendar data of many individuals is cumbersome to a user. Also, many handheld devices have limited resources such as RAM, more or less permanent storage media such as flash memory or harddisk, and central processing unit capacity. Data handling becomes slower and requires more power when the amount of data stored in the scheduling unit increases.
A practical way of reducing clutter is to have the unit automatically remove calendar data associated with a specific individual (the individual having a specific unique identifier) based on one or more criteria being fulfilled. Advantageously, a fulfilment of the one or more criteria can be determined automatically by the unit. As an example, some or all of the calendar data stored on the unit in association with a specific individual may be removed when the individual has not been on a provided list of individuals for a prescribed period of time, such as a week or a month or a year. That an individual has not been on a list for a significant period of time may be an indication that his associated calendar data may not be important enough to warrant a storing on the unit. The prescribed period of time could for instance be specified by the user via the user input interface of the scheduling unit. In the context of scheduling a meeting, not having been on a provided list amounts to not having been selected as an attendee.
Alternatively, a criterion for removing a calendar datum may be that an available storage resource for storing calendar data in the unit is insufficient before or during the step of storing synchronized calendar data. If a synchronized datum cannot be stored, the unit may for instance remove an already stored calendar datum that has an end time which is earlier than an end time of any other calendar datum stored on the unit.
After synchronizing the calendar data, calendar data is available for instance for determining one or more time slots of availability. Such embodiments of the first aspect comprise that the unit automatically determines, based on a specified duration and optionally other criteria, one or more time slots in which at least one of the individuals on the list is available for at least the specified duration, the time slot, advantageously, also fulfilling the optional criteria, if any. The user may for instance use the determined time slots to manually schedule a meeting period within one of the time slots. Alternatively, the unit may be enabled to do this automatically. Such embodiments further comprise that the unit automatically suggests one or more meeting periods, each of which falls within one of the one or more time slots previously determined. Different criteria for suggesting meeting periods can be thought of. For instance, a useful suggestion for a meeting period starts near the start time of a time slot of availability, or, say, 15 minutes later to allow for instance for transportation between meeting locations. It is also useful that suggested meeting periods start at regular times, such as at the top of an hour, such as 1 pm or 2 pm, or at each half hour, such as 1 pm, 1.30 pm, 2 pm, etc. Many other criteria are of course applicable.
Advantageously, the suggested meeting periods are displayed on a graphical user interface on the unit. The user may then indicate a desired meeting period by selecting among the displayed meeting periods. This is done via a user input interface on the unit.
Having determined a meeting period, some embodiments of the first aspect further provide that electronic meeting invitations be sent to one or more of the individuals on the list, such as the individuals who are available in the desired meeting period. The electronic meeting invitations notify the individuals of the desired meeting period. In some embodiments, the unit itself is enabled to send such invitations, for instance by email (if it is enabled to communicate by email). As another example, the unit sends a request to a server, telling the server to facilitate that the meeting invitations are sent to the individuals. The server may for instance be enabled to do so by email. As another example, the unit provides calendar data representing the desired meeting period to the calendar database. The providing involves entering calendar data into the calendar database for each of individuals to be invited, i.e. in association with their unique identifiers. Whichever way is used, the invitation may inform the individuals of the start time and end time of the meeting period, or at least an indication thereof, such as the date corresponding to the start time and not necessarily including the precise start time and end time. Such an invitation tells the individuals "do not schedule anything on Friday, we need to have a meeting." In any case, the invitation may advantageously specify a meeting subject, a meeting location, an agenda etc.
In a second aspect of the invention, an electronic scheduling unit is provided. A scheduling unit in accordance with the second aspect of the invention is operable to carry out one or more methods in accordance with the first aspect of the invention. Electronic scheduling units such as for instance personal digital assistants, mobile phones, and laptops are readily adaptable for being operable to perform one or more methods of the first aspect of the invention. A third aspect of the invention provides a computer program capable of making a computer hardware operable to perform a method in accordance with the first aspect of the invention.
A fourth aspect of the invention provides a storage medium comprising a computer program in accordance with the third aspect of the invention. Examples of storage media include DVD, CD, harddisk and flash memory. The invention also provides, in a fifth aspect, a server providing a data link through which a computer program in accordance with the third aspect of the invention can be obtained. The server could for instance be a webserver providing a link to a locally or remotely stored version of the computer program. Provision of data links can also take place via FTP and filesharing protocols.
Brief description of the drawings
Fig. 1 illustrates schematically a system for synchronizing calendar data between a PDA and a number of calendar servers.
Fig. 2 illustrates schematically a PDA for use as a scheduling unit in the present invention. Fig. 3 illustrates a method for planning a meeting. Fig. 4 illustrates a process for updating data in a PDA. Fig. 5 illustrates a list of selectable and selected meeting attendees. Fig. 6 illustrates an overview of the calendars of the attendees in Fig. 5.
Fig. 7 illustrates an interface for searching and finding individuals whose calendars are not already stored in a PDA.
Fig. 8 illustrates an updated list of selectable and selected meeting attendees. Fig. 9 illustrates another updated list of selectable and selected meeting attendees.
Detailed description of embodiments
In the following, selected embodiments of the invention will be described for exemplification.
A personal digital assistant (PDA) will be used as a scheduling unit in the illustration of embodiments of the invention.
Fig. 1 illustrates a system comprising a PDA 110 (scheduling unit), a gateway 130 and a calendar database represented by individual calendar servers 151, 152, 153. In the following example, the three calendar servers are Microsoft Exchange servers, and that these servers 151, 152, 153 also, considered as a whole, comprise the calendar database. The gateway 130 provides an interface between the PDA 110 and the calendar servers 151, 152, 153. The gateway is based on control software 135 that uses WebDAV as an interface 133 to the Microsoft Exchange servers 151, 152, 153. The PDA 110 communicates with the gateway 130 via a data connection 161. The gateway 130 communicates with the Microsoft Exchange servers 151, 152, 153 via data connections 162. The gateway also comprises a storage 137, such as a harddisk, for instance for use in case a data connection 161, 162 between the PDA and one or more of the calendar servers is not functional. It is also advantageous to store calendar data transfer activity and for temporary storage of calendar data.
Fig. 2 schematically illustrates a PDA. It comprises a touchscreen 112 for allowing a user to input data, a data communication interface 114, a graphical user interface 116, random access memory (RAM) 118, a central processing unit (CPU) 120, and a more or less permanent storage 122, all of them connected via a Bus 124. Storage 122 may for instance be a hard drive or a flash memory. The storage 122 is used for storing calendar data synchronized between the PDA 110 and the Exchange servers 151, 152, 153.
Fig. 3 illustrates the process of planning a meeting using the PDA. First, in step 303, the user selects a group of individuals, attendees, using the touchscreen.
Each attendee has associated with him a user identification (user ID) on one or more of the calendar servers 151, 152, 153 that allows the calendar servers to locate calendar data associated with that attendee in the calendar database. As illustrated in Fig. 5, the user has selected (step 303 in Fig. 3.) four attendees, namely Anders Heick, Brian Nielsson, Christian Poulsen and Michael Judson. Fig. 6 illustrates a specific day in the calendars of the four attendees displayed (step 309) on the graphical interface of the PDA. The user may then find and select (step 311) a time slot in which, say all, of the attendees are available. In this case, all four attendees are available for 2 hours 12 pm and 2 pm and 1 hour between 5 pm and 6 pm. The user can then select a time slot, and the planning of the meeting is then completed, step 350. Subsequently, invitations can be provided to the attendees (not shown in Fig. 3). Fig. 3 also shows another way of how a meeting can be scheduled. In this alternative, the PDA performs the determination of available time slots automatically, as illustrated starting with step 313. Based on an indication from the user, the PDA determines, step 313, time slots that honour the indication. The user may for instance want to schedule a meeting having a duration of one hour. He wants to schedule the meeting in the week starting Monday 7 August 2006. After determining the available time slots, the PDA display (not shown) those time slots in step 315 for the user to select among, in step 317. Step 350 is the conclusion of the planning of the meeting. The time slots above available on 7 August 2006 will be among the suggestions.
The user may wish to invite a fifth person, for instance Christopher Roberts. However, Christopher's calendar data is not stored on the PDA, as seen in Fig. 5. Thus, the user will need to first locate him. Using the "Menu" item, he can bring up the interface illustrated in Fig. 7. To find Christopher, the user enters part of Christopher's name as a search string, for instance "chris". The PDA then accesses the calendar servers to find users whose display names (as shown in Fig. 7), email addresses, user ID's or the like match the search string. A list of matches (search result) comes up, showing the names of individuals whose name matches the search string ("chris"). The individuals that show up in the search result have calendar data stored on one of the calendar servers 151, 152, 153. Christian Poulsen's calendar data is already stored on the PDA, and his name is therefore already checked in the search result. The list of selectable individuals has now grown to include Christopher Roberts, as illustrated in Fig. 8. The user can then include Christopher's calendar when planning a meeting, by selecting him in step 303 by putting a check next to his name, as illustrated by the display in Fig. 9.
Having chosen the desired list, the user can then choose "Synchronize" or "Schedule" from the Menu (these options are not shown). The PDA forms a connection 161 (Fig. 1) to the gateway 130 and requests calendar data for the selected individuals. The gateway then forms a connection 162 (Fig. 1) to the calendar server(s) on which the calendar data of the selected individuals are stored. For instance, Anders Heick and Christian Poulsen may have their calendar data stored on calendar server 151 (see Fig. 1), while the calendar data of Michael Judson, Brian Nielsson and Christopher Roberts are stored on calendar server 153. For each of the users, the calendar data in the PDA 110 is synchronized (step 305) with the calendar data in the calendar database 150 on the calendar servers 151, 152, 153. Since calendar data for Anders Heick, Brian Nielsson, Christian Poulsen and Michael Judson were already stored on the PDA, the synchronization in step 305 consists of determining changes to existing calendar data and additions of new calendar data since the previous synchronization and then updating, in step 307 (Fig. 3 and Fig. 4), the calendar data in the PDA's storage 122 accordingly. In contrast, Christopher Roberts has only just been added, and the synchronization of his calendar data consists in fetching all his calendar items (or, as an example, those with start times no earlier than one week back and/or no later than 6 months from the synchronization date) and storing them on the PDA. Next time the user wishes to plan a meeting, the list of potential attendees will also include Christopher Roberts, as illustrated by Fig. 8. In case Christopher is subsequently invited, only changes in his calendar data need to be fetched to the PDA, saving time and system resources, such processing power, storage usage and power consumption.
Over time, the list of possible attendees may grow and get somewhat outdated. The list in Fig. 8 has one more individual than the list in Fig. 5, the list growing because Christopher was invited as described above. Over time, some of the calendar data stored in the PDA belong to individuals who have not been attendees for a while. The PDA can then do a clean-up, removing calendar data belonging to such attendees. For instance, if Simon Bastian (see Fig. 8) has not been invited for some time, say within the previous 2 months, it might be practical to remove his locally stored (on the PDA) calendar data so that Simon does not keep appearing list of possible attendees, his calendar data merely resulting in clutter and taking up storage space and other PDA resources. Fig. 4 exemplifies steps that may be part of the step 307 in Fig. 3 of updating the PDA. In step 403, the data is stored in PDA storage 122. Subsequently, the PDA uses a set of clean-up criteria 410 to determine, step 405, whether calendar clean-up of the stored calendars is required. If so, based on the criteria 410, the calendar performs the clean-up in step 407. In that way, the calendar resources, such as available space on storage unit 122, can be controlled automatically instead of the user having to manually delete past appointments. Examples of such criteria may include that calendar information is deleted from PDA storage 122 once they are past by a week. Another useful criterion is that when a user has not been scheduled for a certain period of time, his calendar data is removed altogether. The criterion may further include that the PDA deletes entries when there is not enough storage space to store the data received in step 305. This efficiently controls the information on the PDA without the user having to make decisions as to which calendar data shall be removed, or when to remove it and so on.
The PDA may also comprise other functionalities, such as email functionality, telephone functionality etc. After planning the meeting, the user may instruct (not shown) that invitations are sent to the individuals on the list, for instance by sending emails to the attendees, specifying date, time and duration of the meeting. Alternatively, the PDA may provide appropriate calendar data to the calendar database in association with one or more of the attendees. In other words, the unit instructs that "Appointment" data are inserted into the calendar database for those attendees.
The invention has been described by way of examples only. The methods, hardware and computer program discussed above can be modified in many ways within the scope of the claims. The drawings and examples shall not be construed as limiting the scope of the claims.

Claims

1. A method for synchronizing calendar data in an electronic scheduling unit, the scheduling unit having calendar data for a first group of individuals stored in it, each individual in the first group having a unique identifier and having calendar data associated with said unique identifier stored in the unit and also having calendar data associated with said unique identifier stored in a calendar database, calendar data representing at least a status of availability of said each individual, the method comprising : providing a list of individuals to the unit, the list comprising at least two individuals from the first group of individuals and optionally one or more individuals from a second group of individuals, each individual in the second group having a unique identifier and having calendar data associated with said unique identifier stored in the calendar database, calendar data representing at least a status of availability of said each individual; the unit synchronizing, for each of at least one of the individuals on the list, the locally stored calendar data associated with said each individual's unique identifier with the calendar data stored in the calendar database in association with said each individual's unique identifier, the synchronizing comprising storing at least some of the synchronized calendar data for said each individual in the unit in association with said each individual's unique identifier, the calendar database being stored on one or more computers.
2. A method according to Claim 1, wherein the one or more computers do not comprise the scheduling unit.
3. A method according to Claim 1, further comprising: the unit automatically removing, when a prescribed criterion is fulfilled, a calendar datum from the scheduling unit during the synchronizing, the calendar datum being associated with an individual, a fulfilment of the criterion being detectable automatically by the unit, the calendar datum having a start time and an end time defining a time span.
4. A method according to Claim 1, further comprising: the unit automatically removing some or all of the calendar data stored thereon in association with a specific unique identifier when the associated individual has not been on a provided list of individuals for a prescribed period of time.
5. A method according to Claim 3, wherein the prescribed criterion is that an available storage resource for storing calendar data in the unit is insufficient for storing synchronized data before or during the step of storing synchronized calendar data.
6. A method according to Claim 5, wherein an already stored calendar datum having an end time which is earlier than an end time of any other calendar datum stored on the unit is removed when said criterion is fulfilled.
7. A method for determining a time slot of availability, the method comprising the steps of Claim 1, the method further comprising a step of the unit automatically determining, based on a specified duration and optionally other criteria, one or more time slots in which at least one of the individuals on the list is available for at least the specified duration, the time slot further fulfilling the optional criteria, if any.
8. A method for scheduling a meeting, the method comprising the steps of Claim 7, the method further comprising the unit automatically determining one or more meeting periods each falling within one of said one or more time slots, and displaying said meeting periods on a graphical user interface on the unit.
9. A method according to Claim 8 for scheduling a meeting, the method further comprising automatically providing an electronic meeting invitation to at least one of the individuals on the list, the meeting invitation indicating a desired meeting period selected among said displayed meeting periods by a user via a user input interface on the unit.
10. A method according to Claim 9 for scheduling a meeting, wherein the providing of the meeting invitation comprises the unit sending a request to a server indicating to the server that it shall facilitate that said electronic meeting invitation be sent to said at least one individual.
11. A method according to Claim 9 for scheduling a meeting, wherein the providing of the meeting invitation to said at least one individual comprises the unit providing calendar data representing the desired meeting period to the calendar database, the provided calendar data being provided with an association to said at least one individual.
12. A method according to any of the preceding claims, wherein the synchronizing between the unit and the calendar database is performed via a wireless data connection.
13. An electronic scheduling unit operable to perform a method in accordance with any of claims 1-12.
14. A computer program capable of making a computer hardware operable to perform a method in accordance with any of claims 1-12.
15. A storage medium comprising a computer program in accordance with Claim 14.
16. A server providing a data link through which a computer program in accordance with Claim 14 can be obtained.
PCT/DK2007/050179 2006-11-29 2007-11-29 Synchronizing multiple calendars on a scheduling unit WO2008064688A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US86142206P 2006-11-29 2006-11-29
US60/861,422 2006-11-29
DKPA200601573 2006-11-29
DKPA200601573 2006-11-29

Publications (1)

Publication Number Publication Date
WO2008064688A1 true WO2008064688A1 (en) 2008-06-05

Family

ID=39139762

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DK2007/050179 WO2008064688A1 (en) 2006-11-29 2007-11-29 Synchronizing multiple calendars on a scheduling unit

Country Status (1)

Country Link
WO (1) WO2008064688A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2151792A2 (en) * 2008-07-30 2010-02-10 Gigaset Communications GmbH Method and network transmission device for transmitting information
US20180026805A1 (en) * 2016-07-19 2018-01-25 Lam Trong Ho Method and system for scheduling a communication session

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1024449A1 (en) * 1999-01-28 2000-08-02 International Business Machines Corporation Real-time coordinating system
US20030130882A1 (en) * 2002-01-09 2003-07-10 Saxon Shuttleworth System and method for synchronous peer-to-peer appointment scheduling facilitation
US20060224430A1 (en) * 2005-04-05 2006-10-05 Cisco Technology, Inc. Agenda based meeting management system, interface and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1024449A1 (en) * 1999-01-28 2000-08-02 International Business Machines Corporation Real-time coordinating system
US20030130882A1 (en) * 2002-01-09 2003-07-10 Saxon Shuttleworth System and method for synchronous peer-to-peer appointment scheduling facilitation
US20060224430A1 (en) * 2005-04-05 2006-10-05 Cisco Technology, Inc. Agenda based meeting management system, interface and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2151792A2 (en) * 2008-07-30 2010-02-10 Gigaset Communications GmbH Method and network transmission device for transmitting information
EP2151792A3 (en) * 2008-07-30 2011-07-13 Gigaset Communications GmbH Method and network transmission device for transmitting information
US20180026805A1 (en) * 2016-07-19 2018-01-25 Lam Trong Ho Method and system for scheduling a communication session

Similar Documents

Publication Publication Date Title
JP7183154B2 (en) Increased efficiency in task management applications
US8849806B2 (en) Method, system and apparatus for efficiently determining priority of data in a database
US20090281843A1 (en) Calendar scheduling systems
US7383291B2 (en) Method for sharing groups of objects
US8712820B2 (en) Mobile application for calendar sharing and scheduling
US20080270211A1 (en) method and system for modifying a meeting attendee list of an email calendar application
US20070021997A1 (en) System and method for efficient optimization of meeting time selection
US20190180248A1 (en) Optimized scheduling of calendar events
US20110054976A1 (en) Scheduling Recurring Calendar Events
US9626657B2 (en) Clustering electronic calendar schedules to reduce visual complexity and improve efficiency of meeting scheduling
US20090248480A1 (en) Controlled synchronization between a group calendar and individual work calendars
US20100274855A1 (en) Scheduling events with location management
US20100094678A1 (en) System and method for providing delay notifications
AU2008229727B2 (en) Method and apparatus for facilitating a location-based, distributed to-do list
JP2005141755A (en) System, method, and service for negotiating schedule while preserving privacy through shared representation
US20080162234A1 (en) Time zone switcher for multi-jurisdictional end users
US7877356B1 (en) Retaining intermediate states of shared groups of objects and notification of changes to shared groups of objects
US20150347981A1 (en) Calendar application features
US7716671B2 (en) Method for coordinating a set of related tasks and events by reducing duplicated effort
US20110154342A1 (en) Method and apparatus for providing reminders
WO2008064688A1 (en) Synchronizing multiple calendars on a scheduling unit
EP1986142A1 (en) Method and system for modifying a meeting attendee list of an email calendar application
US20160180296A1 (en) Controlling a user interface in a computer device
US20180018638A1 (en) Method, system, and non-transitory computer-readable recording medium for supporting schedule management
US20110066974A1 (en) Method and apparatus for providing reminders associated with calendar event data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07817975

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A) DATED 09.09.09

122 Ep: pct application non-entry in european phase

Ref document number: 07817975

Country of ref document: EP

Kind code of ref document: A1