Notification system and method that informs a party of vehicle delay

An advance notification system and method notifies passengers of the impending arrival of a transportation vehicle, for example, a school bus, at a particular vehicle stop. The system generally includes an on-board vehicle control unit for each vehicle and a base station control unit for making telephone calls to passengers in order to inform the passengers when the vehicle is a certain predefined time period and/or distance away from the vehicle stop. The VCU compares elapsed time and/or traveled distance to the programmed scheduled time and/or traveled distance to determine if the vehicle is on schedule. If the vehicle is behind or ahead of schedule, the VCU calls the BSCU, which then adjusts its calling schedule accordingly.

FIELD OF THE INVENTION

The present invention generally relates to data communications and information systems and, more particularly, to advance notification systems and methods for notifying users in advance of the impending arrival of a vehicle or user, for example but not limited to, a bus, train, delivery van, plane, fishing vessel, or other vessel at a particular vehicle stop.

BACKGROUND OF THE INVENTION

There are many situations when it is desirable for people to know of the approximate arrival time of a particular transportation vehicle shortly before the vehicle is to arrive at a particular destination. For example, a person having to pick up a friend or relative at a commercial bus station either has to call the bus station to find out the approximate arrival time (information which is oftentimes unavailable) or plan on arriving at the bus station prior to the scheduled arrival time of the bus and hope the bus is not delayed.

Another example is in the commercial fishing industry, wherein fish markets, restaurants, and other establishments desire to purchase fish immediately upon arrival of a commercial fishing boat at a port. Currently, such establishments, in order to ensure being able to purchase the freshest catch often depend on predetermined schedules of fishing fleets, which are not always accurate or reliable.

Still another example involves school children that ride school buses. School children who ride buses to school often have to wait at their bus stops for extended lengths of time because school buses arrive at particular bus stops at substantially different times from one day to the next. The reason is that school buses are not always the best-maintained vehicles on the roads, frequently operate during rush hour traffic, and must contend with congested urban/suburban conditions. As a result, school children are forced to wait at their bus stops for long periods of time, oftentimes in adverse weather conditions, on unlit street comers, or in hazardous conditions near busy or secluded streets. If it is raining, snowing, windy and cold, and/or even dark, such conditions can be unhealthy and unsafe for children.

Thus, generally, it would be desirable for a user to know when a vehicle (such as a bus, truck, train, plane, or the like) is (a) a particular time period (for example, number of minutes or seconds) away from arriving at a destination, (b) a particular distance (for example, number of miles or height) away from the destination, or (c) at a particular location among a set of location points, so that the user can adjust his/her schedule and avoid arriving too early or too late.

In the past, in order to combat the arrival time problem in the context of school buses, student notification systems have been employed that use a transmitter on each bus and a receiver inside each student home. U.S. Pat. No. 4,713,661 to Boone et al. and U.S. Pat. No. 4,350,969 describe systems of this type. When the school bus and its on-board transmitter come within range of a particular home receiver, the transmitter sends a signal to notify the student that his/her school bus is nearby. While such notification systems work satisfactorily under certain circumstances, nevertheless, these systems are limited by the range of the transmitters and require the purchase of relatively expensive receivers for each student. In addition, such systems provide little flexibility for providing additional information to the students, such as notifying them of the delayed arrival of a bus, alternative bus route information, or information regarding important school events.

SUMMARY OF THE INVENTION

An object of the present invention is to overcome the deficiencies and inadequacies of the prior art as noted above and as generally known in the industry.

Another object of the present invention is to provide an advance notification system and method for 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 method for according advance notification to school students of the impending arrival of a school bus at a particular vehicle stop.

Another object of the present invention is to provide an advance notification system and method for inexpensively 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 that is reliable 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 passengers of an impending arrival of a vehicle as the vehicle progresses along a scheduled route with particular stop locations and corresponding scheduled times of arrival at the stop locations. The advance notification system generally comprises a vehicle control unit (VCU) disposed on each vehicle and a base station control unit (BSCU) which is configured to communicate with all of the vehicle control units and with passenger telephones.

