Abstract:
System, method and program product for scheduling meetings. Two or more invitees for a meeting are identified. Each of the invitees has a wireless device with a GPS or other geographic locating unit. Locations of the wireless devices are tracked. When the wireless devices of the two or more invitees are within a specified proximity of each other or a specified proximity of a specified location, then an attempt is made to schedule a meeting with the two or more invitees. A user specifies the proximity. The user can specify a greater proximity if the meeting is not scheduled by a certain date to increase the chance that the meeting will be scheduled. Another system, method and program product for reminding a person. A business or residence containing an object of a reminder is identified. A wireless device of a person to be reminded of the object is identified. A location of the wireless device is tracked. When the wireless device is within a specified distance or specified proximity of the business or residence, then the reminder is sent to the wireless device. A user specifies the reminder to be sent to the wireless device. Also, the user specifies the proximity.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     The invention relates generally to information technology, and deals more specifically with systems, methods and programs to schedule meetings.  
         [0002]     Various program tools are known today to schedule meetings. For example, Lotus Notes Calendar tool (from International Business Machines Corporation) allows a user to identify the prospective invitees for the meeting and then query the tool for dates and times when all of the prospective invitees are available to meet. The tool determines the availability based on other meetings or absences previously scheduled and recorded by the tool. Then, the user selects an available date and time. The user can request the meeting by conference call or in person, and in the latter case, specify the meeting location. While the foregoing scheduling tools are effective, in some cases, an in-person meeting is needed but not convenient because of the distance between the invitees.  
         [0003]     Accordingly, an object of the present invention is to schedule meetings at times and locations that are convenient for the invitees.  
         [0004]     Another object of the present invention is to provide a technique to effectively remind a person to do something.  
       SUMMARY OF THE INVENTION  
       [0005]     The invention resides in a system, method and program product for scheduling meetings. Two or more invitees for a meeting are identified. Each of the invitees has a wireless device with a GPS or other geographic locating unit. Locations of the wireless devices are tracked. When the wireless devices of the two or more invitees are within a specified proximity of each other or a specified proximity of a specified location, then an attempt is made to schedule a meeting with the two or more invitees.  
         [0006]     According to features of the present invention, a user specifies the proximity. The user can specify a greater proximity if the meeting is not scheduled by a certain date to increase the chance that the meeting will be scheduled.  
         [0007]     The invention also resides in a system, method and program product for reminding a person. A business or residence containing an object of a reminder is identified. A wireless device of a person to be reminded of the object is identified. A location of the wireless device is tracked. When the wireless device is within a specified distance or specified proximity of the business or residence, then the reminder is sent to the wireless device.  
         [0008]     According to features of the present invention, a user specifies the reminder to be sent to the wireless device. Also, the user specifies the proximity.  
     
    
     BRIEF DESCRIPTION OF THE FIGURES  
       [0009]      FIG. 1  is a block diagram of a system including a scheduling tool which includes the present invention.  
         [0010]     FIGS.  2 (A) and  2 (B) form a flow chart of the scheduling tool of  FIG. 1 .  
         [0011]      FIG. 3  is a flow chart of an alternate embodiment of the present invention.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0012]      FIG. 1  illustrates a scheduling program tool  10  and wireless devices  12 ,  14  and  16  owned by potential invitees to a meeting, according to one embodiment of the present invention. Each of the devices  12 ,  14  and  16  includes a respective GPS unit  13 ,  15  and  17  which communicates with satellites, not shown, to determine their geographic positions. These devices may also be equipped with a different means to track its location, for example, cell phones would be tracked through signals sent and received by the operator. Once determined, the devices  12 ,  14  and  16  can communicate their geographic positions to scheduling tool  10  via a wireless device service provider  25  (such as a cell phone service provider). Alternately, the devices  12 ,  14  or  16  may send their geographic position through another available communications network, such as the internet, a company network or a low cost connection like GPRS.  
         [0013]     As described in more detail below, scheduling tool  10  maintains an address table or “book”  30  of a multitude of wireless devices such as devices  12 ,  14  and  16 , which are owned by potential invitees to meetings. These devices may have been previously registered with scheduling tool  10  by the owner or could have been registered by the employer of the owner, if any. The address book may be the user&#39;s own address book within an application such as IBM Lotus Notes application, or an online available address application such as IBM BluePages application. (Information on wireless devices such as cellphones would be available from these applications even without the present invention.) The address book  30  lists the identity of each device, its registered owner and its current location, if known. The current location is determined by the respective GPS device of the wireless device and relayed by the wireless device to scheduling tool  10 . Scheduling tool  10  also includes a scheduler program  33  which maintains a meeting schedule table  34  which lists proposed meetings between owners of the devices  12 ,  14 ,  16 , . . . , the list of invitees for each meeting, the purpose of each meeting, a blank field for the meeting location, and links to previous correspondence between the invitees on the subject of the meeting. Scheduling tool  10  has access to an electronic directory  36  with the telephone numbers and nominal addresses of the owners of the devices  12 ,  14 ,  16  and the IP addresses of the wireless devices of the owners.  
         [0014]     As explained in more detail below, when a user of scheduling tool  10  initiates a meeting request for specified invitees, scheduler program  33  determines which, if any, of the invitees have a registered wireless device with a GPS. If one or more of the invitees has such a registered device, then scheduler program  33  prompts the user to decide whether to request that the meeting be incidentally scheduled when all the invitees are within a predefined distance of each other. For the invitees without a registered wireless device with a GPS, their location will be fixed and presumed to be their nominal address (business or otherwise). The nominal address is found in directory  36 . When the scheduler program  33  determines that all the invitees are within the prescribed distance of each other, the scheduling tool  10  prompts the user to decide if the incidental meeting should be called. Then, the user can request from scheduling tool  10  the current location of the proposed invitees. If the user then decides to schedule an incidental meeting, the scheduling tool  10  sends a meeting request to the invitees. If they all accept, then the scheduling tool notifies the invitees, via their wireless devices, of the incidental meeting and its time, location and purpose. Alternatively, if the user&#39;s wireless device is not enabled to handle meeting notices and invitations, the notice may be sent to an email address or to the personal assistant of the invitee. This would occur when the device has been turned off, or the invitee has chosen to have a different device handling meeting notices and invitations.  
         [0015]     FIGS.  2 (A) and (B) illustrate the use and function of scheduling tool  10  in more detail. Initially, a user accesses the scheduling tool  10  by supplying a valid userID and password, or simply “clicking” on a scheduling tool  10  icon (if the user is already logged on) (step  100 ). Next, the user identifies an invitee by name (step  110 ). In response, scheduler program  33  reads the address book  30  to learn if the invitee has one or more registered wireless device with a GPS unit (step  110 ). If so, scheduler program  33  determines which if any of the wireless devices should be used for tracking the owner for the incidental meeting (step  120 ). This determination is made by tracking both initially, and determining which of the wireless devices moves most often, over a long period of time or a shorter, more recent period of time. The wireless device that moves most often is presumed to be the wireless device that accompanies the owner most often, and is used for tracking the owner for scheduling the meeting. Next, the scheduler program  33  determines the unique identifier of the wireless device based on the telephone number of the cell phone or in the case of a PDA, by negotiation during the registration process (step  130 ). (A cell phone service provider  25  keeps track of how to contact each cell phone based on its telephone number or unique identifier.) Referring again to step  110 , if the invitee is not listed in the address book, then scheduler program  33  prompts the user to identify a wireless device with a GPS that the invitee owns (step  110 ). This identification is the telephone number of the wireless device. This identification is sufficient to permit the scheduling tool  10  to obtain the unique identifier of the wireless device. Next, scheduler program  33  prompts the user to identify another invitee for the meeting, if any, and steps  110 - 130  are repeated for each additional invitee.  
         [0016]     After all the invitees have been identified, scheduler program  33  prompts the user to specify the purpose of the meeting and agenda, preferred meeting locations, and preferred dates and times of the meetings (step  140 ). As explained in more detail below, the purpose of the meeting will be displayed to the invitees when the incidental meeting is scheduled. Next, scheduler program  33  prompts the user to identify another meeting to be scheduled, if any (step  150 ). In addition to this functionality, the system may use other known scheduling programs, like the scheduling function in IBM Lotus Notes application, to manage the ad-hoc appointment convenient for all users.  
         [0017]     After a meeting has been defined in steps  110 - 200 , scheduling tool  10  starts a process to determine if and when the incidental meeting can be scheduled. Accordingly, scheduler program  33  prompts the user to specify proximity requirements for the meeting, i.e. a maximum distance between all the invitees to permit an incidental meeting, and available time and dates for the meeting. The available dates and times are based on dates and times not already scheduled by any of the invitees for other meetings or absences. As explained above, the table  34  lists the other meetings and absences already scheduled for the invitees. As explained above, the wireless devices periodically report their location to the scheduling tool on an ongoing basis or only when notified that they are listed as in invitee in a meeting which can be scheduled incidental. Next, scheduling tool  10  reads from address book  30  the current location of the wireless devices of the invitees (step  220 ). Next, scheduler program  33  determines if the current locations of all the invitees are within the maximum distance specified in step  210  (decision  230 ). If not, scheduler program  33  determines if the first date and time which the user specified as available for the meeting has passed (decision  235 ). If not, the scheduler program  33  waits a predetermined time period such as one hour (step  236 ), and then loops back to step  220  as described above. However, if the first date and time which the user specified as available for the meeting has passed, then scheduler program  33  prompts the user to redefine the proximity requirement to permit the incidental meeting and list of invitees; some of the invitees may even be designated as optional (step  240 ). If the user is eager for the meeting, then the user may increase the allowed proximity to permit the incidental meeting. In the case of an optional invitee, a meeting will be scheduled if all the other invitees are within the specified proximity, and the optional invitees will be invited regardless of their location. Then, scheduler program  33  waits the predetermined time period (step  236 ), and then loops back to step  220  as described above. Referring again to decision  230 , if the registered, wireless devices owned by all the invitees are currently located within the prescribed distance or proximity of each other, the scheduler program  33  reads the meeting purpose from table  34  (step  245 ). Then, scheduler program  33  notifies the user that all invitees are within close range of each other, the general geographic location of each of the invitees, and the purpose of the meeting (step  250 ). (The general and not specific location of each of the invitees is provided to the user to protect the privacy of the invitees.) In response, the user can select whether to schedule an incidental meeting during the next date and time that is available for all the invitees and the location of the meeting in the general location of the invitees (step  250 ). The availability is based on the other meetings and absences already recorded in table  34  for the invitees. If the user requests to schedule the incidental meeting, scheduler program  33  sends a meeting notice/request to the invites via their respective wireless devices. The meeting notice indicates the purpose of the meeting, agenda and the proposed location, date and time for the meeting. If the wireless device is a cell phone, pager, laptop computer or PDA, then the meeting notice can be sent by short messaging service (“SMS”), text message, e-mail, or even voice message from a voice synthesizer. Next, scheduler program  33  waits for the response from each of the invitees. If all the invitees respond that they will attend the meeting at the specified location, date and time (decision  260 , yes branch), then scheduler program  33  will schedule the meeting and notify the invitees that the meeting has been scheduled (step  265 ). However, if one or more of the invitees responds that he or she cannot attend the meeting (decision  260 , no branch), then scheduler program  33  notifies the user (step  275 ). In such a case, the user can schedule the meeting by telephone at a later date, or notify scheduler program  33  to wait a predetermined period and then loop back to step  220 .  
         [0018]     In an alternate embodiment of the present invention, in step  210  the user specifies a “deadline” date and time for scheduling the meeting. If the deadline arrives, and the scheduler program  33  has not already scheduled the meeting incidentally, then the scheduler program sends out a meeting request notice to the invitees for the meeting. This meeting request notice will be for the next date and time that is available to all invitees as indicated in the table  34 . The local invitees will be invited to attend the meeting in person or by telephone, and the remote invitees will be invited to attend the meeting by telephone.  
         [0019]      FIG. 4  illustrates another embodiment of the present invention. In this other embodiment, the user is not attempting to schedule a meeting but to remind the user or another, “target” person to do something when the user or other person travels to a specified location. For example, the specified location can be in or adjacent to a pharmacy, at which time the target person will be reminded to purchase a specified item. In step  300 , a reminder program  333  within scheduling tool  10  is invoked. In response, reminder program  333  prompts the user to specify a location or “destination” at which a reminder will occur (step  310 ). The specification of the location will ordinarily state the street address and city. Alternately, the user can specify the name of a business or owner of a residence and city, and reminder program  333  will consult electronic directory  36  to determine the street address. Next, reminder program  333  will prompt the user to specify the message to display to the user when the user is at or near the specified location (step  320 ). In the foregoing example, the message would be to buy the specified item from the pharmacy. Next, reminder program  333  reads the address book  30  to learn if the target person has one or more wireless devices with a GPS unit (step  324 ). If so, reminder program  333  determines which if any of the wireless devices should be used for tracking and the reminder message (step  324 ). If the target subject has more than one wireless device, the reminder program tracks both for a period to determine which wireless devices moves the most. This is wireless device selected for tracking for purposes of the reminder program. Next, the reminder program  333  reads the address book  30  to determine the unique identifier of the wireless device (step  326 ). Referring again to step  324 , if the target person is not listed in the address book, then reminder program  333  prompts the user to identify a wireless device with a GPS that the target person owns (step  326 ). This identification is the telephone number of the wireless device in the case of a cell phone or pager, or the IP address in the case of a internet enabled device or a dynamic identification in the case of a device without an identifier for communications. This identification is sufficient to permit the reminder program  333  to track and communicate with the wireless device.  
         [0020]     Next, reminder program  333  prompts the user to specify a maximum distance or proximity from the specified location sufficient to initiate the reminder. Then, reminder program  333  requests the current location of the wireless device of the target person (step  360 ). Reminder program  333  records the wireless device identifier, destination, message, current location and proximity in a table  336 . Then, reminder program  333  determines if the current location is within the maximum distance or proximity of the specified location (decision  370 ). If not, then reminder program  333  waits a predetermined time period (step  386 ) and then loops back to step  360  to request the current location of the wireless device of the target person. Referring again to decision  370 , if the wireless device is currently within the maximum distance or proximity of the specified location, then reminder program  333  notifies the target person of the event, such as to buy the specified item from the pharmacy (step  380 ). This notification is made via the wireless device such as by SMS, text message, e-mail or voice mail.  
         [0021]     Based on the foregoing, a scheduling tool including a scheduler program and a reminder program in accordance with the present invention have been disclosed. However, numerous modifications and substitutions can be made without deviating from the scope of the present invention. For example, selected people, such as in a common organization, can be made aware of each other&#39;s nearby presence by scheduling them for an incidental meeting using the present invention. Therefore, the present invention has been disclosed by way of illustration and not limitation, and reference should be made to the following claims to determine the scope of the present invention.