FIELD OF THE INVENTION- The present invention generally relates to data communications and information systems and,more particularly, to an advance notification system and method for notifying system users in advance ofthe impending arrival of a transportation vehicle, for example but not limited to, a bus, train, plane,fishing vessel, or other vessel, at a particular vehicle stop. 
BACKGROUND OF THE INVENTION- There are many situations when it is desirable for persons to know of the approximate arrivaltime of a particular transportation vehicle shortly before the vehicle is to arrive at a particulardestination. With such information, passengers or other or users of the inventive system and method canadjust their schedules accordingly and avoid having to wait on the particular vehicle to reach theparticular destination. For example, a person having to pick up a friend or relative at a commercial busstation either has to call the bus station to find out the approximate arrival time, which information isoftentimes unavailable, or plan on arriving at the bus station prior to the scheduled arrival time of the busand hope the bus is not delayed. Thus, a system user may include, but is not limited to, a passenger orany person affected by a transportation vehicle. 
- Another example is in the commercial fishing industry, wherein fish markets, restaurants, andother establishments desire to purchase fish immediately upon arrival of a commercial fishing boat at aport. Currently, such establishments, in order to ensure being able to purchase the freshest catch, oftendepend on predetermined schedules of fishing fleets, which are not always accurate or reliable. 
- Still another example involves school children who ride school buses. School children who ridebuses to school often have to wait at their bus stops for extended lengths of time because school busesarrive at a particular bus stop at substantially different times from one day to the next. The reason is thatschool buses are not always the best maintained vehicles on the roads, frequently must operate duringrush hour traffic, and must contend with congested urban/suburban conditions. As a result, schoolchildren are forced to wait at their bus stops for long periods of time, oftentimes in adverse weatherconditions, on unlit street comers, or in hazardous conditions near busy or secluded streets. If it israining, snowing, windy and cold, or even dark, such conditions can be unhealthy and unsafe forchildren. 
- Thus, generally, it would be desirable for a person to know when a vessel, such as a bus, train,plane, or the like, is a particular time period (number of minutes or seconds) from arriving at adestination so that the passenger or other persons affected by the transportation system can adjust his/herschedule and avoid arriving too early or late. 
- In the past, in order to combat the arrival time problem in the context of school buses, studentnotification systems have been employed that use a transmitter on each bus and a receiver inside each student home. U.S. Patent No. 4,713,661 to Booneet al. and U.S. Patent No. 4,350,969 describesystems of this type. When the school bus and its on-board transmitter come within range of a particularhome receiver, the transmitter sends a signal to the receiver, which in turn produces an indicator signal tonotify the student that his/her school bus is nearby. While such notification systems work satisfactorilyunder certain circumstances, nevertheless, these systems are limited by the range of the transmitters andrequire the purchase of relatively expensive receivers for each student. In addition, such systems providelittle flexibility for providing additional information to the students, such as notifying them of thedelayed arrival of a bus, alternative bus route information, or information regarding important schoolevents. 
- US-A-5,400,020 discloses an advance notification system and method for notifying schoolchildren of the impending arrival of their school bus. The system includes an on-board vehicle controlunit for each bus and a base station control unit for making telephone calls to the homes of schoolchildren in order to inform them that the bus is a certain time period away from a bus stop. The vehiclecontrol unit compares elapsed time to the programmed scheduled time for each bus stop to determine ifthe bus is on schedule. If the bus is behind or ahead of schedule, the vehicle control unit calls the basestation control unit, which then resets its calling schedule accordingly. 
SUMMARY OF THE INVENTION- An object of the present invention is to overcome the deficiencies and inadequacies of the priorart as noted above and as generally known in the industry. 
- Another object of the present invention is to provide an advance notification system and methodfor according advance notification of the impending arrival of a vehicle at a particular vehicle stop. 
- Another object of the present invention is to provide an advance notification system and methodfor according advance notification to school students of the impending arrival of a school bus at aparticular bus stop. 
- Another object of the present invention is to provide an advance notification system and methodfor inexpensively according advance notification of the impending arrival of a vehicle at a particularvehicle stop. 
- Another object of the present invention is to provide an advance notification system that isreliable in operation and flexible in design to permit customization to a particular application. 
- Briefly described, the present invention is an advance notification system for notifying personsof an impending arrival of a vehicle as the vehicle progresses along a scheduled route with particularstop locations and corresponding scheduled times of arrival at the stop locations. The advancenotification system generally comprises a vehicle control unit (VCU) disposed on each vehicle and abase station control unit (BSCU) which is configured to communicate with all of the vehicle control units and with telephones used by passengers or persons affected by or depending on the arrival ordeparture of the transportation vehicle. 
- The VCU includes a vehicle control mechanism, a vehicle communication mechanismcontrolled by the vehicle control mechanism, a vehicle clock for tracking elapsed time of the vehiclewhile on the scheduled route to determine when the vehicle is early, late, and on time along thescheduled route, optional input switches (e.g., start/reset, advance stop number, move stop number back)that can be operated by the vehicle driver to indicate when the vehicle has reached particular stops alongthe route, and optional sensors (e.g., odometer, door sensor, swing arm sensor, bus stop sensor,positioning system input,etc.) for signalling to the vehicle control mechanism when the vehicle is early,late, and on time along the scheduled route. The control mechanism is adapted to initiate calls utilizingthe vehicle communication mechanism when the elapsed time and/or travelled distance of the vehicle atany of the particular positions is either ahead or behind the scheduled time and/or distance. In thepreferred embodiment, the vehicle communication mechanism is a wireless communication interface,such as a mobile telephone, radio frequency (RF) transceiver, or other suitable device. 
- The BSCU has a base station communication mechanism and a base station control mechanismfor controlling the base station communication mechanism. The base station communication mechanismreceives the calls from the VCU and receives the amount of time and/or distance in which the vehicle isahead or behind relative to the schedule. The base station control mechanism causes calls to be made toeach of the passengers to be boarded at a particular stop location via the base station communicationmechanism prior to the arrival of the vehicle at the particular stop location. In the preferredembodiment, the base station communication mechanism is a wireless communication device, such as amobile telephone or RF transceiver (includes both transmitter and receiver), for communicating with thevehicle communication mechanism and also comprises at least one telephone for calling passengertelephones or telephones associated with persons affected by the transportation vehicle. 
- The telephone call to advise a person of the impending arrival of the vehicle preferably canexhibit a distinctive telephone ring sound so that the call recipient need not answer the telephone in orderto receive the message. Moreover, the distinctive telephone ring sound can be coded by any sequenceand duration of rings and/or silent periods. 
- In accordance with a significant feature of the present invention, a calling report generator in theBSCU allows a person to solicit a calling report from the BSCU. The report can indicate the time(s) andoutcome(s) of any previous notification attempt(s) by the BSCU to the telephone possessed by apassenger or person affected by the transportation vehicle. 
- It should be emphasized that while the present invention is particularly suited for application toschool buses, there are many other applications. As examples, the advance notification system andmethod of the present invention could be employed with commercial buses, trains, planes, pickup vehicles, delivery vehicles, fishing vessels, and numerous other transportation vehicles. 
- Other objects, features, and advantages of the present invention will become apparent from thefollowing specification, when read in conjunction with the accompanying drawings. All such additionalobjects, features, and advantages are intended to be included herein. 
BRIEF DESCRIPTION OF THE DRAWINGS- The present invention can be better understood with reference to the following drawings. Thedrawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating principlesof the present invention. 
- Fig. 1 is a high level schematic diagram of an advance notification system of the presentinvention as applied to a school bus system, as an example, the advance notification system generallycomprising vehicle control units (VCU) in communication with a base station control unit (BSCU),which are in turn in communication with passenger telephones;
- Fig. 2 is a high level block diagram of the VCU of the advance notification system of Fig. 1;
- Fig. 3A is a low level block diagram of the VCU of Fig. 1;
- Fig. 3B is a block diagram of the BSCU of Fig. 1;
- Fig. 4A is a flow chart of the overall operation of the advance notification system of Fig. 1;
- Fig. 4B is an example of a schedule for a sequence of events illustrating the operation of theadvance notification system of Fig. 1;
- Fig. 5 is a flow chart of a base station control program for the basestation control unit 14 of Fig.1 that includes a vehicle communications program and a student calling program;
- Fig. 6 is a flow chart of a vehicle control program for the VCU of Figs. 1 and 2; and
- Fig. 7 is a flow chart of a VCU call control program for the VCU of Figs. 1 and 2.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
- The features and principles of the present invention will now be described relative to a preferredembodiment thereof. It will be apparent to those skilled in the art that numerous variations ormodifications may be made to the preferred embodiment without departing from the spirit and scope ofthe present invention. 
I.System Architecture- Referring now in more detail to the drawings, wherein like reference numerals designatecorresponding parts throughout the several views, Fig. 1 is a schematic diagram of theadvancenotification system 10 of the present invention as configured to operate in, for example but not limitedto, a school bus system. Theadvance notification system 10 comprises, preferably, a plurality of on-board vehicle control units (VCU) 12, a single base station control unit (BSCU) 14, and a plurality oftelephones 29. As configured in theschool bus system 10, aVCU 12 is installed in each of a plurality ofschool buses 19, all of which communicate with thesingle BSCU 14. Moreover, theBSCU 14communicates with atelephone 29 at one ormore locations 36, or student homes in the presentexemplary application. 
A.Vehicle Control Unit- TheVCU 12 will now be described with reference to Figs. 1, 2, and 3. Referring first to Fig. 1,eachVCU 12 comprises amicroprocessor controller 16, preferably a model MC68HC705C8Pmicroprocessor controller that is manufactured by and commercially available from the MotorolaCorporation, U.S.A. Themicroprocessor controller 16 is electrically interfaced with acommunicationmechanism 18, preferably a wireless communication device, for enabling intercommunication of datawith theBSCU unit 14. Examples of suitable wireless communication devices include a mobiletelephone (e.g., cellular) and a transceiver (having both a transmitter and receiver) operating at a suitableelectromagnetic frequency range, perhaps the radio frequency (RF) range. 
- In the embodiment using a wireless RF transceiver as thecommunication mechanism 18, datacan be sent in bursts in the form of in-band tones, commonly called "twinkle tones." These tone burstscan occur in the background of an existing voice channel. Twinkle tones are oftentimes used intransportation systems, such as taxi cab communications systems. 
- Themicroprocessor controller 16 is electrically interfaced with a start/reset switch 21, a moveforward switch 22, a move backward switch 23, aclock 24, and optionally,sensors 25a-25d. Generally,vehicle tracking is accomplished by monitoring the control switches 21-23, thesensors 25a-25e, thepower to thecontroller 16, and a route database (Fig. 5). It is recommended that all of the foregoingfeatures be employed to provide redundant checking. 
- More specifically, the start/reset switch 21 can be actuated by the bus driver upon starting alongthe bus's scheduled route to initialize thesystem 10. The move forward switch 22 can be actuated by thebus driver upon reaching a bus stop in order to inform theVCU 12 that a stop has been made, the detailsof which will be further described hereinafter. The move backward switch 23 can be actuated by the busdriver at a bus stop if the bus driver has erroneously toggled the move forward switch 22 too many times,as will be further described in detail hereinafter. This indicates to themicroprocessor controller 16 that adisplay module 33 and memory must be updated. In essence, the move forward switch 22 and the movebackward switch 23 cause the next stop designation which is displayed on thedisplay module 33 andstored in theVCU 12 to toggle forward and backward, respectively. 
- TheVCU 12 can be configured so that the operation of the start/reset switch 21, the moveforward switch 22, and the move backward switch 23 is purely optional by the bus driver. In this configuration, thesensors 25a-25e automatically accomplish the aforementioned functions of theswitches 21-23. However, in certain cases, the bus driver may want to use the switches to override thesensors 25a-25e. One of these cases may be when a student rides a bus only two out of five school days.Rather than program theVCU 12 to track these unnecessary stops, the driver may manually control thestop number by the switches 21-23. 
- Theclock 24 tracks the elapsed time as the bus travels along its scheduled route and feeds thetiming information to themicroprocessor controller 16. 
- Thedisplay module 33 informs the bus driver as to the number corresponding to the next stopand the time (preferably, in seconds) necessary to reach the next stop. Other types of information mayalso be displayed on thedisplay module 33. For example, thedisplay module 33 may display theamount of time that thebus 19 is ahead of or behind schedule, the status of theVCU 12 incommunication with theBSCU 14, or, upon actuation ofstart button 21, that theadvance notificationsystem 10 is operating. 
- Theoptional sensors 25a-25e include anodometer sensor 25a for determining distance into aroute. Thissensor 25a can be connected to the bus drive shaft and counts revolutions. This data can beused to determine the stop number. 
- Adoor sensor 25b can be used to count the number of door operations (opening/closing) of thefront door of theschool bus 19, which should correspond with the number of stops. 
- A swing arm sensor 25c can be implemented to count the number of times the arm operates.This operation should coincide with the number of stops. 
- A busstop sign sensor 25d can be utilized to count the number of times the bus stop signoperates. This operation should coincide with the number of stops. 
- Apositioning system 25e can be used to determine the geographical position of thebus 19 onthe earth's surface. Thepositioning system 25e could be the GPS (global positioning system), theLORAN positioning system, the GLONASS positioning system (USSR version of GPS), or some othersimilar position tracking system. 
- Fig. 2 is a high level schematic circuit diagram of theVCU 12. TheVCU 12 is designed to be acompact unit with a generallyrectangular housing 34 that is mounted preferably on or in front of thedashboard of thebus 19 in view and within reach of the bus driver. In thehousing 34, themicroprocessor controller 16 is interfaced with thetransceiver 18 by a transceiver jack 31 (preferably aconventional 8-conductor telephone jack whentransceiver 18 is a mobile telephone), and thetransceiver18 includes anantenna 32 for transmitting and receiving signals to and from theBSCU 14. Further, theVCU 12 includes a liquid crystal display (LCD)module 33 disposed for external viewing of the displayby the bus driver for providing information to the bus driver, as described previously. 
- Fig. 3A is a more detailed schematic circuit diagram of the electronic components associated with theVCU 12. Themicroprocessor controller 16 essentially controls the operation of thetransceiver18 and theLCD display module 33. A switchingelement 37, such as an optical isolator (opto isolator)unit 37, provides a buffer between themicroprocessor controller 16 and thebattery 35 as well asswitches 21, 22, 23. AnEEPROM 43 is provided for storing the control programs (Figs. 6 and 7) andother requisite data for themicroprocessor controller 16, and aRAM 44 is provided for running thecontrol programs in themicroprocessor controller 16. Amatrix keyboard emulator 39 is interfacedbetween thetransceiver 18 and themicroprocessor controller 16 for allowing the microprocessorcontroller to control and transmit signals over thetransceiver 18. Further, a dual tonemultiple frequencydecoder 41 is interfaced between themobile telephone 18 and themicroprocessor controller 16 fordecoding modem signals, or tones, received by themobile telephone 18 from theBSCU 14. 
B.Base Station Control Unit- TheBSCU 14 can be implemented by any conventional computer with suitable processingcapabilities for implementing the functionality described hereafter. TheBSCU 14 is now described withreference to Figs. 1 and 3B. 
- In general, as shown in Fig. 1, theBSCU 14 includes at least one transceiver 26 (for example, amobile telephone or RF transceiver) and associated communication connection 26' dedicated forcommunication with the one ormore VCU transceivers 18 associated with the respective one ormoreVCUs 12. Moreover, theBSCU 14 can communicate to one ormore telephones 29, or student homes,via the telephone interface(s) 27 and telephone connection(s) 29'. 
- As illustrated in Fig. 3B, theBSCU 14 contains aconventional processor 2. Theprocessor 2intercommunicates with and controls the other elements within theBSCU 14 over asystem bus 3. Aninput device(s) 4, for example, a keyboard or mouse, is used to input data from a user (perhaps a fleetoperator) of theBSCU 14, and an output device(s) 5, such as a display or printer, is used to output datato the user. Anonvolatile storage device 6, for example, a hard disk drive or CDROM mechanism, maybe used to permanently store the software of theBSCU 14, as well as to store the data bases generated bytheBSCU 14. 
- A high speed volatile memory 7, such as a conventional random access memory (RAM),contains the software for driving theprocessor 2 during operation of theBSCU 14. Particularly, theRAM 7 is loaded with a conventional operating system software (e.g., DOS, UNIX,etc.) for supportingand implementing other software programs for implementing various novel features of theBSCU 14.These other software programs preferably include a preset notificationtime period mechanism 9, acallingreport generator 11, a vehicleprogress report generator 13, and a base station control program 46(Fig. 5) that has avehicle communications program 47, and astudent calling program 48. The foregoingsoftware programs are loaded as needed into the RAM 7, as needed, by theprocessor 2. 
- The preset notificationtime period mechanism 9 permits a system user to define a presetnotification time period when he or she is to receive a telephone call prior to arrival of avehicle 19 at avehicle stop to thereby indicate impending arrival of thevehicle 19 at the stop. The preset notificationtime period mechanism 9 can be implemented in software in many different manners, as is well knownto someone with skill in the art. Preferably, the preset notificationtime period mechanism 9 allows asystem user or passenger to define the period by (a) establishing a telephone communication link withthesystem telephone interface 27 and (b) providing the preset notification time period to themechanism9 during the telephone communication link. 
- The callingreport generator 11 can be implemented in a variety of ways in software and ispreferably configured to permit the system user to solicit a calling report corresponding to one or moreprevious telephone calls made by thesystem telephone interface 27 to thesystem user telephone 29. Inorder to obtain the calling report, the user (a) establishes a telephone communication link with thesystem telephone interface 27 and (b) requests the report. In turn, the callingreport generator 11provides the calling report to the user in real time during the telephone communication link. The callingreport can be configured to indicate whether theuser telephone 29 was busy, was answered, was notanswered, or was out of service, when thesystem telephone interface 27 initiated the previous telephonecall(s) to theuser telephone 29. Further, the calling report can be designed to include a time(s) when theprevious telephone call(s) was (were) initiated by thesystem telephone interface 27 to theuser telephone29. 
- The vehicleprogress report generator 13 may be implemented in many different ways insoftware and is configured to permit the user to solicit a vehicle progress report relating to arrival of thevehicle 19 at the vehicle stop. Preferably, a user can solicit a vehicle progress report from the vehicleprogress report generator 13 by (a) establishing a telephone communication link with thesystemtelephone interface 27 and (b) requesting the report. In turn, the vehicleprogress report generator 13provides the report to the user in real time during the telephone link. When thevehicle 19 is currentlyapproaching the stop, a time indicating when thevehicle 19 is to arrive at the stop can be specified in thevehicle progress report. When thevehicle 19 has already arrived at the stop, a past arrival time can bespecified in the progress report. Furthermore, the progress report may include a time(s) when a previouscall(s) was initiated by thesystem telephone interface 27 to theuser telephone 29. 
- As shown in Fig. 3B, theBSCU 14 further includes at least one transceiver 26 (for example, amobile telephone or RF transceiver) and associated communication connection 26' dedicated forcommunication with the one ormore VCU transceivers 18 associated with the respective one ormoreVCUs 12. The vehicle communications program 47 (Fig. 5) drives theprocessor 2 to control thetransceiver 26 and communications associated therewith. 
- TheBSCU 14 can communicate to one ormore user telephones 29, or student homes, via the telephone interface(s) 27 and telephone connection(s) 29'. Thetelephone interface 27 can be, forexample but not limited to, any of the following interfaces: (a) a voice card(s) (preferably multiple port)and/or telephone; (b) a high-speed switch-computer applications interface(s) (SCAI) that communicatesto a digital switch operated by a telephone utility company; the SCAI adheres to the conventional OSImodel and supports the carrying of application information in an application independent fashion; and(c) an interface that communicates with an analog display services interface(s) (ADSI) maintained by atelephone utility company. ADSI is a cost effective technology that delivers voice and data informationbetween a telephone terminal and a digital switch or server using existing copper telephone lines. 
- TheBSCU 14 could be configured tomerely call users, thus warning them of the impendingarrival of abus 19, as opposed to forwarding both a call and a message. Specifically, the student callingprogram 48 (Fig. 5) for theadvance notification system 10 can be designed to make the telephone callsto thehomes 36 of the students and allow the telephone to ring a predefined number of times so that it isnot necessary for the telephone to be answered in order for the telephone call to be recognized as that oftheadvance notification system 10. 
- The student calling program 48 (Fig. 5) associated with theadvance notification system 10 canalso be configured to make theuser telephone 29 exhibit a distinctive telephone ring sound, or pattern, sothat the call recipient need not answer the telephone in order to receive the message. The distinctivetelephone ring can be coded by any sequence and duration of rings and/or silent periods. A standard ringsignal that is sent to a telephone from the telephone utility company is typically a periodic electricalanalog signal having a frequency of 20 Hz and a peak-to-peak voltage amplitude of -48 volts. The ringsignal is asserted on the telephone connection 29' for a predefined time period for ringing the telephone.The foregoing time period can be manipulated in order to derive a distinctive sequence and duration ofrings and/or silent periods. 
- Implementation of a distinctive telephone ring can be accomplished by purchasing this featurefrom a telephone utility company. This feature is widely available to the public. Generally, telephoneutility companies operate network switches, now usually digital, that serve as interfaces for telephoniccommunications. A particular geographic region is typically allocated to a particular switch(s). Inessence, one or more distinctive telephone rings can be driven by software running in the switches to aparticular telephone. Examples of switches that are commercially available to telephone utilitycompanies are as follows: a model DMS100 by Northern Telecom, Canada; a model 5ESS by AT&T,U.S.A.; and a model EWSD by Siemans Stromberg-Carlson Corp., Germany. 
- The feature for establishing the distinctive telephone ring is sold to the public under severaldifferent commercial trade names, depending upon the telephone utility company. Examples are asfollows: Call Selector by Northern Telecom, Canada; Ringmaster by Bell South, U.S.A.; Smartlink bySNET, U.S.A.; Multi-ring by Ameritech, U.S.A.; Priority Ring by PacBell, U.S.A.; Priority Call by Cincinnati Bell, U.S.A.; and Ring Me by Standard Telephone Co., U.S.A. 
- Furthermore, in the case where a parent or a student answers the telephone call from thebasestation unit 14, a prerecorded message may be played by theBSCU 14. An example of such a messagewould be: "The bus will arrive in five minutes," as indicated in Fig. 1 at thereference numeral 30. 
II.System OperationA.Initialization- Initially, the bus schedule for eachbus 19 is programmed into theadvance notification system10 by having the respective bus driver drive his respective bus one time along the correspondingscheduled bus route at the approximate speed the bus would usually travel on the route and with the busdriver making all the scheduled stops along the route and waiting at each stop for the approximate time itwould take for all the students at that stop to board thebus 19. As the bus driver drives thebus 19 alongthe route for initialization purposes, the internalreal time clock 24 runs and the bus driver actuates theswitches 21, 22, 23 as required in accordance with the principles described previously. The timinginformation is recorded in the memory (RAM 44 and EEPROM 43) of theVCU 12. 
- The timing information which is recorded during the initialization of thesystem 10 is used as areference during the usual operation of thesystem 10 for the purpose of determining whether abus 19 isearly or late at each of the bus stops. In the preferred embodiment, determining the status (i.e., early, ontime, late) of abus 19 is accomplished by comparing the time at which abus 19 actually departs from astop to the scheduled time of departure. 
- However, it should be emphasized that other methodologies could be utilized for determiningwhether thebus 19 is early or late at an instance in time. For example, theodometer 25a of thebus 19,as indicated by phantom lines in Fig. 1, could be monitored by themicroprocessor controller 16. Atparticular times, the odometer mileage reading could be compared to reference odometer mileagereadings which were obtained during the initialization of thesystem 10. In this way, the determinationof whether abus 19 is early or late can occur at any time during a bus route and can occur as many timesas desired. 
- Another methodology which could be utilized for determining whether thebus 19 is early or lateinvolves interfacing theVCU 12 with thepositioning system 25e, as shown in Fig. 1 by phantom lines.From the geographical position data received from thepositioning system 25e, themicroprocessorcontroller 16 could determine where thebus 19 is situated on the earth at any given time. The buslocation at a particular time could then be compared with scheduled locations and scheduled times inorder to determine whether thebus 19 is early or late and by what amount. 
B.Regular Operation- The overall operation of theadvance notification system 10 will be described with reference toFigs. 4A and 4B. Fig. 4A sets forth a flow chart showing the overall operation after thesystem 10 hasbeen initialized. Fig. 4B shows an example of a schedule of possible events and the interactions whichmight occur between theVCU 12 and theBSCU 14 as thebus 19 travels along its scheduled route andmakes its scheduled stops. 
- In Fig. 4B, the left hand column illustrates the sequence of events for theBSCU 14, and the righthand column illustrates the sequence of events on theVCU 12. Between the right and left hand columnsis illustrated a time line for the scheduled bus stops. The time line has the following time designations:ten minutes, sixteen minutes, and twenty-two minutes, all along the scheduled bus route. 
- First, the bus ignition is switched on, as indicated in Fig. 4A atblock 45a. At the beginning ofthe bus route, thesystem 10 could be configured to automatically initialize itself upon power up of theVCU 12, and further, theunit 12 could be programmed to make initial contact with theBSCU 14 afterthebus 19 moves a predefined distance, such as 1/8 mile, as determined by theodometer sensor 25a.This initialization action causes themicroprocessor controller 16 to telephone theBSCU 12 to informtheBSCU 12 that thebus 19 is beginning its route and to initialize the BSCU 14 relative to theVCU 12.The foregoing action is indicated atflow chart block 45b (Fig. 4A). Alternatively, the bus driver canpress the start/reset switch 21 on theVCU 12 to initialize theVCU 12. 
- After initialization of theVCU 12, thedisplay module 33 preferably displays "StopNumber 1"followed by the amount of time to reachstop number 1. The time continuously runs as thebus 19progresses along the bus route. 
- Next, as indicated atflow chart block 45c (Fig. 4A), theVCU 12 determines, continuously orperiodically, if thebus 19 is on time by analyzing the status of devices 21-25 (Fig. 1) in view of plannedroute data (derived from initialization). In the preferred embodiment, theVCU 12 at least compares itselapsed time from the clock 24 (Fig. 1) with its scheduled time from the planned route data. When thebus 19 is on time, theVCU 12 does not contact theBSCU 14, and theBSCU 14 commences callingstudents at the predefined time prior to arrival of thebus 19 at the particular bus stop, as indicated inflow chart block 45e (Fig. 4A). In the example of Fig. 4B, at five minutes along the scheduled route, theBSCU 14 places a telephone call to thehomes 36 of the school children to be picked up atbus stopnumber 1. 
- However, when theVCU 12 determines that thebus 19 is early or late at this juncture, theVCU12 contacts theBSCU 14, as indicated atflow chart block 45d (Fig. 4A), and theBSCU 14 adjusts itsstudent calling lists accordingly so that the students are called in accordance with the predefined timenotice, e.g., five minutes. 
- Further, as indicated atflow chart block 45f (Fig. 4A), theVCU 12 again determines, continuously or periodically, if thebus 19 is on time by analyzing the devices 21-25 (Fig. 1). Preferably,in this regard, theVCU 12 at least compares its elapsed time with its scheduled time. 
- Back to the example of Fig. 4B, at ten minutes along the schedule, thebus 19 arrives at thebusstop number 1 and takes one minute to load all the students at this stop onto thebus 19. Just prior toleavingstop 1, the bus driver actuates the move forward switch 22. Upon actuating the move forwardswitch 22, thedisplay module 33 preferably displays "StopNumber 2" followed by the amount of timeto reachstop number 2. The foregoing feedback signal may be generated by one of thesensors 25a-25eso that the bus driver need not actuate the move forward switch 22. 
- In accordance withflow chart block 45f (Fig. 4A), themicroprocessor controller 16 checks theelapsed time of eleven minutes to confirm that such time corresponds to the programmed time forbusstop number 1. It will determine whether thebus 19 is early or late. If thebus 19 is either early or late,theVCU 12 will call theBSCU 14 to inform theunit 14 of this fact, as indicated at flow chart blocks 45gand 45h (Fig. 4A). If thebus 19 is on time, then theVCU 12 will continue to monitor the inputs fromdevices 21-25, as indicated inflow chart block 45j. In the example of Fig. 4B, it is assumed that thebus19 is neither early nor late in leavingbus stop number 1. 
- Because thebus 19 is scheduled to arrive atbus stop number 2 at sixteen minutes along theroute, at eleven minutes along the route theBSCU 14 places telephone calls to thehomes 36 of theschool children who board thebus 19 atbus stop number 2, as indicated atflow chart block 45k (Fig.4A). 
- Thebus 19 then arrives atbus stop number 2 and commences the boarding of students.However, because one of the school children is running late that particular morning, thebus 19 spendsthree minutes atbus stop number 2, and, thus, gets three minutes behind schedule. Thus, the bus departsat twenty minutes along the route. 
- At this time, theVCU 12 makes an inquiry as to whether there are any more bus stops, asindicated inflow chart block 451. If so, then theVCU 12 again monitors its travel status by checkingdevices 21-25 (Fig. 1), in accordance withflow chart block 45f (Fig. 4A). If not, then theVCU 12notifies theBSCU 14 of the end of the route, as indicated atflow chart block 45m. 
- In the example of Fig. 4B, upon receiving the information that thebus 19 is late, themicroprocessor controller 16 compares the departure time to the scheduled departure time of seventeenminutes, pursuant toflow chart block 45f (Fig. 4A), and determines that thebus 19 is three minutesbehind schedule, in accordance with flow chart blocks 45g (Fig. 4A). Themicroprocessor controller 16then telephones theBSCU 14 to inform theBSCU 14 that thebus 19 is three minutes behind schedule,as indicated inflow chart block 45h (Fig. 4A). A fleet operator's screen associated with theBSCU 14 isupdated to reflect the status of thelate bus 19, as indicated atflow chart block 45i (Fig. 4A). Moreover,as indicated atflow chart block 45d (Fig. 4A), theBSCU 14 then reschedules the telephone calls that are to be made to the parents of the students atbus stop number 3 from twenty-two minutes along the routeto twenty-five minutes along the route and resets theVCU 12 to seventeen minutes along the route, thescheduled time for the bus to leavebus stop number 2. 
- At twenty minutes along the route, theBSCU 14 calls thestudent homes 36 of the studentscorresponding tobus stop number 3, in accordance withflow chart block 45k (Fig. 4A), to inform themthat thebus 19 is five minutes from arriving. At twenty-five minutes along the route, thebus 19 arrivesatbus stop 3, takes one minute to load the students on to thebus 19 and then proceeds onto the school. 
- At this time, theVCU 12 makes an inquiry as to whether there are any more bus stops, asindicated inflow chart block 451. In the example of Fig. 4B, there are no more stops and, accordingly,theVCU 12 notifies theBSCU 14 of the end of the route, as indicated atflow chart block 45m. 
- Finally, worth noting is that thesystem 10 may be configured so that if abus 19 becomesdelayed by more than a maximum length of time, such as fifteen minutes, theBSCU 14 immediatelycalls thehomes 36 of the remaining students to board thebus 19 in order to notify thesehomes 36 of theunusual delay and to notify thesehomes 36 to wait for a notification call. 
III.Control Programs- Figs. 5 through 7 show flow charts pertaining to control programs that implement controlprocesses or algorithms of theadvance notification system 10 of Fig. 1 in order to achieve thefunctionality as set forth in Figs. 4A and 4B as described hereinbefore. These flow charts illustrate thebest mode for practicing the invention at the time of filing this document. More specifically, Fig. 5illustrates a basestation control program 46 employed in theBSCU 14, and Figs. 6 and 7 showrespectively avehicle control program 76 and a VCUcall control program 101 implemented in theVCU12. The foregoing control programs implement merely examples of plausible control algorithms, and aninfinite number of control algorithms may be employed to practice the present invention. Furthermore, itshould be noted that the basestation control program 46 of Fig. 5 is implemented via software withinany conventional computer system, and thevehicle control program 76 of Fig. 6 and the VCUcallcontrol program 101 of Fig. 7 are both implemented via software run from RAM 44 (Fig. 3A) by themicroprocessor controller 16. However, these control operations need not be implemented in softwareand could be implemented perhaps in hardware or even manually by human interaction. 
A.Base Station Control Program- With reference to Fig. 5, the basestation control program 46 essentially comprises two controlsubprograms which run concurrently, namely, (a) avehicle communications program 47 and (b) astudent calling program 48. Thevehicle communications program 47 will be described immediatelyhereafter followed by thestudent calling program 48. 
1.Vehicle Communications Program- Thevehicle communications program 47 initially waits for a telephone call from one of theVCUs 12 located on one of the plurality ofbuses 19, as indicated by aflow chart block 51. Thevehiclecommunications program 47 is preferably capable of monitoring a plurality of telephone connections 26'for receiving information from a plurality ofbuses 19. As the number ofbuses 19 is increased, thenumber of telephone connections 26' which are monitored by thevehicle communications program 47should also be increased to an extent. 
- After the start of abus 19 along its route, therespective VCU 12 will initiate a telephone call totheBSCU 14, as indicated by thetelephone bell symbol 52. After theBSCU 14 receives the telephonecall, a string of symbols is exchanged between theVCU 12 and theBSCU 14 so as to validate thecommunication connection, as indicated in aflow chart block 53. In other words, theBSCU 14 ensuresthat it is in fact communicating with theVCU 12, andvice versa. 
- Next, as shown in aflow chart block 54, theBSCU 14 asks theVCU 12 for informationregarding (a) the time into the route and (b) the number designating the next stop. In addition,route data56 is obtained from a local data base. Theroute data 56 includes information pertaining to each bus stopand how much time it should take to reach each bus stop during the route. From theroute data 56 andthe information (a) and (b), as indicated previously, received from theVCU 12, theBSCU 14 candetermine whether thebus 19 is late or early, as indicated by flow chart blocks 57, 58, or whether thebus19 has just started its route, as indicated by aflow chart block 59. In the case where thebus 19 is late,theBSCU 14 advises theVCU 12 to reset its on-board clock 24 back so that it thinks it is on time, asindicated in aflow chart block 61. In the case where thebus 19 is early, theBSCU 14 advises theVCU12 to move its on-board clock 24 forward so that theVCU 12 thinks it is on time, as indicated inflowchart block 62. Moreover, in the situation where thebus 19 has just started its route and the telephonecall is essentially the first call of the route, thebase station clock 28 and the on-board vehicle clock 24are synchronized, as indicated in aflow chart block 63. 
- Finally, as shown in aflow chart block 64, theBSCU 14 informs theVCU 12 to terminate thetelephone call, which was initiated in theflow chart block 51. Thevehicle communications program 47then proceeds once again to theflow chart block 51, where it will remain until receiving anothertelephone call from thebus 19. 
- Worth noting from the foregoing discussion is the fact that theBSCU 14 is the ultimatecontroller of theadvance notification system 10 from a hierarchical vantage point. Thebase stationclock 28 maintains the absolute time of theadvance notification system 10, while thevehicle clock 24assumes a subservient role and is periodically reset when thebus 19 is at the start of a route or when thebus 19 is either early or late during the route. Further, it should be noted that theVCU 12 communicates to theBSCU 14only (a) when thebus 19 is at the start of a route, (b) when thebus 19 is either early orlate during the route, and (c) when thebus 19 completes its route, so as to minimize the amount of timeon the mobile telephone network and associated costs thereof. 
2.Student calling program- As previously mentioned, thestudent calling program 48 runs concurrently with thevehiclecommunications program 47 within theBSCU 14. In essence, thestudent calling program 48 uses thetiming information retrieved from thebus 19 by thevehicle communications program 47 in order to callstudents and inform them of the approachingbus 19. Astudent list 66 is locally accessible from a localdata base by theBSCU 14 and comprises information regarding (a) student names, (b) student telephonenumbers, and (c) the time into a bus route when a student should be called via telephone. In accordancewith thestudent calling program 48, as indicated in aflow chart block 67, thestudent list 66 is consultedas time progresses and telephone numbers are retrieved. When a particular time for calling a particularstudent is reached, thestudent calling program 48 initiates a telephone call to the particular student, asshown in flow chart blocks 68, 69. The telephone call can be made by using a distinctive telephone ringor a predefined number of rings, as described previously. Moreover, the particular time is fullyselectable by programming. 
- Also worth noting is that the program can also include a feature for monitoring calls to be placedin the future. In accordance with this feature, upon anticipation of a heavy load of calls, some of thecalls would be initiated earlier than the originally scheduled, corresponding call time. 
- After the bus route has been completed by thebus 19, the particular bus and bus route areremoved from consideration, as indicated by flow chart blocks 71, 72. Otherwise, thestudent callingprogram 48 returns to thestudent list 66 and searches for the next student to be called. 
- As further shown in Fig. 5, anevent list 73 is maintained for diagnostics and system monitoring.Theevent list 73 receives data from both thevehicle communications program 47 and thestudentcalling program 46. Theevent list 73 essentially comprises records of, among other things, all telephonecalls and all past and current bus locations. 
B.Vehicle Control Program- Reference will now be made to thevehicle control program 76 shown in Fig. 6. Initially, asindicated in theflow chart block 77 of thevehicle control program 76, theVCU 12 runs through aninitiation procedure in which the first stop number is retrieved, the stop time (time necessary to travel tothe next stop) is retrieved, and the time into the route as indicated by theclock 24 is set at zero and theclock 24 is started. After the foregoing initialization procedure, a call is initiated via thetransceiver 18to theBSCU 14, as indicated by thebell symbol 78. After the connection, theVCU 12 and theBSCU 14 exchange information as described hereinbefore and which will be further described hereinafter relativeto Fig. 7. 
- Next, as shown in Fig. 6, thevehicle control program 76 begins a looping operation wherein theVCU 12 continuously monitors the switches 21-23,clock 24, andsensors 25a-25e, if present, todetermine whether thebus 19 is early or late. As mentioned previously, thevehicle control program 76initiates a call only at start-up of a route, or when thebus 19 is either early or late, and not when thebus19 is on time. 
- While in the main looping operation, a determination is first made as to whether thebus 19 hasreached the end of the route, as indicated in a decisionalflow chart block 81. If thebus 19 is at the endof its route, then thevehicle control program 76 stops, as indicated in aflow chart block 82, and does notstart unless the start/reset switch 21 is triggered by the bus driver. Otherwise, theprogram 76 continuesand makes a determination as to whether thebus 19 is late for the next stop, as indicated in a decisionalflow chart block 83. In the preferred embodiment, thebus 19 is considered late if thebus 19 arrives at astop more than a predetermined late time period, such as 50 seconds, after when it should have arrived.If thebus 19 is late, then a call is initiated to theBSCU 14, as shown by abell symbol 84 in Fig. 7. 
- If the bus is not late, then theprogram 76 determines whether any of theswitches 21, 22, 23have been actuated, as indicated in a decisionalflow chart block 86. If none of theswitches 21, 22, 23have been actuated, then theprogram 76 will loop back around and beginflow chart block 81 onceagain. Otherwise, if actuation of aswitch 21, 22, 23 is detected, then theprogram 76 will determinewhich of theswitches 21, 22, 23 has been actuated. 
- First, theprogram 76 will determine whether the move forward switch 22 has been actuated, asindicated in the decisionflow chart block 87. If the bus driver has actuated the move forward switch 22,then theVCU 12 will retrieve the next stop number and corresponding stop time, as indicated inflowchart block 88, from a local data base having theroute data 56. Moreover, a decision will be made as towhether thebus 19 is early for that particular stop, as indicated in the decisionflow chart block 91. Inthe preferred embodiment, thebus 19 is considered early if thebus 19 arrives at a stop more than apredetermined early time period, such as 50 seconds, earlier than when it should have arrived. If the busis not early, then theprogram 76 will loop back and proceed again with theflow chart block 81.Otherwise, a call will be initiated to theBSCU 14 to inform theunit 14 that thebus 19 is early, asillustrated bybell symbol 92 in Fig. 7. 
- In the event that the bus driver has not actuated the move forward switch 22, theprogram 76proceeds to a decisionalflow chart block 93 wherein theprogram 76 determines whether the movebackward switch 23 has been actuated by the bus driver. If the move backward switch 23 has beenactuated, then theprogram 76 obtains the previous stop number and stop time, as indicated inflow chartblock 94, displays these values on the display screen, and loops back to begin again with theflow chart block 81. 
- In the event that the bus driver has not actuated the move backward switch 23, then theprogram76 determines whether the bus driver has actuated the start/reset switch 21, as indicated in the decisionalflow chart block 96. If the start/reset switch 23 has not been actuated by the bus driver, then theprogram76 loops back and begins again with theflow chart block 81. Otherwise, theprogram 76 loops back andbegins again with theflow chart block 77. 
C.VCU Call Control Program- When a call is initiated by theVCU 12 as indicated by thecall symbols 78, 84, 92, theVCU 12follows the VCUcall control program 101 as illustrated in Fig. 7. Initially, if a mobile telephone is usedby theVCU 12, the telephone number corresponding with theBSCU 14 is obtained from theEEPROM43, as indicated in aflow chart block 102. Other information is also obtained, including among otherthings, the particular bus number, bus serial number, and bus route. Next, the VCUcall control program101 sets a time out variable to keep track of how many times a communication connection has beeninitiated. The number n of allowable attempts is predetermined and is stored in theEEPROM 43. 
- After the time out variable has been implemented as indicated in theflow chart block 103, theVCUcall control program 101 causes thetransceiver 18 to be called, as indicated in theflow chart block104. Thecall control program 101 requires theVCU 12 to wait for a response from theBSCU 14. If theVCU 12 does not receive a response within a predetermined time out period, preferably 20 seconds, thenthe VCUcall control program 101 loops back and begins again at theflow chart block 103. Otherwise,when the VCUcall control program 101 determines that a response has been received, a validationprocedure ensues, as indicated in aflow chart block 108. The validation process indicated at theflowchart block 108 is that which was described previously relative to theflow chart block 53 of Fig. 5.Essentially, it involves the exchange of symbols in order to assure a proper connection. 
- At the commencement of the validation process, another time out variable is set and will triggertermination of the telephone connection after a predetermined time period has run. The initiation of thetime out variable and monitoring of the same is indicated in Fig. 7 atflow chart block 111. If the timeout variable triggers termination of the telephone connection, then the VCUcall control program 101will hang up and end the call, as illustrated by aflow chart block 114. Otherwise, when the validationprocedure has fully commenced, commands are passed from theBSCU 14 to theVCU 12, as shown by aflow chart block 112. Commands which may be sent to theVCU 12 include, for example, the following:(1) Is thebus 19 either early or late?; (2) Reset thevehicle clock 24; (3) Record new information in theEEPROM 43. It should be emphasized that theBSCU 14 may change the route information containedwithin theEEPROM 43 of theparticular bus 19. The foregoing features enables extreme flexibility oftheadvance notification system 10. 
- Furthermore, the VCUcall control program 101 determines whether theBSCU 14 has finishedits communication over the mobile telephone, as indicated in aflow chart block 113. Again, the VCUcall control program 101 utilizes another time out variable to determine whether theBSCU 14 hasfinished. After the predetermined time period of the time out variable, the VCUcall control program101 will assume that theBSCU 14 has terminated its communication, and accordingly, the VCUcallcontrol program 101 will hang up the telephone, as indicated in aflow chart block 114. Otherwise, theVCUcall control program 101 will loop back and begin with theflow chart block 111 in order to acceptanother command from theBSCU 14. 
IV.Management Of BSCU By A User- In the preferred embodiment of the invention, a user of thesystem 10 can communicate with andmanage theBSCU 14 of thesystem 10 through an interactive system, such as an interactive voiceresponse system (IVR) or other suitable communication system. This interactive system provides theuser with flexibility and control over the calling parameters and the ability to solicit information, i.e.,reports. When a user calls into thesystem 10, the user may (a) enroll and/or make changes to the callingparameters of theBSCU 14, including defining the preset notification time period when the user is toreceive a telephone call prior to arrival of thevehicle 29 at the stop (to thereby indicate impendingarrival of the vehicle 29), (b) obtain a vehicle progress report so as to check on vehicle delays or if theuser has missed the vehicle, and/or (c) receive a calling report on the last notification attempt. 
- Moreover, in accordance with a security feature of the present invention, theBSCU 14 isconfigured so that when a user requests any of the foregoing information, the telephone number of theuser telephone 29 is checked by theBSCU 14. If a user's telephone service has the commerciallyavailable feature typically known as "calling line identification," theBSCU 14 compares the caller'stelephone number with a previously-registered number (reference caller identification number) stored inthe student list database 66 (Fig. 5). If the incoming number does not match or if the telephoneconnection does not provide the calling line identification, then the user is prompted to enter his/hertelephone number to theBSCU 14. Moreover, the telephone number received by theBSCU 14 must bethe one registered in theBSCU 14 for the aforementioned options to be used. 
A.Call Rack Feature- Initially, in the preferred embodiment, when enrollment is requested by a user, theBSCU 14 ofthesystem 10 requests the user to enter its phone number, and the telephone number is registered. TheBSCU 14 then calls the user back at the telephone number registered in theBSCU 14 to confirm, beforethe user can change calling parameters or solicit information from theBSCU 14. 
- If a system user's telephone service has the commercially available feature typically known as "calling line identification," theBSCU 14 can recognize the directory number. In that case, theBSCU14 will not have to call the user back to register, and enrollment can continue. 
- Likewise, once registered and if a subscribing user with calling line identification requests to usean option, the telephone number does not have to be entered. The interactive voice response system(IVR) can recognize the number delivered through calling line identification. 
B.Initiation of System Use- The service provided by thesystem 10 can be started when the system user calls into theinteractive voice response system (IVR) from atelephone 29, preferably a touch-tone telephone. Thesystem user receives a prompt to enter his/her telephone number. The user hangs up, and theBSCU 14calls the system user back, unless calling line identification is in use as described previously. 
- Changes are only allowed if the telephone number derived from the calling line identificationmatches the BSCU registered number or if the entered telephone number matches the registered number. 
- An example illustrating the foregoing process follows. In the example, as well as the others thatfollow, thesystem 10 utilizes the trade name "Bus-Call," which is currently a federally registeredtrademark on the Principal Register at the United States Patent and Trademark Office. 
Example Session
- IVR:
- "Welcome to Bus-Call. Please enter your telephone number now."
- Sub:
- <Keypad numbers pressed>
- IVR:
- "The number you entered is xxx-xxxx. If this is correct, please press '1,' if not press '2'.The Bus-Call system will call you back within a couple of minutes. Thank you andplease hang up now."
- Sub:
- <Answers returned call>
- IVR:
- "Hello, thank you for using the Bus-Call system. Please press:- '1' to start the Bus-Call service to your home;
- '2' to change the notification time;
- '3' for the date and time of the last change made to Bus-Call."
 