The VCU includes a vehicle control mechanism, a vehicle communication mechanism controlled by the vehicle control mechanism, a vehicle clock for tracking elapsed time of the vehicle while on the scheduled route to determine when the vehicle is early, late, and on time along the scheduled 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 along the route, and optional sensors (e.g., positioning system input, etc.) for signaling 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 utilizing the vehicle communication mechanism when the elapsed time and/or traveled distance of the vehicle at any of the particular positions is either ahead or behind the scheduled time and/or distance. In the preferred 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 mechanism for controlling the base station communication mechanism. The base station communication mechanism receives the call from the VCU and receives the amount of time and/or distance in which the vehicle is ahead or behind relative to the schedule. The base station control mechanism causes calls to be made to each of the passengers to be boarded at a particular stop location via the base station communication mechanism prior to the arrival of the vehicle at the particular stop location. In the preferred embodiment, the base station communication mechanism is a wireless communication device, such as a mobile telephone or RF transceiver (includes both transmitter and receiver), for communicating with the vehicle communication mechanism and also comprises at least one telephone for calling passenger telephones.

In accordance with a significant feature of the present invention, the telephone call to advise a passenger of the impending arrival of the vehicle preferably can exhibit a distinctive telephone ring sound so that the call recipient need not answer the telephone in order to receive the message. Moreover, the distinctive telephone ring sound can be coded by any sequence and duration of rings and/or silent periods.

It should be emphasized that while the present invention is particularly suited for application to school buses, there are many other applications. As examples, the advance notification system and method 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 the following specification, when read in conjunction with the accompanying drawings. All such additional objects, features, and advantages are intended to be included herein.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The features and principles of the present invention will now be described relative to preferred embodiments thereof. It will be apparent to those skilled in the art that numerous variations or modifications may be made to the preferred embodiments without departing from the spirit and scope of the present invention. Thus, such variations and modifications are intended to be included herein within the scope of the present invention, as set forth and defined in the claims.

I. System Architecture

Referring now in more detail to the drawings, wherein like reference numerals designate corresponding parts throughout the several views;FIG. 1is a schematic diagram of the advance notification system10of the present invention, as configured to operate for example, but not limited to, a school bus system.

The advance notification system10includes, preferably, a plurality of on-board vehicle control units (VCU)12, a single base station control unit (BSCU)14, and a plurality of passenger telephones29. As configured in the school bus system10, a VCU12is installed in each of a plurality of school buses19, all of which communicate with the single BSCU14. Moreover, the BSCU14communicates with the telephones29at one or more passenger locations36, or student homes in the present exemplary application.

A. Vehicle Control Unit

The VCU12will now be described with reference toFIGS. 1,2, and3. Referring first toFIG. 1, each VCU12includes a microprocessor controller16, preferably a model MC68HC705C8P microprocessor controller that is manufactured by and commercially available from the Motorola Corporation, USA. The microprocessor controller16is electrically interfaced with a communication mechanism18, preferably a wireless communication device, for enabling intercommunication of data with the BSCU14. Examples of suitable wireless communication devices include a mobile telephone (e.g., cellular) and a transceiver (having both a transmitter and a receiver) operating at a suitable electromagnetic frequency range, perhaps the radio frequency (RF) range.

In the embodiment using a wireless RF transceiver as the communication mechanism18, data can be sent in bursts in the form of in-band tones, commonly called “twinkle tones”. These tone bursts can occur in the background of an existing voice channel. Twinkle tones are oftentimes used in transportation systems, such as taxicab communications systems.

The microprocessor controller16is electrically interfaced with a start/reset switch21, a move forward switch22, a move backward switch23, a clock24, and optionally, sensors25a-25d.Generally, vehicle tracking is accopmlished by monitoring the control switches21-23, the sensors25a-25e,the power to the controller16, and a route database (FIG.5). It is recommended that all of the foregoing features be employed to provide redundant checking.

More specifically, the start/reset switch21can be actuated by the bus driver upon starting along the bus's scheduled route to initialize the system10. The move forward switch22can be actuated by the bus driver upon reaching a bus stop in order to inform the VCU12that a stop has been made, the details of which will be further described hereinafter. The move backward switch23can be actuated by the bus driver at a bus stop if the bus driver has erroneously toggled the move forward switch22too many times, as will be further described in detail hereinafter. This indicates to the microprocessor controller16that a display module33and memory must be updated. In essence, the move forward switch22and the move backward switch23cause the next stop designation which is displayed on the display module33and stored in the VCU12to toggle forward and backward, respectively.

