Patent Publication Number: US-11386782-B2

Title: Maintenance decision support system and method for vehicular and roadside applications

Description:
CROSS REFERENCE TO RELATED APPLICATION 
     The present application is a Continuation of U.S. application Ser. No. 14/713,862, filed May 15, 2015 which is a continuation-in-part of U.S. application Ser. No. 13/944,836, filed Jul. 17, 2013 which is a continuation-in-part of U.S. application Ser. No. 13/616,412, filed Sep. 14, 2012, which is a continuation of U.S. application Ser. No. 13/345,480, filed Jan. 6, 2012, which is a continuation of U.S. application Ser. No. 12/749,325, filed Mar. 29, 2010, which is a continuation of U.S. application Ser. No. 12/046,121, filed Mar. 11, 2008, which is a continuation of U.S. application Ser. No. 11/363,581, filed Feb. 27, 2006, which claims the benefits of U.S. Provisional Application Ser. No. 60/656,650, filed Feb. 25, 2005, having the same title, all of which are incorporated herein by this reference. 
    
    
     FIELD OF THE INVENTION 
     The invention relates generally to modems used in stationary and mobile applications and particularly to intelligent modems for collecting selected vehicular information. 
     BACKGROUND OF THE INVENTION 
     Modems today have changed little in the last 25 years. Typical modems offer little if any processing power and can only be used with a given technology, network or connection. The processing power, if any, is typically limited and of little practical use in many applications today. Such modems do not support full operating systems, and offer the user limited, if any, programming flexibility. Changes as simple as network password changes have required the modems to be uninstalled and sent to the manufacture for reprovisioning. Such modems are not SOAP XML Web Services compatible and cannot take data from a given data source and convert and send it in the now common XML format. They also are not modular—if any given component fails, if there is a change in communications carriers, or if a given communication carrier phases out one technology and migrates to another (as with the migration by the former ATT Wireless from CDPD to GPRS), the modem typically has to be replaced—they are not modular in nature and given components cannot be easily and cheaply replaced. These limitations become especially acute and cost prohibitive in telemetric and other applications where the modem must operate without manual intervention and/or in series with other equipment which has no or limited processing power (i.e. other “dumb” devices). For whatever the reason, not the least of which is pricing pressures, much of the equipment used for example in industry, security, telemetric, and intelligent transportation systems, carry little onboard processing power and/or require a separate laptop or other computer to operate, download and/or forward the applicable information. The addition of such laptops and other external computers is generally either impractical, (such as in unmanned and roadside applications) or cost prohibitive (generally doubling or more the cost of the modem itself). Furthermore, any given user may need connectivity for equipment located in different carrier service areas and/or with different types of connections (e.g. different wireless carriers, network connections, fiber connections, etc) and multiple types of data sources and inputs (multiple serial and USB inputs, as well as potentially video, sound, etc.). For national and international applications, and even applications on statewide and local levels, flexibility in communication options and data collection options is important, as is the ability of the user to program the modem, add network security, store and forward data, and transfer the information in XML format via SOAP XML Web Services and/or such other format as their systems require. The ability to receive and process dynamic instructions is also important but often missing or severely limited, and traditional modems do not enable the type of remote access and upgrades (complete operating systems and applications) that are necessary to collect data and/or communicate with disparate equipment in use today and newer equipment ever being developed and deployed. 
     Associated security measures further punctuate the need for greater flexibility and power in the modems. For example, dynamic IP addresses are being deployed in many contexts including by wireless commercial carriers, in their 3G and beyond wireless data services. Dynamic IP&#39;s present a significant departure from the static IP&#39;s associated with historic poling practices and wireless CDPD functionality which had been the mainstay of wireless data collection, prior to the advent of 3G functionality. Again, the ability to add intelligence to the modem, and to enable greater programming and application support becomes important to enable the otherwise “dumb” devices to return their new IP addresses and thus facilitate remote access and/or to transmit data and information back on an automated push (instead of pull) basis. Therefore, a need exists for a more powerful and flexible modem device that can be more easily programmed, that carries greater processing and storage capabilities, that can take various data feeds, that does not require a separate laptop or other computer to function, and that can readily and interchangeably work with a variety of communication connections and options. A tremendous need exists for a new modern device with sufficient flexibility and power to be used with relative ease in the various situations. 
     SUMMARY OF THE INVENTION 
     These and other needs are addressed by the various embodiments and configurations of the present invention. The present invention is directed generally to collecting selected types of information in vehicular and roadside applications and transmitting at least some of the collected information to a remote server. 
     In a first embodiment of the invention, a data collection and transmission method is provided that includes the steps: 
     (a) a sensor and/or user interface collecting information regarding vehicle state and/or vehicle occupants; 
     (b) a slot receiving a selected private or public network card (or a commercial carrier or otherwise), the slot being configured to receive cards for multiple networks; 
     (c) determining a type (e.g., product identifier) and/or origin (e.g., vendor code) of the selected network card; and 
     (d) selecting, for the selected network card and based on the determined type and/or origin, a set of a connection manager and a connection monitor from among a number of sets of connection managers and monitors corresponding to different types and/or origins of network cards. The connection manager interacts with the corresponding network card in establishing a connection with the corresponding wireless network, and the connection monitor monitors a state of the connection. The connection manager and/or monitor of a first set is different from a respective connection manager and/or monitor of a second set. 
     In another embodiment, a data collection and transmission method is provided that includes the steps: 
     (a) collecting information regarding vehicle state and/or vehicle occupants; 
     (b) establishing a first connection with a first network to transmit collected information to a remote server via that network; 
     (c) thereafter determining a status and/or health of the first connection; 
     (d) when the first connection is down and/or unhealthy, requesting the removal of power to a selected wireless card positioned in a slot; 
     (e) when the request is denied, terminating execution of a communication initiation application; and 
     (f) after terminating execution of the communication initiation application, again requesting the removal of power to the selected wireless card. 
     The present invention can provide a number of advantages depending on the particular configuration. For example, the invention can provide a powerful and flexible, hardened modem that, among other things, utilizes advances from the programming and computing component industries to create a modular modern that users can much more easily program and integrate into their networks, and which can be used interchangeably in fixed and mobile applications with a variety of data and communication alternatives. 
     A number of developments enable the advance in modern functionality, flexibility, modularity and capabilities, including: 
     (1) better and cheaper components which can be borrowed form other the computing and other industries (e.g., cheaper, faster and more efficient processors and mainboards, and off the shelf items such as RAM, high capacity CF and/or HDD disks, wireless connection cards and other advances in communications equipment and functionality); 
     (2) a need for new, easier and more flexible programming, including support for full operating systems, applications and common languages; and 
     (3) a need for more connections and ports for much greater communication and data options and flexibility. 
     These and other advantages will be apparent from the disclosure of the invention(s) contained herein. 
     As used herein, “at least one”, “one or more”, and “and/or” are open-ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions “at least one of A, B and C”, “at least one of A, B, or C”, “one or more of A, B, and C”, “one or more of A, B, or C” and “A, B, and/or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together. 
     The above-described embodiments and configurations are neither complete nor exhaustive. As will be appreciated, other embodiments of the invention are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention can be more readily understood in conjunction with the accompanying drawings, in which: 
         FIG. 1  is the exterior of the Smart Modem Device or SMD case showing the primary rear connection ports (in standard AC power connection) according to an embodiment of the present invention; 
         FIG. 2  is the exterior of the case of  FIG. 1  showing the front face and additional ports there located; 
         FIG. 3  shows the interior of the SMD with the cover removed (including DC module with voltage regulator and sequencer for automotive applications) according to an embodiment of the present invention; 
         FIG. 4  shows the interior of the SMD with the cover and top plate removed (including DC module with voltage regulator and sequencer for automotive applications) according to an embodiment of the present invention; 
         FIG. 5  shows the interior of the SMD with the cover, top plate and mainboard removed (in standard AC power configuration as in  FIG. 1  above) according to an embodiment of the present invention; 
         FIG. 6  shows SMD as used in roadside application (using AG power and PCMCIA connection card specially modified for an external antenna) according to an embodiment of the present invention; 
         FIG. 7  is a block diagram depicting a network architecture according to an embodiment of the present invention; 
         FIG. 8  is a block diagram depicting a network architecture according to an embodiment of the present invention; 
         FIG. 9  is a block diagram depicting a network architecture according to an embodiment of the present invention; 
         FIG. 10  is a block diagram of the components of a modem system according to an embodiment of the present invention; 
         FIG. 11  is a flowchart depicting an operational mode of the modem system according to an embodiment of the present invention; 
         FIG. 12  is a flowchart depicting an operational mode of the modem system according to an embodiment of the present invention; 
         FIG. 13  is a set of data structures according to an embodiment of the present invention; 
         FIG. 14  depicts a map according to an embodiment of the present invention; 
         FIG. 15  depicts a snowplow according to an embodiment of the present invention; and 
         FIG. 16  depicts a block-diagram of the components of a data collection system according to an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     System Overview 
     In one embodiment, the smart modem system collects and transmits selected output information regarding a vehicle state and/or its occupant(s) and/or receives selected input information for use by the vehicle and/or its operator. “Vehicle state” refers to a condition, function, location, or operation of a vehicle or a component or accessory thereof. As shown in  FIG. 7 , first, second, . . . nth smart modem systems  700   a - n  are incorporated in a first, second, . . . nth vehicles  704   a - n . Each of the smart modem systems is in communication with a wireless public or private network  708 . The wireless network  708  is, in turn, in communication with an enterprise Local Area Network or LAN  710  that includes a firewall  712 , first, second, . . . mth servers  716   a - m  and first, second, . . . mth databases  720   a - m . The modem systems collect selected types of information and continually or periodically forward the information, via the network  708 , to the enterprise network  710  for storage and processing. The stored and processed information can be accessed locally and directly by clients, such as PCs and laptops, internal to the enterprise network  710  or remotely by clients external to the enterprise network. The stored information is typically indexed by a unique SMD device name and corresponding vehicle name pairing. As will be appreciated, the multiple databases  720   a - m  need not have a one-to-one correspondence with the servers  716   a - m , but may include more or fewer databases. 
     The vehicles can be motorized, such as commercial or private tracks and cars, or unmotorized, such as trailers (e.g., refrigerated trailers). Preferably, the vehicles have an on-board power source that is capable of powering the modern system and its peripheral devices, such as sensors. In one configuration, the vehicles are snowplows operated by a governmental entity (such as a municipality, city, county or state), concrete mixers, concrete pumpers, refrigerated trailers, semi trucks, busses, dump trucks, garbage trucks, delivery vehicles, maintenance vehicles, emergency vehicles, and the like. 
     The wireless network  708  can be any type of wireless service and/or air interface, such as Advanced Mobile Telephone Service or AMPS, Digital Advanced Mobile Telephone Service or D-AWPS, Digital Communication Service or DCS1800, Global System for Mobile Communications/General Packet Radio Service or GSM/GPSR, North American Digital Cellular, Personal Communications Services, Personal Digital Cellular, Total Access Communication System, High Speed Downlink Packet Access or HSDPA, Enhanced Data GSM Environment or EDGE, 1×RTT CDMA, CDMA2000, Evolution Data Optimized or EVDO, Digital Enhanced Network or iDEN, Specialized Mobile Radio or SMR, 802.11x, WiMAX or 802.16, and other public and private networks, with frequency Division Multiple Access or FDMA, Time Division Multiple Access or TDMA, Code Division Multiple Access or CDMA, Cellular Digital Packet Data or CDPD, Wideband CDMA or WCDMA/UMTS, or others. The public or private network  708  can be either landline or wireless. Wireless networks can be operated by one or more private or public networks, including carriers, such as Sprint™, Nextel™, Verizon™, Cingular™, Alltel™, Western Wireless™, AT&amp;T Wireless™, Unicell™, Westlink™ and others, as well as affiliates thereof. Bandwidth and/or transmission speeds, and/or the frequency and method of data transmissions, may be intentionally limited (by setting appropriate modern parameters) to qualify for favorable telemetry rates. 
     The information collected  1612  ( FIG. 16 ) by the modern system  1600  ( FIG. 16 ) can vary depending on the application. The information  1612  can include vehicle speed, vehicle acceleration, engine revolutions-per-minute, engine temperature, engine oil pressure, fuel level, battery amperage, battery voltage, odometer setting, tire pressure, mileage per gallon, other onboard warning systems and sensors, weather conditions (such as temperature, humidity, wind speed and direction, wind chill, raining, snowing, blowing snow, foggy, clear, overcast, etc.), road conditions (e.g., icy, slushy, snow-packed, frosty, wet, dry, etc.), physical location  1620  ( FIG. 16 ) (e.g., Global Positioning System or GPS-based location), snow plow  1504  ( FIG. 15 ) setting (e.g., snowplow position and orientation such as plow  1504  up or down and angle relative to the truck longitudinal axis), mixture and amount of material being applied by spreader  1508  to a selected surface (e.g., salt level, sand level, magnesium sulfate level other chemicals or materials, and combinations thereof), revolutions-per-minute of concrete mixing vessels, pumping pressure of concrete, video images of the vehicle&#39;s exterior environment or the vehicles&#39; interior or exterior, audio of the vehicle&#39;s interior, airborne chemicals or particulates, radiation levels, friction measures, thermal and/or infrared imaging, credit card receipts, passes, driver identifications, bar codes, receipts, remote databases, instructions, job tickets, and directions and other information which can be displayed, sensed and/or input, manually or on an automated basis. 
     The information is typically converted into a selected form, packetized, and transmitted over the wireless network. The form of the information can be in accordance with any selected language, such as the extensible Markup Language or XML, the Hypertext Markup Language or HTML, Remote Method Invocation or RMI, or Direct Socket Connections. The packets can be transported using any suitable protocol, such as the Transport Control Protocol/Internet Protocol suite of protocols, Simple Object Access Protocol, or User Datagram Protocol. 
     The enterprise network  710  can perform a variety of data processing functions. The network  710 , for example, can compare information or a given sensed parameter to identify temporal trends or differences and, if necessary, generate appropriate alarms. The alarms can be logged internally and/or forwarded to the respective vehicle via the modem system. The vehicle operator and/or automated components thereof can then take appropriate remedial action to address the cause of the alarm. It can prepare selected reports on the information. It can log events. The enterprise network  710  can also provide communications to the modem system  1600 . The communications can, for example, provide instructions  1624  to the vehicle operator, such as vehicle and/or ancillary device operation and dispatch commands, and/or to automated components of the vehicle itself to remotely control selected vehicle operations. 
     In one configuration, the data processing can provide a spatial map  1400  ( FIG. 14 ) showing vehicle locations, vehicle operations, and other state information. For example and with reference to  FIG. 14 , the map  1400  can depict the location of each of a number of snowplow trucks  1500  ( FIG. 15 ) using an icon  1404   a - d  denoting each truck. The icon  1404  color can be varied to indicate differing vehicle states. For example, the color green indicates that the truck  1500  is active and working (e.g., blade down and/or spreading deicing materials), yellow that the truck  1500  is active but not working snow (e.g., not blading or spreading materials), red that the truck  1500  is stopped, and gray that the truck  1500  is off or out of range for at least a selected period of time. Text information  1408   a - d  can be depicted on the map adjacent to or associated with each icon  1404 . The text information  1408  can describe selected state information associated with the truck  1500 , such as a truck identifier  1412 , direction of travel  1416 , speed  1420 , states of GPS signal  1424 , and timestamp  1428  of last data update for the identified truck. The map  1400  can also depict, for a selected vehicle, a trace route over a selected period of time. A trace route indicates the path of travel of the vehicle over the selected time period. 
       FIG. 8  depicts an architecture according to another embodiment of the present invention. The architecture includes a first vehicle  800   a  including a first modem system  804   a  in communication with a first wireless network  808   a , a second vehicle  800   b  including a second modem system  804   b  in communication with a second wireless network  808   b , . . . and an nth vehicle  800   n  including an nth modem system  804   n  in communication with an nth wireless network  808   n . Each network is typically operated separately by different entities or carriers. The vehicles are commonly operated by different business entities (e.g., are owned and operated by different companies). The first, second, . . . nth networks  808   a - n  are in turn in communication with a third party enterprise network  812 , which provides contractual (fee-based) data storage and optionally processing services. The enterprise network  812  includes a LAN  816  interconnecting a firewall  820 , a server farm or cluster of first, second, . . . nth servers  824   a - n  and one or a number of databases  828   a - n . Each of the databases  828   a - n  is configured for a specific business entity operating one or more vehicles. In one configuration, the databases are replaced by a single database partitioned for each of the business entities. In any event, the information collected by the various modem systems is stored in the respective database or database partition. Data processing software customized for each entity can be resident in the enterprise network  812 . Representatives of the independent entities can access, from a remote client, the data for which it has authorization, such as a PC or laptop. 
     In the above embodiments, the modem systems commonly include a smart modem device find peripherals thereof, such as a video monitor (e.g., a touchscreen), external GPS and connection antenna, and wired or wireless connections to internal vehicular components. 
     Smart Modem Device 
     In contrast to prior art in the field, the present invention can provide a powerful and flexible, hardened modem that, among other things, utilizes advances from the programming and computing component industries to create a modular modem that its users can much more easily program and integrate into new or existing networks, and which can be used interchangeably in fixed and mobile applications with a variety of data and communication alternatives. 
     This smart modem device (sometimes referred to “Smart modem” or “smart device” or “SMD” for short) can be built around ultra-compact and highly integrated mainboards and modern components originally developed in the computing, programming and other industries, including embedded high performance, low heat, ultra low power processors, replaceable RAM and Compact Flash (CP) memory, and various internal and external ports that can be used for communications and the transmission and/or receipt of information. Various modular options can also be added and incorporated, at manufacture or in aftermarket, including additional memory, enhanced video cards, additional connections and inputs, additional memory, etc. 
     The SMD can incorporate full programming language support and be fully user programmable in various common languages such as Perl, Java, C variants, .NET and others. This programming flexibility can be used both for purposes of setting up and directing the transfer or receipt of data and information, as well as for the processing thereof, if and to the extent such field processing and/or translations are required in the field. In addition to interfacing in traditional standards such as ASCII, HEX and other formats, the SMD is fully SOAP XML Web Services compatible. In addition to the communications elements of the modem, users can run Linux, Microsoft and other programs to provide additional desired utility and functionality, such as for taking MPEG 4 or other video from the field, running applications and peripheral services in the mobile or field environment, without the need for separate equipment such as laptops, computers or processors. The SMD can provide flexible modem functionality on a stand-alone basis. The SMD can be remotely access, upgraded and/or reconfigured if and as so necessary. 
     The SMD can anticipate and provide for interchangeable and upgradeable communications and data options through PCMCIA, CF, RJ-45, RS-232, USB and other connections. Wireless services, for example, can be used on one network in one part of a state, and on another network in another part of the state, with the simple interchange of a connection card in the PCMCIA (cardbus) in the back of the device, and a corresponding change in drivers for the new network and card. Other devices can be as easily changed to operate on network connections, fiber connections, wireless Ethernet connections and other alternatives. Such conversions, as well as simply the replacement of a damaged card or component, can be done at the nominal cost of that given card or component, rather than the replacement of the entire device. 
     The SMD can provide a powerful and flexible, hardened modem that, among other things, utilizes advances from the programming and computing component industries to create a modular modem that users can much more easily program and integrate into new networks, and which can be used interchangeably in fixed and mobile applications with a variety of data and communication alternatives. The flexibility, power and integrated modularity marry hardware and programming to provide a truly synergistic advance in the state of the art in modem technology, and associated applications of telemetry, data collection and communications. Without repeating what has already been said above (and incorporated herein), the device is below presented in its various component pieces. The modem preferably has a modular design, including both the hardware and software, as well as the interchangeable external components, including without limitation the various COM and data options with which it works (e.g., connection cards, land lines, GPS units, cameras and the various vehicles and field devices to which it is attached). Significantly, if any given component is damaged or destroyed, or otherwise made obsolete by advances in science and technology, such components can generally be replaced and upgraded for nominal cost and the device redeployed. The entire unit does not have to be replaced, and maintenance and repairs for individual units (or planned groups of units) replace broad and expensive capital replacement programs as communication carriers migrate to ever new and improved communications options and services, or clients migrate to private or other public networks. Commercial connection cards for example can be swapped out, one for another, and often, at no net upfront cost (after activation credit), by simply popping out the old PCMCIA card and popping in the new with the new connection driver. Mainboards can be replaced in nominal time and at low cost. Memory can be expanded for many GBs of additional storage at low cost. The device can be completely reprovisioned for use with new cameras or other equipment by simply downloading new files (remotely or on-site) or swapping out the internal CF for a new disk. Historic problems of replacing entire devices and incurring thousands (sometimes millions) of dollars of capital upgrade costs has been broken down and replaced with a more practical use and marriage of more sophisticated and flexible components from the fields of hardware, software and general design. 
     The following provides a more detailed discussion of the various components advantages, features and objects of the SMD. 
     Case size is currently primarily a size of the existing components and a trade-off in costs. Bigger becomes impractical. Smaller currently gets disproportionately expensive. With current component sizes and price points, we typically use cases such as the 2.5″.times.8″.times.10″ Morex #3688 steel case  1  featured in the accompanying photos. It is anticipated that smaller cases will be usable as ever smaller components become more price competitive. While smaller cases can be used, a larger case can provide a bit extra room to work with, dissipate heat, add additional internal components when and as desired (e.g. additional internal memory  25  &amp;  29 ), and yet is small enough to be collocated with other equipment in even larger or more protective cases such as NEMA  4  and other environmentally protective cases such as the roadside box shown in  FIG. 6 . Internally, the tray is modified to mount the internal CF  27   a ,  27   b  and  27   c , the DC voltage regulator and sequencer for automotive applications  25  (if not otherwise incorporated directly into the power supply  42 ), and other items. 
     All Figures show the 2.5″.times.8″.times.10″ Morex case configuration, though other cases can also be used. Any suitable case that can accommodate the following components can be used.  FIGS. 3 and 4  show the embedded system in the case with integrated VIA mainboard and 1 GHz processor, 2 GB compact flash for programming and data storage, 256 MB of heat shielded RAM, and an ITPS DC module with voltage regulator and sequencer as used for automotive applications. Other mainboards and components could be substituted. 
     The SMD is designed for both fixed and mobile applications. AC/DC power is typically incorporated. Such power supplies are generally sourced from the applicable case manufacturer, as the Morex Procase power board shown in the accompanying photos  42 , but any reliable power supply will do. A voltage regulator should be used with the power board for mobile applications. A combination regulator and sequencer is either incorporated into the power board  42  or separately collocated such as the ITSP regulator and sequencer from Mini-Box  25  is typically incorporated to provide key on/off functionality with delayed power-off for an orderly initiation of the shut-down of the device and whatever functionality is then active. 
     Any small form factor mainboard with appropriate connections can be used, such as the VIA MII mainboard shown in the accompanying  FIGS. 1, 3 and 4 , and items  2 - 10 ,  30 ,  35 , and  38 - 39 . For data, video and other inputs, connections should be provided for major connection types intended to be used, including currently and without limitation, multiple USB, 1394, RCA and Serial connection options  6 ,  10 ,  11 ,  13  and  39 . For communications, connections or slots should be available for, among other things Ethernet, PCMCIA (cardbus) &amp; CF  7 ,  8 ,  9  and  39 . Multiple IDE slots  35   a  and  33   b , at least one PCI slot  38 , and at least one DIMM slot for standard RAM  36  should be included. Typically the mainboards would carry an embedded ultra low power, ultra low heat processor such as a 600 MHz or the 1 GHz VIA C 3   37  and support standard RAM  36  of typically 256 MB or more (the VIA mainboard  30  supports up to 1 GB of RAM). It is important that the embedded system use a processor that is low power low heat, or best buildup can become an issue in the tight enclosures involved in various applications such as shown in  FIG. 6 . Advance in the computer component industry in these regards, and processors in particular (with significant advances in processing speeds with such ultra, low power, ultra low heat processors as the C 3   37 ) have made this advance in modem technology possible. Future mainboards can be even smaller, carry more or different ports and connections and even faster more efficient processing capabilities. In any event, the mainboard and associated faceplate ( 2  and  30 ) are inserted in and affixed to the applicable case. These “new” mainboards are substantially faster, and more modular and flexible, than mainboards found in traditional modems. 
     Any standard RAM  36  can be used. Typically, 256 MB or more of RAM is incorporated. In the accompanying  FIG. 4 , we are shown using 256 MB of heat shielded RAM from SuperTalent. The VIA mainboard  30 , shown in the examples can support up to 1 GB of RAM. Additional RAM may be supported and used in the future. Such RAM can be used in either typical fashion (as most users use their PC—e.g. where operating files are primarily carried on separate memory such as an HDD drive or in this case CF  27   c , and there is an ongoing interaction between the two) or in more specialized ways such as with special optical files or read only memory (ROM) where all operation code (operating files as well as application) are loaded into RAM on boot from the separate storage. In the later case for example, all operable code is bundled into one optical file or ROM, either of which can be loaded into and run from RAM once the device is powered up. Any malicious or accidental attempts to change or damage the operating code have but a temporary impact as the optical file will again and automatically reloaded in original form when the RAM next reads the file, such as on reboot or restart. In such cases, the RAM has to be larger than the combined files (ie. all programming and operating files). A fairly sophisticated application can run in this manner on less than 1 GB of RAM. 
     CF memory is typically used to get away from moving parts such as in HDD drives, and to provide a more hardened unit. Any CF can be used the enclosed pictures show a 2 Gb CF card by SanDisk. While avoiding the moving parts of an HDD, the CF provides many of the benefit of solid state circuitry but with substantially more flexibility in terms of programmability and ease of use. An IDE to CF adaptor board  27   b  and shortened IDE cable  34  is used to integrate the CF memory with the mainboard  30  and associated functionality. Where, as with the VIA mainboard  30 , an additional IDE slot is available, additional internal CF or HDD storage capacity can be added. Removable external CF memory can also be used in the CF slot provided and accessible from the faceplate  9 . If the user prefers, an HDD (typically 20 GB or higher) can be used in lieu of or addition to the internal CF. The SMD can also boot from other memory, including USB sticks, if desired or needed. 
     The importance of having various COM and data options cannot be overstated and the SMD specifically provides as much flexibility as technology and available components allow in this regard. The SMD anticipates and provides for interchangeable and upgradeable communications and data options through PCMCIA, CF, RJ-45, RS-232, USB and other connections, e.g 7, 8, 9, 10 and 11. Wireless services, for example, can be used on one network in one part of a state, and on another network in another part of the state, with the simple interchange of a connection card in the PCMCIA (cardbus)  8  in the back of the device, and a corresponding change in drivers for the new network and card. Other SMD&#39;s can be as easily changed to operate on network connections, fiber connections, wireless Ethernet connections  7  and other alternatives including dial-up land lines via a PCMCIA card  8 . Such conversions, as well as simply the replacement of a damaged card or component, can be done at the nominal cost of that given card or component, rather than the replacement of an entire device, as has been necessary with traditional external modems which operate on only one network and incorporate limited if any processing capabilities. 
     In the context of PCMCIA and CF connection cards  8  (which themselves are sometimes referred to as NIC cards, modems or aircards), the SMD provides a host environment much like, but much more flexible and powerful than, the external modems which themselves incorporate modules comparable to that in the PCMCIA or CF connection cards but which have but limited processing power and are far less flexible in terms of overall programming, processing or network changes. Such external modems, once so manufactured, are typically only usable on the network for which they were designed. If for example, a user changes carriers, the external modem is of no use or value. If the carrier changes technology (such as CDPD to GPRS), the external modem is of no use or value. Conversely, the SMD allows for the easy and quick upgrade of technology by the change of the PCMCIA card, and/or the quick change to an entirely different network or even to a fixed connection such as fiber, network, or wireless Ethernet where practical and available. 
     Programmability provides a new, significantly higher level of modem flexibility and performance. Typical modems offer little if any processing power and can only be used with a given technology, network or connection. The processing power, if any, is typically limited and of little practical use in many applications today. Such modems do not support full operating systems, and offer the user limited if any programming flexibility. Changes as simple as network password changes have required the modems to be uninstalled and sent to the manufacture for reprovisioning. Limitations with existing systems become especially acute and cost prohibitive in telemetric and other applications where the modem must operate without manual intervention, and/or in series with other equipment which has no or limited processing power (i.e. other “dumb” drives). For whatever the reason, not the least of which is pricing pressures, much of the equipment used for example in industry, security, telemetric, and intelligent transportation systems, carry little onboard processing power and or require a separate laptop or other computer to operate, download and/or forward the applicable information. The addition of such laptops and other external computers is generally either impractical, (such as in unmanned and roadside applications) or cost prohibitive (generally doubling or more the cost of the modem itself). Furthermore, any given user may need connectivity for equipment located in different network service areas and/or with different types of connections (e.g. different wireless carriers, network connections, fiber connections, etc) and multiple types of data sources and inputs (multiple serial and USB inputs, as well as potentially video, sound, etc.). For national and international applications, and even applications on statewide and local levels, flexibility in communication and data collection options is important, as is the ability the user to program the modem, add network security, store and forward data, and to transfer the information in XML format via SOAP XML Web Services and/or such other format as their systems require. 
     The SMD incorporates full operating system, and programming language support, by virtue of and with appropriate utilization of the above components. The SMD is fully user programmable in various common languages such as Perl, Java, C variants, .NET and others. This programming flexibility can be used both for purposes of setting up and directing the transfer or receipt of data and information, as well as for the processing thereof, remote access to download or upgrade programming or reach remote sites and equipment, receive and post messages to remote users, enable remote users to interface with the office, the internet or other systems. 
     The ability of the SMD to receive and process dynamic instructions is beneficial but often missing or severely limited in traditional modems which enable this type of remote access, and cannot even carry full operating systems or common modern applications, let alone take, for example, a remote upgrade of touch screen menus used to collect mobile information or to communicate with a lot of the disparate equipment in use today and newer equipment ever being developed. 
     The SMD&#39;s expanded programmability and more powerful mainboard and components enable the modem to take, process, store and/or forward information as not otherwise possible. Traditional modems typically have been set op to simply establish a connection to forward or allow the polling of given data. Traditional modems were not designed to run today&#39;s operating systems or applications, or to really do more than rudimentary tasks. The traditional modem cannot provide the host environment necessary to support the varied drivers and software necessary to support for example the many peripheral devices being integrated today, including without limitation USB cameras, touch screen monitors, weather station components, travel time sensors, mobile sensors and data feeds, etc. 
     With the SMD, this is possible and more. Operating systems, applications, special or new drivers, etc. all can be loaded, programmed and reprogrammed, and even be remotely accessed and changed if necessary. Peripherals can be added which require associated software to run and operate—software that could not otherwise be loaded on traditional modems by the end user, if at all. Off-the-shelf software, custom applications, legacy interfaces, new interfaces, special security overlays, etc, could not be readily loaded on traditional modems by the end user, if at all. With SMD&#39;s, users can load Linux, Microsoft and other systems, programs, drivers, etc. . . . to provide additional desired utility and functionality, or to support the peripheral equipment to which the smart modern device is attached. Applications requiring field processing, special drivers and/or software, such as for MPEG 4 video, barcode scanners, RFID sensors, work order forms, ERP systems, etc., can be integrated with the smart modem device without the need for separate laptops, computers or processors. 
     The programmability of the SMD contributes to the flexibility and modularity of the device, and in extending those benefits to the peripheral equipment with which the SMD is connected (eg. camera, gps, weather equipment, monitors, etc. . . . even the communication card or carrier itself). When a given component or peripheral fails or is otherwise replaced, a new component or peripheral (even an entirely different peripheral) can be attached and new drivers and associated software can be easily loaded. If there is a change in communications carriers, or if a given communication carrier phases out one technology and migrates to another (as with the migration by the former ATT Wireless from CDPD to GPRS), only the connection card and drivers need be replaced, not the entire smart modem device. 
     The above also enables the SMD to be fully SOAP XML Web Services compatible, unlike traditional modems. XML interfaces are becoming increasingly important in networking disparate equipment and systems, reducing network overhead, etc. In addition to interfacing with traditional formats such as ASCII, HEX and others, the SMD can provide full XML interfaces. The SMD, for example, can be easily loaded with JAVA and an associated application to receive data and forward it in XML in a SOAP XML Web Services compatible format. This capability and the ability to adapt and integrate with other and new services and formats will become especially important for deployments over time. 
     New and ever changing security requirements, changes in network, connections and systems, authentication schemes (internal and carrier related), further punctuate the need for the enhanced programmability and capabilities of the SMD. As they evolve, such changes and overlays can be integrated and loaded, and later changed and updated as necessary, with relative ease. The SMD is programmable and reprogrammable. CF cards can be changed in the field to completely reprogram the device. Other security changes can be made by USB stick or remote access. In short, the SMD provides flexibility to grow and adjust with future needs and developments. 
       FIG. 9  depicts a signal flow diagram.  FIG. 15  a snowplow, and  FIG. 16  a modem-based system according to an embodiment of the present invention. The modem-based system  1600  comprises one or more network cards  904   a - p , each plugged into a corresponding slot (not shown) of the modem or SMD  900 , an antenna  966  for duplexed communications with a network, a GPS module  908  and corresponding antenna  912 , a plurality of sensors  916   a - q , a user interface  920 , and the SMD  900 . 
     The network cards  904   a - p  are provided by a wireless carrier or network administrator, and contain the logic and related parameters required for access to the corresponding network. Although multiple network cards are depicted, it is to be understood that the present invention includes an SMD configuration having only one slot, as shown in the SMD configuration discussed above. Each of the network cards is interchangeably received in each slot. Thus, cards from different networks or different types of cards from the same network can be placed in any of the slots. As will be appreciated, each card normally has an associated unique identifier (for example a ten digit number assigned to the card by the carrier). The card is typically activated by contacting the service provider or network administrator, or by doing an automated activation via an applicable web page. 
     The GPS module  908  can be any suitable GPS module, including the GPS module discussed previously. Typically, the GPS module forwards digital location signals (e.g., GPRMC NMEA sentences) to the SMD  900 . The timing of the signals is typically controlled by the GPS module. A preferred GPS module  908  integrates the antenna  906  and GPS module  908  into a GPS puck positioned on the exterior of the vehicle. The GPS module can be plugged into various available ports on the SMD, including specially created ports such as a special five-pin DIN connection. The GPS module can also be separated from the antenna and collocated inside of the SMD. 
     The sensors  916  can be of a variety of types and monitor different parameters. The sensors, for example, can include temperature sensors (e.g., for ambient and engine temperatures), pressure gauges (e.g., for oil, fuel pressure, and/or cement pumping pressure), sensors for measuring the revolutions per minute of a motor, engine, or rotating member, speedometers, odometers, compass, and various other wired or wireless sensors and inputs from equipment on or near the vehicle. In one configuration, the sensors include a still and/or motion video imaging device  1608  to provide still or full motion images to the remote server. In one configuration, the sensors  916  include a microphone to provide audio to the remote server. Analog-to-digital conversion is employed, as needed, to convert analog signals from sensors  916  to digital format. 
     The user interface  920  can include a variety of devices, such as a keyboard and/or monitor. The monitor is preferably a touchscreen. The monitor can provide the operator with various options to control operations of the vehicle (e.g., pumping speed, plow blade, bucket, or truck bed, mixture of materials to be applied to a surface, rpms of concrete mixer, and the like), provide data input regarding the vehicle state (e.g., snowplow is raised or lowered) or environmental conditions, transmit text messages to the remote server, receive text messages from the remote server, and views of the data transmitted and/or received. 
     The SMD  900  includes a number of internal logic modules for performing various operations. The connection managers  924   a - x  configure the SMD  900  as required by the particular network card  904  in the slot or otherwise selected by the user and interacts with the card to establish a communication session with the remote server. The connection monitors  928   a - x  monitor the health and/or state of the connection and, if the health is unacceptable (e.g., the connection has too much interference or the Quality of Service is unacceptable) or the link used by the connection is down, reestablishes the communication session by setting up another connection. Typically, a set formed by one connection manager and monitor corresponds to each type and/or origin of network card  904  used interchangeably in the slot(s). The system clock  936  is synchronized to a universal time clock and provides internal timing information to control SMD operations and timestamp collected data. The memory  940  is used during normal processing operations and as a buffer for data  1612  collected when the connection with the network is either unhealthy or down. Finally, the system manager  932  oversees operations of the SMD, identifies the types of digital incoming signals (e.g., by sensor  916  type) and, based on the type of incoming signal, translates the digital signals received from the sensors  916  to a selected language or format, packetizes the collected data  1612  with a data-type identifier included in the payload, and applies headers to the packets for uploading onto the network, handles mail and messaging functions, include drivers and programming for the user interface, performs remote system maintenance and troubleshooting functions, and other functions. 
     In one configuration, the manager  932  process multimedia information. For example, the manager  932  uses the following parameters to process video information: the URI address of the remote server, the imaging device name, time interval between snapshots. Boolean value for whether images should have a current date/time stamp. Boolean value for whether attachments should be sent as DIME or MIME attachments, temporary file storage location, and the name  1616  of the SMD  900  sending the video information. The name  1616  of the SMD  900  is used by the remote data processing network  710  to associate the received information with the corresponding vehicle; thus, the sending device name  1616  is selected to identify uniquely the SMD. 
     Operation of the Connection Manager and Monitor 
     The operation of the connection manager and monitor will now be described with reference to  FIGS. 10-12 . 
       FIG. 10  depicts the process used to establish a link or connection with a network using a selected network card  904 . The process starts in step  1000  when the user inserts a network card into a slot. 
     In step  1004 , the manager  932  identifies the card vendor code and product identifier. This is obtained by querying the card and/or by manual input such as via the touchscreen monitor. 
     In step  1008 , the manager  932  selects the corresponding connection manager  924   a - x  and monitor  928   a - x  for the particular card type and vendor. This can be done by dynamically writing the appropriate connection manager  924   a - x  and monitor  928   a - x , or by commenting out the unselected sets of connection manager  924   a - x  and monitor  928   a - x , or by placing a character or symbol indicating nonexecutable comment text in front of the code associated with the unselected connection managers  924   a - x  and monitors  928   a - x . The selected set of connection manager  924   a - x  and monitor  928   a - x  is not commented out. 
     In one configuration using a Linux operation system in the SMD, the connection manager  924   a - x  and connection monitor  928   a - x  are, collectively, formed by a number of daisy-chained files. In this configuration, the connection monitor  928   a - x  refers to the initialization file while the connection manager  924   a - x  refers to the chat script file, peers file, pap-secrets file, and ip-up.local file. 
     The initial file in the chain is the connection monitor  924   a - x  and is a file containing initialization information and script to perform various operations, including the next file in the file sequence. The file, for example, contains the logic of  FIG. 11 . 
     The next file in the chain is the peers file, which controls and configures (e.g., provides setup parameters for) a communications initiation application (not shown) of the operating system. The communication initiation application is preferably a part of the connection manager. The communications initiation application effects, after the link with the network is established, communication with other nodes via the network. As will be appreciated, in the Linux operating system the communications initiation application is known as the Point-to-Point Protocol Daemon or PPPD. PPP is the protocol used for establishing internet links over dial-up modems. DSL connections, and many other types of point-to-point links. The PPPD daemon works together with the kernel PPP driver to establish and maintain a PPP link with another system (called the peer) and to negotiate Internet Protocol (IP) addresses for each end of the link. PPPD can also authenticate the peer and/or supply authentication information to the peer. As will be appreciated, PPP can be used with other network protocols besides IP. 
     The communications initiation application controls the card and, inter alia, provides address information to the card. The peers file includes connection information to be used for the connection, such as the identity of the port (e.g., serial port name), the size of the window for used for input/output (e.g., desired baud rate for the serial device), whether the connection is to be persistent, the connect script used to connect the card, disconnect script used to disconnect the card, and other options such as default rate, speed, ttyname, crtscts, lock, mru, mtu, and passive. 
     The next file in the chain is the chat file, which contains the command set required, for the particular card vendor and type, to establish the connection. The command set typically is an ordered series of queries to the card and response definitions provided by the card in response to the queries. 
     The final file in the chain sequence is the pap-secrets file, which contains a username and password. 
     Another file in the sequence is the ip-up.local file, which, after the link is established with the network, is used by the modem to select a Domain. Name Service or DNS server and, inter alia, starts a time synchronization sequence with a universal time server to maintain synchronization between the system clock  936  and universal time. 
     In step  1012 , the manager  932  invokes the connection monitor, which in turn invokes the connection manager  924  to establish the connection with the network. 
     In step  1016 , the card sets up the connection. Generally, the card receives an identifier or address (e.g., telephone number, ESN or other) from the communication initiation application. The identifier or address is associated with the card and informs the network that the card is associated with an authorized wireless device. In the configuration, the network sets up a serial connection with the SMD followed by a handshake and authentication procedure between the card and network. Other links are also possible. After the link is up, the network assigns an IP address to the SMD. As will be appreciated, certain networks, such as Sprint and Verizon, automatically assign and provide a link with a DNS server address while others, such as Cingular, fail to provide a link with a DNS server address. For the latter networks, the DNS server address is included in the connection manager files. Regarding authentication, some network services, such as Cingular, use the same username and password for a number of network cards of the same type. Others, such as Sprint, include the post-card-activation authentication information in the card itself, so non pap-secrets file is needed in the connection manager. 
       FIGS. 11 and 12  depict the operation of the connection monitor  928   a - x  after a link has been established. 
     The process starts with the establishment of a link in step  1100 . 
     In decision diamond  1104 , the connection monitor  928   a - x  determines whether or not the link is up. The performance of this step depends on the air in surface used by the network. With most air interfaces such as the current CDMA services, the monitor  928   a - x  checks locally to determine if the monitor is up. If communication is lost with the network, the link is not up. In that event, the card automatically informs the manager  932  that the link is down. The system manager  932 , in response, removes the file for the link. In the Linux operation system, the manager  932  removes a point-to-point protocol (ppp) link from the route file when it is informed that a link is disconnected. If there is a ppp entry in the route file, the link is still up. If there is no ppp entry in the route file, the link is down. The monitor  928  can thus determine readily whether or not the link is up. 
     With certain connection cards on the GPRS air interfaces, the card does not inform the manager that the link has been disconnected, and the ppp entry remains in the route file even when the link is down (the “ppp Exception”). In this case, the monitor functions differently and forwards a query (e.g., DNS lookup request) to the DNS server. If a response is received, the monitor knows that the link is still up. If no response is received from the DNS server, the monitor knows that the link is down. 
     If the link is up, the monitor proceeds to decision diamond  1116  and repeats the foregoing operation after a predetermined time interval. 
     If the link is down, the monitor proceeds to step  1108 . In step  1108 , the monitor determines if the connection manager (i.e., the communications initiation application, [e.g., PPPD]) is running. Stated another way, the monitor determines whether the communications initiation application is configured for a persistent connection. When so configured, the communications initiation application will retry automatically to reestablish the connection with the network. Accordingly, when the communications initiation application is configured for a persistent connection the monitor proceeds to decision diamond  1116  as there is no need for it to effect reestablishment of the connection. When the communications initiation application is not configured for a persistent connection, the monitor proceeds to step  1120  in which it resets the card and effects reestablishment of the connection. In one configuration, the monitor simulates user removal and reinsertion of the card into the slot. 
       FIG. 12  depicts, in more detail, the process of step  1120  in the case of the “ppp Exception” noted above, that is used to reset the card in the event of a lost link. 
     In step  1200 , the monitor  928   a - x  performs a soft reset of the card. The soft reset is performed by the manager  932 , which removes power to the slot and then reapplies it. Some cards, however, do not permit the manager to remove power from the slot. 
     In decision diamond  1204 , the monitor  928   a - x  determines whether the manager  932  was successful in removing and reapplying power to the slot. When the soft reset has not been successful, the monitor  928   a - x , in step  1208  shuts down the communications initiation application  930 . Because the application is shut down during operation or “hard killed”, the manager  932  removes remnants from the application&#39;s operation to ensure that the remnants do not interfere with the ensuing steps of the process. 
     After removal of the remnants, the monitor  928   a - x , in step  1212 , repeats the soft reset of the card. 
     When the soft reset is successful in decision diamond  1204  or after the soft reset of step  1212 , the monitor  928   a - x , in step  1216 , provides the card attributes to the manager  932 . Primarily, the attributes pertain to how the SMD  900  is to recognize the card, e.g., as a serial or Universal Serial Bus or USB device as the manager  932  will need to set up a serial or USB connection, as appropriate. The communications initiation application is configured for serial connections. When the card is a USB device, the manager  932  will recognize automatically the card as a USB device, and, when the card is a serial device, the manager  932  will recognize automatically the card as a serial device. So that the card will interface with the communications initiation application, the monitor  928   a - x  instructs the manager  932  to set the card attributes tor a serial device. When the card is natively a serial device, the monitor  928   a - x  provides the manager  932  with a baud rate for the serial connection. There is no need to provide a baud rate when the card is natively a USB device as the baud rate for the connection with the USB card will be set automatically by the manager  932  at a sufficiently high rate. 
     The connection may be terminated voluntarily by the SMD  900  in response to a set of predetermined trigger events. One trigger event is a command by the user. Another trigger is when the received signal strength from the network fails below a selected threshold. Signal strength may be measured using the mechanisms currently used by cell phones to measure and report the signal strength to the user, even though the user has not yet placed a call. Yet another trigger is one or more selected quality of service (QoS) parameters falling below a corresponding predetermined threshold. Exemplary QoS parameters include packet loss, jitter, latency, etc. To prevent automatic reestablishment of the connection, the manager  932  can prevent the monitor  928  and communications initiation application from running. Alternatively, the manager  932  can permit the monitor  928  and communications initiation application to run in an attempt to reestablish the connection. Alternatively, the manager  932  can permit the monitor  928  and communications initiation application to run but select a different one of the cards (and a different network) for the connection attempt. In this alternative, the SMD  900  will move from network to network in response to variations in the health of the established link. 
     Data collection by the SMD  900  may be periodic or continuous. Periodic data collection may be based on one or more trigger events, such as the passage of a selected time interval, passage of a given number of data entries (either in total or sorted by parameter), detection of a change in one or more selected state parameters or variables, or receipt of a data transmission command by a user. When data collection is to be transmitted and the connection is either down or up but unhealthy, the SMD buffers the data in the memory  940  while the monitor  928  attempts to reestablish the connection with the same or a different network. When the connection is reestablished, the data is transmitted via the network to the remote server. 
     To conserve bandwidth, the manager may filter by a filter  1628  ( FIG. 16 ) the collected data that is transmitted to the remote server. The data may be filtered on a number of criteria, such as duplication or type. Regarding duplication when the date has not changed since a prior transmission, the data would not have to be resent. Only data that has changed since the prior transmission could be resent. Regarding data type, certain types of data may be sent automatically to the remote server while other types of data may only be sent in response to a trigger event, such as a change in the data or detection of an alarm condition of a vehicular state parameter, or a manual trigger via a touchscreen input. 
     A number of variations and modifications of the invention can be used, it would be possible to provide for some features of the invention without providing others. 
     For example in one alternative embodiment, the SMD  900  is configured for remote software upgrades, particularly for firmware. The software is not only that resident in the SMD  900  but also for an ancillary component, such as the sensors  916 . The upgrade is normally started by the operator of the vehicle commanding the SMD  900 , via the user interlace  920 , to initiate a software upgrade. The manager  932  contacts the remote server and checks for an appropriate upgrade. As part of the interaction, the manager  932  may need to provide authentication information, such as the name  1616  of the SMD  900 , a username and a password, or an authentication code. If an upgrade is located, the SMD  900  pulls the upgrade from the server  824  via the selected network. The manager  932  then proceeds to install the upgrade on the respective SMD  900  or ancillary component. 
     In another alternative embodiment, the SMD  900  is configured to detect automatically a network card  904  based on vendor and type and select automatically the corresponding set of connection manager  924   a - x  and monitor  928   a - x . When a card is inserted or otherwise selected by a user, the manager  932  accesses the vendor code and product identifier resident on the card and retrieves a lookup table, such as that depicted in  FIG. 13 , from memory  940 . The manager  932  maps the vendor code and product identifier set received from the card to receive an identifier for the corresponding set of connection manager  924   a - x  and monitor  928   a - x . In one configuration, the identifier is a memory address or pointer to one or more selected files in the corresponding set. Because in one configuration the connection manager  924   a - x  files are daisy-chained to the connection monitor  928   a - x , the identifier can be a pointer or memory address of the connection monitor  928   a - x  only. 
     In another alternative embodiment, the SMD is used in stationary roadside applications to collect various types of information. For example, in one configuration, the data collected can be the speed, volume and/or occupancy of passing vehicles. In another configuration, vehicle identification information. Such as a license plate number or license plate image, can also be sent with the speed of the identified vehicle. In another embodiment, photos of mountain passes, intersections, or other locations can be periodically sent back to the server. The collected data is transmitted to a server of a central data processing facility. In this configuration, the SMD can be either connected to power or be collocated with an on board power source, which could be a generator or a solar powering array. The data may be transmitted wirelessly or over a fiber network to the central data processing facility. 
     In yet another alternative embodiment, the SMD uses operating systems other than Linux, such as a Microsoft® operating system. 
     In yet another embodiment, dedicated hardware implementations including, but not limited to, Application Specific Integrated Circuits or ASICs, programmable logic arrays, and other hardware devices can likewise be constructed to implement the methods described herein. Furthermore, alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein. 
     In yet another embodiment, a data scrubbing server may be used. Data scrubbing is the process of detecting and correcting or removing corrupt or inaccurate records from a record set, table, or database. The term refers to identifying incomplete, incorrect, inaccurate or irrelevant parts of the data and then replacing, modifying, or deleting this dirty data. After scrubbing, a data set will be consistent with other similar data sets in the system. The inconsistencies detected or removed may have been originally caused by user entry errors, by corruption its transmission or storage, or by different data dictionary definitions of similar entities in different stores. The actual process of data scrubbing may involve removing typographical errors or validating and correcting values against a known list of entities. The validation may be strict (such as rejecting any address that does not have a valid postal code) or fuzzy (such as correcting records that partially match existing known records). 
     Some data scrubbing solutions may scrub data by cross checking with a validated data set. Also data enhancement, where data is made more complete by adding related information, is a common data scrubbing practice. Date scrubbing may also involve activities such as harmonization of data. For example, harmonization of data may consist of harmonizing short codes (e.g. st, rd) to actual words (e.g. street, road). 
     When a data scrubbing server is used the sets of collected information are sent to the data scrubbing server that identifies bad sets of collected information by any of the processes listed above. Bad sets of collected information may contain information that is incomplete or inaccurate or defective in any of the ways listed above. The data scrubbing server may correct or delete or otherwise manipulate the bad sets of collected information before forwarding the sets of collected information to the server for further processing. 
     In yet another embodiment, the sets of collected information are directed through one or more auxiliary servers before the sets of collected information are sent to the server for further processing. These auxiliary servers may add data to the sets of collected information, copy the sets of collected information for other uses, use the sets of collected information for other processes before forwarding the data, or perform any other process on the data as would be recognized by one of ordinary skill in the art, or do nothing with the data except for re-forwarding it. 
     It should be appreciated that the present system and method could be employed in the summer as well as the winter and is not limited solely to use in the winter in connection with snow maintenance activities, but can also be used in connection with other maintenance activities. An embodiment of the system and method for use in non-snow maintenance activities will now be described. 
     As in the previously described embodiments, the smart modem system collects and transmits selected output information regarding a vehicle state and/or its occupant(s) and/or receives selected input information for use by the vehicle and/or its operator. Each of the smart modem systems is in communication with a wireless public or private network. The wireless network is, in turn, in communication with an enterprise Local Area Network or LAN. The modem systems collect selected types of information and continually of periodically forward the information, via the network, to the enterprise network for storage and processing. The stored and processed information can be accessed locally and directly by clients, such as PCs and laptops, internal to the enterprise network or remotely by clients external to the enterprise network. The stored information is typically indexed by a unique SMD device name and corresponding vehicle name pairing. The wireless network can be any type of wireless service and/or air interface. The public or private network can be either landline or wireless. 
     The information collected by the modem system can vary depending on the application. For example, the system may associate GPS location data with a maintenance need, such as by noting the location of potholes, lights in need of repair, guardrails in need of repair, areas that require spraying for weeds and/or mowing, damages to bridges or abutments, damages to roadway signs, areas that require cleaning or other roadway elements requiring maintenance. This information can then be relayed to the enterprise network so that work orders to complete the necessary repairs can be generated. Likewise, the system can collect data regarding work done by the crews, so that as work orders to complete repairs are completed by the crews, the system can note that the repairs were made. In this way the system can track both repairs that need to be done, as well as the completion of those repairs and keep an up-to-date list of items requiring maintenance intervention, just as it does in the winter, the system can also collect weather information. Weather information can be acquired, through sensors mounted on the maintenance vehicle, or it can be input manually by an operator. The weather information can be then be sent to the enterprise network and used in addition to or in combination with other weather feeds or forecasts to provide up-to-date weather observations. 
     The enterprise network can perform a variety of data processing functions. The network, for example, can compare information or a given sensed parameter to identify trends or differences and, if necessary, generate appropriate alarms. The alarms can be logged internally and/or forwarded to the respective vehicle via the modem system. The vehicle operator and/or automated components thereof can then take appropriate remedial action to address the cause of the alarm. The communications can, for example, provide instructions to the vehicle operator, such as vehicle and/or ancillary device operation and dispatch commands, and/or to automated components of the vehicle itself to remotely control selected vehicle operations. 
     Providing accurate weather information to crews in the field is essential for both safety as well as efficient operations. For instance, crews working on metal guardrail repairs must be notified of any thunderstorm activity in the area they are working. Lightning strikes to metal guardrails can result in current travelling significant distances through the guardrail, and indeed workers have been killed, or seriously injured while working on guardrails as a result of lightning strikes a significant distance removed from the area of work. Likewise, work on drainage culverts or other areas that might be subject to flash flooding should not be done if rain is likely, as there will be a risk to workers as a result of flooding. With regard to efficiency, certain maintenance processes should only be carried out in favorable weather conditions. For instance, concrete should not be poured in rainy conditions that will impact the finished surface of the pour and spraying for weeds should not be conducted in windy conditions where the treatment materials will be dispersed by the wind instead of remaining on the plants. Similarly, painting operations should not take place in windy conditions to avoid overspray. Thus, the system provides weather data to the maintenance vehicles, including notifications of thunderstorm activity and notifications of wind activity to address these safety and efficiency issues. 
     In one configuration, the data processing can provide a spatial map showing vehicle locations, vehicle operations, and other information. Text information can be depicted on the map adjacent to or associated with icon representing the vehicles. The map can also depict, for a selected vehicle, a trace route over a selected period of time. A trace route indicates the path of travel of the vehicle over the selected time period. 
     In the described embodiment, the modem systems commonly include a smart modem device and peripherals thereof, such as a video monitor (e.g., a touchscreen), external GPS and connection antenna, and wired or wireless connections to internal vehicular components. 
     Another function the system can perform is tracking material usage. This function has particular applicability in winter-usage of the system, but the function can also be used year-round. Tracking the usage of de-icing materials, for example, will allow the operator of a maintenance department to better forecast material usages, which in turn will allow the operators to purchase these materials in times of the year when market conditions are more favorable, rather than waiting for the supply of the materials to run out and being forced to obtain the materials at the going rate in the market. For example, a fixed camera can be placed in the storage location for deicing materials and can be used to estimate the remaining stock of these materials. Alternatively, the tracking of material usage could be accomplished by having operators key in the data into the system, or the data could be dynamically updated by tracking usage by the individual vehicles tracked by the system. Furthermore, the system can track material usage year-to-year and thereby provide estimates for the purchase of de-icing materials in advance of the need for those materials, again allowing for the purchase of the materials at the most favorable times of year. 
     In another embodiment of the system and method, accident data is provided to the maintenance decision support system. This accident data may take the form of real-time accident data (e.g. acquired in real time from the highway patrol or other sources) and/or historical accident data (e.g. acquired on a post-event basis from the highway patrol or other sources). More particularly, this accident data takes the form of geographic coordinates of traffic accidents. Optionally, the accident data can contain the date and time of traffic accidents, weather and road conditions at the time of the accident and other relevant information pertaining to the traffic accident. The maintenance decision support system can use the accident data to determine locations along a given road segment that are particularly susceptible to accidents and can determine the weather conditions that exacerbate these conditions. For example, a particular segment may be exposed to a northwest wind that causes the segment to accumulate snow or ice faster than other segments of the same road. By determining the locations along a road segment that are particularly susceptible to causing accidents and the weather conditions to aggravate these accident conditions, the maintenance decision support system can determine instructions specific to that accident-prone locations. Once the system has identified problematic locations during storm events (e.g., by looking at a 5 year record of accidents during storm events) it will allow the system to focus additional efforts on such areas—some such areas may require several times the amount of coverage in terms of repetition and materials as the rest of the road segment. This could significantly help improve overall traffic flows and road carry capacity even during storms. 
     In another embodiment of the system and method, real-time vehicle speed and volume on a given road segment can be provided to the maintenance decision support system. Many states have deployed roadside sensors which can detect the speed at which vehicles are traversing a given segment of road. Likewise these sensors can also determine the volume of traffic on a given road segment. It is further expected with the increasing location based systems installed in vehicles, combined with the increase in data acquisition and analysis being performed in and from vehicles, it will be possible to obtain speed and/or volume data directly for and from vehicles traversing a given road segment. When road conditions deteriorate and drivers slow down to negotiate the now treacherous roads, changes in speed and volume can identify areas requiring special attention. By providing real-time vehicle speed and volume data to the maintenance decision support system, the system can gauge the acquired data against normal speed/volume profiles for a given road segment, with an overall objective of maintaining maximum road carry capability. Output from the system can be disseminated not only to maintenance vehicle drivers and supervisors, but to traffic control centers (e.g. for adjusting variable speed limits, ramp access and even road closures) and to the public (through call-in and especially mobile/web based applications). 
     Speed and volume profiles for a given road segment are much like the profile of a saw blade. When vehicle spacing starts getting too tight, speed and volume crash sharply. The crash is typically either caused when vehicles start getting too close to each other and start slowing down, or worse when an accident occurs and traffic backs up. After the cause of the slowdown dissipates, the speed will gradually climb back up. Speed and volume combine to give the carry capacity of the road (i.e. how many vehicles can traverse a given road segment in a given period of time). When speed and volume information is integrated into the system, along with normal speed/volume profiles for a given segment of road, the system can identify where speed and volume are beginning to deviate from norms and the road may need more maintenance attention. Traffic flows best at a relatively stable rate, and rate disparity significantly contributes to accidents. Thus, it is desirable to keep traffic flowing fairly steady at a fairly good speed. It does little to have most of a given portion of road flowing if there is a non-flowing stretch every now and then, as traffic will back-up from the bad portions into the good portions. 
     In another embodiment of the system and method, the maintenance decision and support system can make a determination as to whether the forecast was off or whether the treatment recommendations provided or the execution of those recommendations was to blame for any traffic problems that developed during a weather event. During a weather event, the system closely monitors what the snowplow operators did, how the weather is shaping up to forecasts, where traffic incidents are occurring and/or where there are deviations from the speed/volume profiles, and adjusts the treatment strategy accordingly. After the weather event, the system can review these same factors and better determine whether there were issues in the forecast, recommendations or execution. For example, execution of the treatment strategy may have been entirely correct, but the weather was colder than forecast and the treatment strategy was not adjusted quickly enough. Conversely, it may be determined that the forecast and treatment, strategy were correct, but the execution of the treatment strategy was the problem (for example—snowplow crews started out too late; snowplows following too closely behind each other; snowplows didn&#39;t getting to or stay on top of problem areas). Based on these determinations, the system can adjust its recommendations in future weather events based on factors that occurred in prior weather events. 
     The present invention, in various embodiment, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various embodiments, subcombinations, and subsets thereof. Those of skill in the art will understand how to make and use the present invention after understanding the present disclosure. The present invention, in various embodiments, includes providing devices and processes in the absence of items not depicted and/or described herein or in various embodiments hereof, including in the absence of such items as may have been used in previous devices or processes, e.g., for improving performance, achieving ease and/or reducing cost of implementation. 
     The foregoing discussion of the invention has been presented for purposes of illustration and description. The foregoing is not intended to limit the invention to the form or forms disclosed herein. In the foregoing Detailed Description for example, various features of the invention are grouped together in one or more embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the following claims are hereby incorporated into this Detailed Description, with each claim standing on its own as a separate preferred embodiment of the invention. 
     Moreover, though the description of the invention has included description of one or more embodiments and certain variations and modifications, other variations and modifications are within the scope of the invention, e.g., as may be within the skill and knowledge of those in the art, after understanding the present disclosure. It is intended to obtain rights which include alternative embodiments to the extent permitted, including alternate, interchangeable and/or equivalent structures, functions, ranges or steps to those claimed, whether or not such alternate, interchangeable and/or equivalent structures, functions, ranges or steps are disclosed herein, and without intending to publicly dedicate any patentable subject matter.