C.Service Inception- In the preferred embodiment, with the implementation of the IVR, theBSCU 14 provides voiceprompts to guide the user through a telephone call when the user wishes to configure theBSCU 14 orretrieve information. 
- In the preferred configuration, voice prompts ask for the (a) bus number and the (b) stop number. These two pieces of information are usually given by the bus driver the first time the studentrides thebus 29. The information can be taken from the VCU display module 33 (Fig. 3A) of theVCU12 and/or written on a marketing brochure in which the student takes home. 
- Information can be entered into theBSCU 14 and retrieved from theBSCU 14, after the busnumber and stop number are confirmed, as theBSCU 14 will provide an appropriate options menu to thecaller. An example illustrating the foregoing process follows. 
Example Session
- Sub:
- <The system user calls in and enters the appropriate option to start Bus-Call service>
- IVR:
- "Please enter your bus number now."
- Sub:
- <Keypad number pressed>
- IVR:
- "The number you entered is xx. If this is correct please press '1.' If this number isincorrect please press '2.'"
- Sub:
- <Keypad number pressed>
- IVR:
- "Please enter your bus stop number now."
- Sub:
- <Keypad number pressed"
- IVR:
- The number you entered is xx. If this is correct please press '1.' If this number isincorrect, please press '2."'
- Sub:
- <Keypad number pressed>
D.Preset Notification Time Period- The preset notification time period mechanism 9 (Fig. 3B) permits the user to define a presetnotification time period when the user is to receive a telephone call prior to arrival of avehicle 19 at avehicle stop to thereby indicate impending arrival of thevehicle 19 at the stop. The preset notificationtime period can be provided by the user to BSCU 14 by depressing touch tone buttons on theusertelephone 29 or other telephone. 
- If the period is not prescribed by the user, the default for the notification time period is set to anysuitable period, such as five minutes. Moreover, the user prescribed time period or the default timeperiod is announced to the user. Finally, if a change of the preset notification time period is needed, theuser is prompted through the process. An example of the foregoing methodology is set forth hereafter. 
Example Session
- Sub:
- <The system user calls in and enters the appropriate option to start Bus-Call service>
- IVR:
- "Please enter your bus number now."
- Sub:
- <Keypad number pressed>
- IVR:
- "The number you entered is xx. If this is correct please press '1.' If this number isincorrect please press '2.'"
- Sub:
- <Keypad number pressed>
- IVR:
- "Please enter your bus stop number now."
- Sub:
- <Keypad number pressed"
- IVR:
- The number you entered is xx. If this is correct please press '1.' If this number isincorrect, please press '2.'"
- Sub:
- <Keypad number pressed>
- IVR:
- Bus-Call will ring your telephone five minutes before the bus arrives. If five minutes isnot enough time, press '1.' If five minutes is OK, press '2.'''
- Sub:
- <Keypad number pressed>
- IVR:
- "Thank you"
 or
 "Please enter the new notification time now."
 <Keypad number pressed>
 "The time you entered is xx minutes. If this is correct, press '1.' If this number isincorrect, press '2.'
 <Keypad number pressed>
 "Thank you."