The VCU12can be configured so that the operation of the start/reset switch21, the move forward switch, and the move backward switch23are purely optional by the bus driver. In this configuration, the sensors25a-25eautomatically accomplish the aforementioned functions of the switches21-23. However, in certain cases, the bus driver may want to use the switches to override the sensors25a-25e.One of these cases may be when a student rides a bus only two out of five school days. Rather than program the VCU12to track these unnecessary stops, the driver may manually control the stop number by the switches21-23.

The clock24tracks the elapsed time as the bus travels along its scheduled route and feeds the timing information to the microprocessor controller16.

The display module33informs the bus driver as to the number corresponding to the next stop and the time (preferably, in seconds) necessary to reach the next stop. Other types of information may also be displayed on the display module33. For example, the display module33may display the amount of time that the bus19is ahead of or behind schedule, the status of the VCU12in communication with the BSCU14, or, upon actuation of the start button21, that the advance notification system10is operating.

The optional sensors25a-25einclude an odometer sensor25afor determining distance into a route. The sensor25acan be connected to the bus drive shaft and counts revolutions. This data can be used to determine the stop number.

A door sensor25bcan be used to count the number of door operations (opening/closing) of the front door24of the school bus19, which should correspond with the number of stops.

A swing arm sensor25ccan be implemented to count the number of times the arm operates. This operation should coincide with the number of stops.

A bus stop sign sensor25dcan be utilized to count the number of times the bus stop sign operates. This operation should coincide with the number of stops.

A positioning system25ecan be used to determine the geographical position of the bus19on the earth's surface. The positioning system25ecould be the GPS (global positioning system), the LORAN positioning system, the GLONASS positioning system (USSR version of GPS), or some other similar position tracking system.

FIG. 2is a high level schematic circuit diagram of the VCU12. The VCU12is designed to be a compact unit with a generally rectangular housing34that is mounted preferably on or in front of the dashboard of the bus19in view and within reach of the bus driver. In the housing34, the microprocessor controller16is interfaced with the transceiver18by a transceiver jack31(preferably a conventional 8-conductor telephone jack when transceiver18is a mobile telephone), and the transceiver18includes an antenna32for transmitting and receiving signals to and from the BSCU14. Further, the VCU12includes a liquid crystal display (LCD) module33disposed for external viewing of the display by the bus driver for providing information to the bus driver, as described previously.

FIG. 3is a more detailed schematic circuit diagram of the electronic components associated with the VCU12. The microprocessor controller16essentially controls the operation of the transceiver18and the LCD display module33. A switching element37, such as an optical isolator (opto isolator) unit37, provides a buffer between the microprocessor controller16and the battery35as well as switches21,22,23. An EEPROM43is provided for storing the control programs (FIGS. 6 and 7) and other requisite data for the microprocessor controller16, and a RAM44is provided for running the control programs in the microprocessor controller16. A matrix keyboard emulator39is interfaced between the transceiver18and the microprocessor controller16for allowing the microprocessor controller to control and transmit signals over the transceiver18. Further, a dual tone multiple frequency decoder41is interfaced between the mobile telephone18and the microprocessor controller16for decoding modem signals, or tones, received by the mobile telephone18from the BSCU14.

B. Base Station Control Unit

The BCSU can be implemented by any conventional computer with suitable processing capabilities. The BCSU14can communicate to the homes of students via, for example but not limited to, any of the following interfaces: (a) dialing through multiple port voice cards to the passenger telephones29; (b) communication using a high-speed switch-computer applications interface (SCAI) to a digital switch operated by a telephone utility company; the SCAI adheres to the conventional OSI model and supports the carrying of application information in an application independent fashion; and (c) communication using an analog display services interface (ADSI) maintained by a telephone utility company. ADSI is a cost effective technology that delivers voice and data information between a telephone terminal and a digital switch or server using existing copper telephone lines.

In the preferred embodiment, the BSCU14communicates through multiple port voice cards to passenger telephones29. In this regard, a set of conventional voice processing cards are utilized for communicating with one or more student homes, as depicted inFIG. 1as passenger locations36. The system10could be configured to merely call prospective passengers, thus warning them of the impending arrival of a bus19, as opposed to forwarding both a call and a message. In the preferred embodiment, the BSCU14includes at least one communication mechanism26and associated line26′, dedicated for communication with the VCUs12. However, as mentioned previously, the BSCU14may be designed to communicate with the VCUs12via any suitable wireless communication device, in which case, the BSCU14would include a corresponding transceiver having the ability to receive a plurality of signals from the plurality of vehicles19.

The BSCU14also includes at least one, but preferably a plurality of telephones27(or other suitable communication interface) with associated telephone lines27′, for making the telephone calls to the passenger locations36, or in this case, the homes36of the students and allow the telephone to ring predefined number of times so that it is not necessary for the telephone to be answered in order for the telephone call to be recognized as that of the advance notification system10.

The calling program (FIG. 7) associated with the advance notification system10can also be configured to make the passenger telephone29exhibit a distinctive telephone ring sound, or pattern, so that the call recipient need not answer the telephone in order to receive the message. The distinctive telephone ring can be coded by any sequence and duration of rings and/or silent periods. A standard ring signal that is sent to a telephone from the telephone utility company is typically a periodic electrical analog signal having a frequency of 20 Hz and a peak-to-peak voltage amplitude of −48 volts. The ring signal is asserted on the telephone connection29′ 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 of rings and/or silent periods.

Implementation of a distinctive telephone ring can be accomplished by purchasing this feature from a telephone utility company. This feature is widely available to the public. Generally, telephone utility companies operate network switches, now usually digital, that serve as interfaces for telephonic communications. A particular geographic region is typically allocated to a particular switch(s). In essence, one or more distinctive telephone rings can be driven by software running in the switches to a particular telephone. Examples of switches that a recommercially available to telephone utility companies are as follows: a model DMS 100 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 several different commercial trade names, depending upon the telephone utility company. Examples are as follows: Call Selector by Northern Telecom, Canada; Ringmaster by Bell South, U.S.A.; Smartlink by SNET, 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 the base station unit14, a prerecorded message may be played by the BSCU14. An example of such a message would be: “The bus will arrive in five minutes,” as indicated inFIG. 1at the reference numeral30.

II. System Operation

Initially, the bus schedule for each bus19is programmed into the advance notification system10by having the respective bus driver drive his respective bus one time along the corresponding scheduled bus route at the approximate speed the bus would usually travel on the route and with the bus driver making all the scheduled stops along the route and waiting at each stop for the approximate time it would take for all the students at that stop to board the bus19. As the bus driver drives the bus19along the route for initialization purposes, the internal real time clock24runs and the bus driver actuates the switches21,22,23as required in accordance with the principles described previously. The timing information is recorded in the memory (RAM44and EEPROM43) of the VCU12.

The timing information which is recorded during the initialization of the system10is used as a reference during the usual operation of the system10for the purpose of determining whether a bus19is early or late at each of the bus stops. In the preferred embodiment, determining the status (i.e., early, on time, late) of a bus19is accomplished by comparing the time at which a bus19actually departs from a stop to the scheduled time of departure.

However, it should be emphasized that other methodologies could be utilized for determining whether the bus19is early or late at an instance in time. For example, the odometer25aof the bus19, as indicated by phantom lines inFIG. 1, could be monitored by the microprocessor controller16. At particular times, the odometer mileage reading could be compared to reference odometer mileage readings which were obtained during the initialization of the system10. In this way, the determination of whether a bus19is early or late can occur at any time during a bus route and can occur as many times as desired.

Another methodology which could be utilized for determining whether the bus19is early or late involves interfacing the VCU12with the positioning system25e,as shown inFIG. 1by phantom lines. From the geographical position data received from the positioning system25e,the microprocessor controller16could determine where the bus19is situated on the earth at any given time. The bus location at a particular time could then be compared with scheduled locations and scheduled times in order to determine whether the bus19is early or late and by what amount.

B. Regular Operation

The overall operation of the advance notification system10will be described with reference toFIGS. 4A and 4B.FIG. 4Asets forth a flow chart showing the overall operation after the system10has been initialized.FIG. 4Bshows an example of a schedule of possible events and the interactions which might occur between the VCU12and the BSCU14as the bus19travels along its scheduled route and makes its scheduled stops.