D.Vehicle Progress Report- The vehicle progress report generator 13 (Fig. 3B) in theBSCU 14 allows a system user tosolicit information from theBSCU 14 pertaining to the progress of thevehicle 29 relative to its routeand/or relative to a particular stop. A system user may feel that thevehicle 29 was missed. By callingtheBSCU 14 and pressing the appropriate option, the IVR provides information about the currentvehicle location. 
Example Session
- IVR:
- "Press (3) if you think you have missed the bus."
- Sub:
- <Keypad (3) pressed>
- IVR:
- "Please enter your telephone number now."
- Sub:
- <Keypad numbers pressed>
- IVR:
- "The bus has..."
 "...Already passed your stop. The Bus-Call system called your telephone number at
 7:27 a.m. and received a busy signal. The bus stopped at 7:32 a.m."
 or
 "...Has not arrived and is approaching your stop in approximately 12 minutes."
E.Calling Report- The calling report generator 11 (Fig. 3B) in theBSCU 14 allows a system user to solicit acalling report from theBSCU 14. The calling report can indicate, among other things, the time(s) andoutcome(s) of any previous notification attempt(s) by theBSCU 14 to theuser telephone 29. TheBSCU14 can be programmed to make any number of attempts, but preferably, theBSCU 14 makes threeattempts to provide notification. 
Example Session
- IVR:
- "Press (4) if you would like a report on the last notification attempt."
- Sub:
- <Keypad (4) pressed>
- IVR:
- "Please enter your telephone number now."
- Sub:
- <Keypad numbers pressed>
- IVR:
- "The Bus-Call system called your telephone number at 7:15 a.m. on Monday, February20..."
 "...The call was answered."
 or
 "...The telephone was busy."
 or
 "...The telephone rang but was not answered."
 or
 "...The telephone number was not in service or called block was engaged."