InFIG. 4B, the left hand column illustrates the sequence of events for the BSCU14, and the right hand column illustrates the sequence of events on the VCU12. Between the right and left hand columns is 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 inFIG. 4Aat block45a.At the beginning of the bus route, the system10could be configured to automatically initialize itself upon power up of the VCU12, and further, the unit12could be programmed to make initial contact with the BSCU14after the bus19moves a predefined distance, such as ⅛ mile, as determined by the odometer sensor25a.This initialization action causes the microprocessor controller16to telephone the BSCU12to inform the BSCU12that the bus19is beginning its route and to initialize the BSCU14relative to the VCU12. The foregoing action is indicated at flow chart block45b(FIG.4A). Alternatively, the bus driver can press the start/reset switch21on the VCU12to initialize the VCU12.

After initialization of the VCU12, the display module33preferably displays “Stop Number1” followed by the amount of time to reach stop number1. The time continuously runs as the bus19progresses along the bus route.

Next, as indicated at flow chart block45c(FIG.4A), the VCU12determines, continuously or periodically, if the bus19is on time by analyzing the status of devices21-25(FIG. 1) in view of planned route data (derived from initialization). In the preferred embodiment, the VCU12at least compares its elapsed time from the clock24(FIG. 1) with its scheduled time from the planned route data. When the bus19is on time, the VCU12does not contact the BSCU14, and the BSCU14commences calling students at the predefined time prior to arrival of the bus19at the particular bus stop, as indicated in flow chart block45e(FIG.4A). In the example ofFIG. 4B, at five minutes along the scheduled route, the BSCU14places a telephone call to the homes36of the school children to be picked up at bus stop number1.

However, when the VCU12determines that the bus19is early or late at this juncture, the VCU12contacts the BSCU14, as indicated at flow chart block45d(FIG.4A), and the BSCU14adjusts its student calling lists accordingly so that the students are called in accordance with the predefined time notice, e.g., five minutes.

Further, as indicated at flow chart block45f(FIG.4A), the VCU12again determines, continuously or periodically, if the bus19is on time by analyzing the devices21-25(FIG.1). Preferably, in this regard, the VCU12at least compares its elapsed time with its scheduled time.

Back to the example ofFIG. 4B, at ten minutes along the schedule, the bus19arrives at the bus stop number1and takes one minute to load all the students at this stop onto the bus19. Just prior to leaving stop1, the bus driver actuates the move forward switch22. Upon actuating the move forward switch22, the display module33preferably displays “Stop Number2” followed by the amount of time to reach stop number2. The foregoing feedback signal may be generated by one of the sensors25a-25eso that the bus driver need not actuate the move forward switch22.

In accordance with flow chart block45f(FIG.4A), the microprocessor controller16checks the elapsed time of eleven minutes to confirm that such time corresponds to the programmed time for bus stop number1. It will determine whether the bus19is early or late. If the bus19is either early or late, the VCU12will call the BSCU14to inform the unit14of this fact, as indicated at flow chart blocks45gand45h(FIG.4A). If the bus19is on time, then the VCU12will continue to monitor the inputs from devices21-25, as indicated in flow chart block45j.In the example ofFIG. 4B, it is assumed that the bus19is neither early nor late in leaving bus stop number1.

Because the bus19is scheduled to arrive at bus stop number2at sixteen minutes along the route, at eleven minutes along the route the BSCU14places telephone calls to the homes36of the school children who board the bus19at bus stop number2, as indicated at flow chart block45k(FIG.4A).

The bus19then arrives at bus stop number2and commences the boarding of students. However, because one of the school children is running late that particular morning, the bus19spends three minutes at bus stop number2, and, thus, gets three minutes behind schedule. Thus, the bus departs at twenty minutes along the route.

At this time, the VCU12makes an inquiry as to whether there are any more bus stops, as indicated in flow chart block45l.If so, then the VCU12again monitors its travel status by checking devices21-25(FIG.1), in accordance with flow chart block45f(FIG.4A). If not, then the VCU12notifies the BSCU14of the end of the route, as indicated at flow chart block45m.

In the example ofFIG. 4B, upon receiving the information that the bus19is late, the microprocessor controller16compares the departure time to the scheduled departure time of seventeen minutes, pursuant to flow chart block45f(FIG.4A), and determines that the bus19is three minutes behind schedule, in accordance with flow chart blocks45g(FIG.4A). The microprocessor controller16then telephones the BSCU14to inform the BSCU14that the bus19is three minutes behind schedule, as indicated in flow chart block45h(FIG.4A). A fleet operator's screen associated with the BSCU14is updated to reflect the status of the late bus19, as indicated at flow chart block45i(FIG.4A). Moreover, as indicated at flow chart block45d(FIG.4A), the BSCU14then reschedules the telephone calls that are to be made to the parents of the students at bus stop number3from twenty-two minutes along the route to twenty-five minutes along the route and resets the VCU12to seventeen minutes along the route, the scheduled time for the bus to leave bus stop number2.

At twenty minutes along the route, the BSCU14calls the student homes36of the students corresponding to bus stop number3, in accordance with flow chart block45k(FIG.4A), to inform them that the bus19is five minutes from arriving. At twenty-five minutes along the route, the bus19arrives at bus stop3, takes one minute to load the students on to the bus19and then proceeds onto the school.

At this time, the VCU12makes an inquiry as to whether there are any more bus stops, as indicated in flow chart block45l.In the example ofFIG. 4B, there are no more stops and, accordingly, the VCU12notifies the BSCU14of the end of the route, as indicated at flow chart block45m.

Finally, worth noting is that the system10may be configured so that if a bus19becomes delayed by more than a maximum length of time, such as fifteen minutes, the BSCU14immediately calls the homes36of the remaining students to board the bus19in order to notify these homes36of the unusual delay and to notify these homes36to wait for a notification call.

III. Control Processes

FIGS. 5 through 7show flow charts pertaining to control processes or algorithms performed in the advance notification system10ofFIG. 1in order to achieve the functionality as set forth inFIGS. 4A and 4Bas described hereinbefore. These flow charts illustrate the best mode for practicing the invention at the time of filing this document. More specifically,FIG. 5illustrates a base station control process46employed in the BSCU14, andFIGS. 6 and 7show respectively a vehicle control process76and a telephone call control process101implemented in the VCU12. The foregoing control processes are merely examples of plausible control algorithms, and an infinite number of control algorithms may be employed to practice the present invention. Furthermore, it should be noted that the base station control process46ofFIG. 5is implemented via software within any conventional computer system, and the vehicle control process76of FIG.6and the telephone call control process101ofFIG. 7are both implemented via software stored within memory and are run by the microprocessor controller16. However, these control operations need not be implemented in software and could be implemented perhaps in hardware or even manually by human interaction.

A. Base Station Control Process

With reference toFIG. 5, the base station control program46essentially comprises two control subprocesses which run concurrently, namely, (a) a vehicle communications process47and (b) a student calling process48. The vehicle communications process47will be described immediately hereafter followed by the student calling process48.

1. Vehicle Communications Process

The vehicle communications process47initially waits for a telephone call from one of the VCUs12located on one of the plurality of buses19, as indicated by a flow chart block51. The vehicle communications process47is preferably capable of monitoring a plurality of telephone connections26′ for receiving information from a plurality of buses19. As the number of buses19is increased, the number of telephone connections26′ which are monitored by the vehicle communications program47should also be increased to an extent.

After the start of a bus19along its route, the respective VCU12will initiate a telephone call to the BSCU14, as indicated by the telephone bell symbol52. After the BSCU14receives the telephone call, a string of symbols is exchanged between the VCU12and the BSCU14so as to validate the communication connection, as indicated in a flow chart block53. In other words, the BSCU14ensures that it is in fact communicating with the VCU12, and vice versa.