- This callingreport generator 11 can also be configured to allow the system user to check on thelast changes made to the calling parameters. In this configuration, the IVR gives the change made andthe date the change was requested by the system user. 
- The present invention also relates to an advance notification method for notifying a person of animpending arrival of a vehicle at a vehicle stop, comprising the steps of: (a) monitoring travel of saidvehicle; and (b) initiating a telephone call to a telephone associated with said person before said vehicle reaches said vehicle stop to thereby indicate impending arrival of said vehicle at said vehicle stop; and(c) causing said telephone to exhibit a distinctive telephone ring sound that is associated with saidadvance notification method. 
- In this method, step (a) may include the step of monitoring a distance travelled by said vehicleand step (b) may include the step of initiating said telephone call to said telephone when said vehicle is apredetermined distance from said vehicle stop. 
- In this method, step (a) may include the step of monitoring a time travelled by said vehicle andstep (b) may include the step of initiating said telephone call to said telephone when said vehicle is apredetermined time period from said vehicle stop. 
- The present invention also relates to an advance notification system for providing a system userwith notification of an impending arrival of a vehicle at a vehicle stop, comprising: first means formonitoring travel of said vehicle; and second means for initiating a telephone call to a user telephoneassociated with said user before said vehicle reaches said vehicle stop to thereby indicate impendingarrival of said vehicle at said vehicle stop; and third means for causing said user telephone to exhibit adistinctive telephone ring sound that is associated with said advance notification system. 
- In this system, said first means may include a means for monitoring a distance travelled by saidvehicle and wherein said second means includes a means for initiating said telephone call to said usertelephone when said vehicle is a predetermined distance from said vehicle stop. 
- In this system, said first means may include a means for monitoring a time travelled by saidvehicle and wherein said second means includes a means for initiating said telephone call to said usertelephone when said vehicle is a predetermined time period from said vehicle stop. 
- It will be obvious to those skilled in the art that many modifications may be made to thepreferred embodiment of the present invention, as set forth above, within the scope of the presentinvention, as defined in the following claims.