Next, as shown in a flow chart block54, the BSCU14asks the VCU12for information regarding (a) the time into the route and (b) the number designating the next stop. In addition, route data56is obtained from a local data base. The route data56includes information pertaining to each bus stop and how much time it should take to reach each bus stop during the route. From the route data56and the information (a) and (b) received from the VCU12, the BSCU14can determine whether the bus19is late or early, as indicated by flow chart blocks57,58, or whether the bus19has just started its route, as indicated by a flow chart block59. In the case where the bus19is late, the BSCU14advises the VCU12to reset its on-board clock24back so that it thinks it is on time, as indicated in a flow chart block61. In the case where the bus19is early, the BSCU14advises the VCU12to move its on-board clock24forward so that the VCU12thinks it is on time, as indicated in flow chart block62. Moreover, in the situation where the bus19has just started its route and the telephone call is essentially the first call of the route, the base station clock28and the on-board vehicle clock24are synchronized, as indicated in a flow chart block63.

Finally, as shown in a flow chart block64, the BSCU14informs the VCU12to terminate the telephone call, which was initiated in the flow chart block51. The vehicle communications program47then proceeds once again to the flow chart block51, where it will remain until receiving another telephone call from the bus19.

Worth noting from the foregoing discussion is the fact that the BSCU14is the ultimate controller of the advance notification system10from a hierarchical vantage point. The base station clock28maintains the absolute time of the advance notification system10, while the vehicle clock24assumes a subservient role and is periodically reset when the bus19is at the start of a route or when the bus19is either early or late during the route. Further, it should be noted that the VCU12communicates to the BSCU14only (a) when the bus19is at the start of a route, (b) when the bus19is either early or late during the route, and (c) when the bus19completes its route, so as to minimize the amount of time on the mobile telephone network and associated costs thereof.

2. Student Calling Process

As previously mentioned, the student calling process48runs concurrently with the vehicle communications process47within the BSCU14. In essence, the student calling process48uses the timing information retrieved from the bus19by the vehicle communications process47in order to call students and inform them of the approaching bus19. A student list66is locally accessible from a local data base by the BSCU14and comprises information regarding (a) student names, (b) student telephone numbers, and (c) the time into a bus route when a student should be called via telephone. In accordance with the student calling process48, as indicated in a flow chart block67, the student list66is consulted as time progresses and telephone numbers are retrieved. When a particular time for calling a particular student is reached, the student calling process48initiates a telephone call to the particular student, as shown in flow chart blocks68,69. The telephone call can be made by using a distinctive telephone ring or a predefined number of rings, as described previously. Moreover, the particular time is fully selectable by programming.

Also worth noting is that the process can also include a feature for monitoring calls to be placed in the future. In accordance with this feature, upon anticipation of a heavy load of calls, some of the calls would be initiated earlier than the originally scheduled, corresponding call time.

After the bus route has been completed by the bus19, the particular bus and bus route are removed from consideration, as indicated by flow chart blocks71,72. Otherwise, the student calling program48returns to the student list66and searches for the next student to be called.

As further shown inFIG. 5, an event list73is maintained for diagnostics and system monitoring. The event list73receives data from both the vehicle communications process47and the student calling process46. The event list73essentially comprises records of, among other things, all telephone calls and all past and current bus locations.

B. Vehicle Control Process

Reference will now be made to the vehicle control process76shown in FIG.6. Initially, as indicated in the flow chart block77of the vehicle control process76, the VCU12runs through an initiation procedure in which the first stop number is retrieved, the stop time (time necessary to travel to the next stop) is retrieved, and the time into the route as indicated by the clock24is set at zero and the clock24is started. After the foregoing initialization procedure, a call is initiated via the transceiver18to the BSCU14, as indicated by the bell symbol78. After the connection, the VCU12and the BSCU14exchange information as described hereinbefore and which will be further described hereinafter relative to FIG.7.

Next, as shown inFIG. 6, the vehicle control process76begins a looping operation wherein the VCU12continuously monitors the switches21-23, clock24, and sensors25a-25e,if present, to determine whether the bus19is early or late. As mentioned previously, the vehicle control process76initiates a call only at start-up of a route, or when the bus19is either early or late, and not when the bus19is on time.

While in the main looping operation, a determination is first made as to whether the bus19has reached the end of the route, as indicated in a decisional flow chart block81. If the bus19is at the end of its route, then the vehicle control process76stops, as indicated in a flow chart block82, and does not start unless the start/reset switch21is triggered by the bus driver. Otherwise, the process76continues and makes a determination as to whether the bus19is late for the next stop, as indicated in a decisional flow chart block83. In the preferred embodiment, the bus19is considered late if the bus19arrives at a stop more than a predetermined late time period, such as 50 seconds, after when it should have arrived. If the bus19is late, then a call is initiated to the BSCU14, as shown by a bell symbol84in FIG.7.

If the bus is not late, then the process76determines whether any of the switches21,22,23have been actuated, as indicated in a decisional flow chart block86. If none of the switches21,22,23have been actuated, then the process76will loop back around and begin flow chart block81once again. Otherwise, if actuation of a switch21,22,23is detected, then the process76will determine which of the switches21,22,23has been actuated.

First, the process76will determine whether the move forward switch22has been actuated, as indicated in the decision flow chart block87. If the bus driver has actuated the move forward switch22, then the VCU12will retrieve the next stop number and corresponding stop time, as indicated in flow chart block88, from a local data base having the route data56. Moreover, a decision will be made as to whether the5bus19is early for that particular stop, as indicated in the decision flow chart block91. In the preferred embodiment, the bus19is considered early if the bus19arrives at a stop more than a predetermined early time period, such as 50 seconds, earlier than when it should have arrived. If the bus is not early, then the process76will loop back and proceed again with the flow chart block81. Otherwise, a call will be initiated to the BSCU14to inform the unit14that the bus19is early, as illustrated by bell symbol92in FIG.7.

In the event that the bus driver has not actuated the move forward switch22, the process76proceeds to a decisional flow chart block93wherein the process76determines whether the move backward switch23has been actuated by the bus driver. If the move backward switch23has been actuated, then the process76obtains the previous stop number and stop time, as indicated in flow chart block94, displays these values on the display screen, and loops back to begin again with the flow chart block81.

In the event that the bus driver has not actuated the move backward switch23, then the process76determines whether the bus driver has actuated the start/reset switch21, as indicated in the decisional flow chart block96. If the start/reset switch23has not been actuated by the bus driver, then the process76loops back and begins again with the flow chart block81. Otherwise, the process76loops back and begins again with the flow chart block77.

C. Telephone Call Control Process

When a telephone call is initiated by the VCU12as indicated by the call symbols78,84,92, the VCU12follows a telephone call control process101as illustrated in FIG.7. Initially, the telephone number corresponding with the BSCU14is obtained from the EEPROM43, as indicated in a flow chart block102. Other information is also obtained, including among other things, the particular bus number, bus serial number, and bus route. Next, the control process101sets a time out variable to keep track of how many times a telephone connection has been initiated. The number n of allowable attempts is predetermined and is stored in the EEPROM43.

After the time out variable has been implemented as indicated in the flow chart block103, the VCU call control program101causes the transceiver18to be called, as indicated in the flow chart block104. The control process101requires the VCU12to wait for a response from the BSCU14. If the VCU12does not receive a response within a predetermined time out period, preferably 20 seconds, then the control process101loops back and begins again at the flow chart block103. Otherwise, when the control process101determines that a response has been received, a validation procedure ensues, as indicated in a flow chart block108. The validation process indicated at the flow chart block108is that which was described previously relative to the flow chart block53of 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 trigger termination of the telephone connection after a predetermined time period has run. The initiation of the time out variable and monitoring of the same is indicated inFIG. 7at flow chart block111. If the time out variable triggers termination of the telephone connection, then the control process101will hang up and end the call, as illustrated by a flow chart block114. Otherwise, when the validation procedure has fully commenced, commands are passed from the BSCU14to the VCU12, as shown by a flow chart block112. Commands which may be sent to the VCU12include, for example, the following: (1) Is the bus19either early or late?; (2) Reset the vehicle clock24; (3) Record new information in the EEPROM43. It should be emphasized that the BSCU14may change the route information contained within the EEPROM43of the particular bus19. The foregoing features enables extreme flexibility of the advance notification system10.

Furthermore, the control process101determines whether the BSCU14has finished its communication over the mobile telephone, as indicated in a flow chart block113. Again, the VCU call control program101utilizes another time out variable to determine whether the BSCU14has finished. After the predetermined time period of the time out variable, the control process101will assume that the BSCU14has terminated its communication, and accordingly, the control process101will hang up the telephone, as indicated in a flow chart block114. Otherwise, the control process101will loop back and begin with the flow chart block111in order to accept another command from the BSCU14.