System for integrating a plurality of modules using a power/data backbone network

Information

  • Patent Grant
  • 8526311
  • Patent Number
    8,526,311
  • Date Filed
    Tuesday, March 29, 2011
    13 years ago
  • Date Issued
    Tuesday, September 3, 2013
    11 years ago
Abstract
A Virtual Electrical and Electronic Device Interface and Management System (VEEDIMS) support architecture is provided. In one example, the VEEDIMS support architecture includes a vehicle layer and a shop layer. The vehicle layer has a module and a controller positioned in a vehicle. The module is configured to couple to a device via an input/output (I/O) interface compatible with the device and configured to couple to the controller via a cable adapted to simultaneously carry bi-directional data and uni-directional power to the module. The shop layer is separate from the vehicle layer and has a browser configured to communicate with an HTTP server in the module and an analysis tool configured to receive and analyze event driven and time series data from the controller.
Description
TECHNICAL FIELD

The following disclosure relates to control systems and, more particularly, to providing and controlling modular functionality over a power/data backbone.


BACKGROUND

It is well known that power and communication components, particularly in vehicles, are frequently formed as islands of automation in which communication and power distribution with other islands is limited or nonexistent. For example, a vehicle's electrical system is typically limited to an inflexible wiring harness and isolated components that are difficult to troubleshoot and repair. Therefore, a need exists for a system that is able to provide and control an integrated power and data network and corresponding modular components.


SUMMARY

In one embodiment, a Virtual Electrical and Electronic Device Interface and Management System (VEEDIMS) support architecture is provided. The VEEDIMS support architecture comprises a vehicle layer and a shop layer separate from the vehicle layer. The vehicle layer has a module and a controller positioned in a vehicle. The module is configured to couple to a device via an input/output (I/O) interface compatible with the device and configured to couple to a controller via a cable adapted to simultaneously carry bi-directional data and uni-directional power to the module. The module has a first processor and a first memory containing a first instruction set executable by the first processor. The first instruction set includes instructions for providing a HyperText Transfer Protocol (HTTP) server. The first memory further contains a documentation set containing a service history of the module and a bill of materials for at least one of the module and the device that is accessible via the HTTP server and both event driven and time series data captured from the device and the module during operation of the vehicle. The controller has a second processor and a second memory containing a second instruction set executable by the second processor. The second instruction set includes instructions for receiving data from the module and storing the data in the second memory. The data includes the event driven and time series data. The shop layer has a browser and an analysis tool. The browser is configured to communicate with the HTTP server to access the documentation set. The analysis tool is configured to receive the event driven and time series data from the controller and analyze a performance of the vehicle compared to predefined optimal vehicle parameters using the event driven and time series data.


In another embodiment, a Virtual Electrical and Electronic Device Interface and Management System (VEEDIMS) support architecture is provided. The VEEDIMS support architecture comprises a vehicle layer and a shop layer separate from the vehicle layer. The vehicle layer has a plurality of modules and a controller positioned in a vehicle. Each of the plurality of modules is configured to couple to at least one device via an input/output (I/O) interface compatible with the device and configured to couple to the controller via a cable adapted to simultaneously carry bi-directional data and uni-directional power to the module. Each module has a first processor and a first memory containing a first instruction set executable by the first processor. The first instruction set includes instructions for capturing and storing both event driven and time series data from the module and the device during operation of the vehicle. The controller has a second processor and a second memory containing a second instruction set executable by the second processor. The second instruction set includes instructions for receiving data from each of the plurality of modules and storing the data in the second memory. The data includes the event driven and time series data. The shop layer has a communications component, a server, and an analysis tool. The communications component is configured to obtain the data from at least one of the plurality of modules and the controller. The server is configured to store the obtained data. The analysis tool is configured to review and analyze the event driven and time series data to correlate the event driven and time series data to a specific fault event and to view a status of vehicle layer systems during the interval of the specific fault event.





BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding, reference is now made to the following description taken in conjunction with the accompanying Drawings in which:



FIG. 1 illustrates software and hardware layers that may be present in one embodiment of a Virtual Electrical and Electronic Device Interface and Management System (VEEDIMS) control environment (VCE);



FIG. 2 illustrates one possible configuration of the hardware layers in an embodiment of the VCE of FIG. 1;



FIG. 3 illustrates another possible configuration of the hardware layers in an embodiment of the VCE of FIG. 1;



FIG. 4 is a block diagram illustrating one embodiment of a VEEDIMS controller that may be used in the VCE of FIG. 1;



FIG. 5 is a block diagram illustrating one embodiment of a VEEDIMS switch that may be used in the VCE of FIG. 1;



FIG. 6 is a block diagram illustrating one embodiment of a VEEDIMS module that may be used in the VCE of FIG. 1;



FIG. 7 illustrates one embodiment of a system architecture that may incorporate aspects of the VCE of FIG. 1;



FIG. 8 illustrates one embodiment of a vehicle in which the VCE of FIG. 1 may be used;



FIG. 9 illustrates one embodiment of the VCE of FIG. 1 positioned within the vehicle of FIG. 8; and



FIG. 10 illustrates one embodiment of a structure in which the VCE of FIG. 1 may be used.





DETAILED DESCRIPTION

Referring now to the drawings, wherein like reference numbers are used herein to designate like elements throughout, the various views and embodiments of system and method for integrating a plurality of modules using a power/data backbone network are illustrated and described, and other possible embodiments are described. The figures are not necessarily drawn to scale, and in some instances the drawings have been exaggerated and/or simplified for illustrative purposes only. One of ordinary skill in the art will appreciate the many possible applications and variations based on the following examples of possible embodiments.


The following disclosure describes providing and controlling an integrated power and data network and corresponding modular components to all or portions of a vehicle or a structure. The term “vehicle” may include any artificial mechanical or electromechanical system capable of movement (e.g., motorcycles, automobiles, trucks, boats, and aircraft), while the term “structure” may include any artificial system that is not capable of movement. Although both a vehicle and a structure are used in the present disclosure for purposes of example, it is understood that the teachings of the disclosure may be applied to many different environments and variations within a particular environment. Accordingly, the present disclosure may be applied to vehicles and structures in land environments, including manned and remotely controlled land vehicles, as well as above ground and underground structures. The present disclosure may also be applied to vehicles and structures in marine environments, including ships and other manned and remotely controlled vehicles and stationary structures (e.g., oil platforms and submersed research facilities) designed for use on or under water. The present disclosure may also be applied to vehicles and structures in aerospace environments, including manned and remotely controlled aircraft, spacecraft, and satellites.


Referring to FIG. 1, in one embodiment, a Virtual Electrical and Electronic Device Interface and Management System (VEEDIMS or simply denoted herein by a “V” prefix) control environment (VCE) 100 is illustrated. The VCE 100 may include software and hardware components arranged into software layers 102 and hardware layers 104 to provide distributed and local level intelligence. Software layers 102 may include a VEEDIMS controller (VController) layer 106, a VEEDIMS network (VNet) transport layer 108, and a VEEDIMS module (VModule) driver layer 110. Hardware layers 104 may include one or more VControllers 112, a VCE power source 114, VEEDIMS switches (VSwitches) 116, and VModules 118, with connections between the various hardware components provided by VNet cables 120 and/or VEEDIMS power (VPower) cables 122.


The software layers 102 provide control instructions for the hardware layers 104 and enable the hardware layers to operate, gather data, monitor and report events, and perform other functions needed to provide a VEEDIMS operating environment (VOE). The actual physical location of functionality provided by the software layers 102 may vary depending on the configuration of the VCE 100. For example, certain software functions may be located in the VController 112 in some configurations, but may be located in the VModule 118 in other configurations.


The VController layer 106 includes a VEEDIMS controller kernel that, among other functions, executes VEEDIMS controller drivers (not shown). The VEEDIMS controller drivers are software modules that are configured to interact with VModules 118 which, as will be described below, directly operate, manage, and monitor electrical and electronic systems operating within the VCE 100. The VEEDIMS controller drivers are high level drivers that may be relatively generic, with more specific drivers (e.g., in the VModule driver layer 110) provided in lower software layers that interpret communications between the generic high level drivers and physical component interfaces.


The VNet transport layer 108 may be based on an open protocol, such as an optimized version of the Ethernet protocol, and carries broadcast and/or addressable VNet traffic to support the high speed real-time operational capabilities of the VCE 100. The VNet traffic is packet-based, and the term “packet” as used in the present disclosure may include any type of encapsulated data, including datagrams, frames, packets, and the like, and the encapsulated information may include voice, video, data, and/or other information. Some or all of the VNet traffic may be encrypted.


The VNet transport layer 108, in conjunction with a VNet backbone (described below), enables network communications to be integrated down to the discrete input/output (I/O) level using a high bandwidth network. This is in contrast to traditional vehicle networking technology that generally applies networking to accomplish very specific purposes with respect to a given subsystem in the vehicle. In addition to Ethernet, other protocols that may be used by the VNet transport layer 108 include the Transmission Control Protocol/Internet Protocol (TCP/IP), User Datagram Protocol (UDP), HyperText Transfer Protocol (HTTP), Modbus (a serial communication protocol published by Modicon), Bluetooth, Firewire, Controller Area Network (CAN), and Flexray. For example, VEEDIMS may use Modbus TCP as the de-facto Ethernet communication standard and Modbus as the de-facto serial communication standard, with other application specific lower level protocols accessible using Modbus TCP as the gateway.


The VModule driver layer 110 is configured to interact with internal hardware of the VModules 118 and equipment that is physically connected to the VModule internal hardware, as will be described later in greater detail. These may be device specific drivers that are written so that a particular subsystem (e.g., a VModule 118 and a device/component) or device can function within the VCE 100.


The hardware layers 104 provide a hardware platform on which the software layers 102 may be executed and also provide communication and power links between various subsystems and components. The VControllers 112 run the VEEDIMS controller kernel, which is part of the VController layer 106 and is responsible for managing the VOE. The VControllers 112 are generally responsible for mission critical tasks and may have functionally overlapping responsibilities to minimize problems that may be caused when a VController fails.


One or more VCE power sources 114 may provide electrical energy to all components within the VCE 100, either directly or indirectly. The VCE power source 114 may be coupled to an electrical grid formed by VNet cables 120 and VPower cables 122, which are described below. The electrical grid may be a high quality (e.g., aerospace level) grid that uses supervised magnetic hydraulic circuit breakers and cycle by cycle or fold back current limiting electronics to protect components and wiring and to speed diagnostics and fault recovery. Supervision gives the operator of a vehicle an immediate indication of the reason for an electrical system failure and may include steps to be taken to resolve the problem. Current fold back may be used to limit an electrical fault to a sub-system, thereby containing the fault and providing the vehicle with the maximum possible functionality despite the occurrence of the fault.


The VSwitch 116 includes a physical enclosure that contains electronics and connectors needed to enable the VSwitch to act as a conduit for VNet traffic between the VController 112 and VModules 118. The VSwitch also distributes power (i.e., VPower current) received from the VCE power source 114 to the VModules.


The VModule 118 is a discrete electrical/electronics interface module designed to enable any electrical/electronic device to have digital data and power connectivity to the VCE 100 via a VNet backbone (e.g., a network or a multi-drop communication bus) formed by the VSwitches 116 and VNet cables 120. In some embodiments, the VModules 118 may include at least limited control functionality.


Interconnections in the VCE 100 are provided by VNet cables 120 and VPower cables 122. A VNet cable 120 is a physical VNet distribution cabling medium that is capable of providing a digital signal pathway and direct current (DC) voltage interconnections between the VControllers 112, VSwitches 116, and VModules 118. A VPower cable 122 is a physical power distribution cabling medium dedicated to delivering high amperage DC voltage from the VCE power source 114 to the VControllers 112 and VSwitches 116.


The functionality provided by VNet cables 120 and VPower cables 122 may vary depending on the particular VCE 100. For example, some VCE implementations may only need to support twelve volt DC power applications, while other implementations may require higher voltages (e.g., twenty-four volts DC, forty-eight volts DC, or 110/220 VAC at 50/60 Hz). In VCE implementations having higher power requirements, dedicated versions of VSwitches 116, VModules 118, VNet cables 120, and VPower cables 122 may be provided. The dedicated versions may be identified by the use of color coded cabling and differently configured and keyed connectors to eliminate the possibility of connecting VSwitches 116 and VModules 118 that are not power compatible.


One embodiment of a VNet cable 120 is formed as an integrated single cable connector assembly that combines power distribution and data networking capabilities. The assembly may include a water-resistant connector that meets a particular ingress protection standard (e.g., qualifies as an IP-67 or similar level protection seal) that provides a rugged interface to a VModule 118 or a sub-system within the VCE 100. The connector may have a particular power distribution level as described above (e.g., twelve, twenty-four, or forty-eight volts DC or 110/220 VAC 50/60) and may include a neutral contact capable of carrying the required current and a network connector designed for use with multiple high performance protocols. The VNet cable connector may support various levels of Ethernet (e.g., 10baseT, 100baseT, and 1000baseT). Other embodiments may support protocols such as the Universal Serial Bus (USB) protocol, Firewire, CAN, and Flexray in addition to or as alternatives of Ethernet. The VNet cable assembly's connector shell may be manufactured to aerospace standards from a corrosion resistant material with a temperature rating suitable for harsh application environments. A matching jacketed cable assembly may be used that has shielding sufficient to maintain crosstalk or other noise at a level that will not interfere with VNet data traffic.


The VNet cable 120 integrates neutral wiring into a single cable concept to prevent ground loops, reduce noise, and improve reliability. Traditionally, cars, boats, airplanes, and similar environments have used the vehicle's metal chassis as a return path for the DC operating voltage. This is done mainly as a cost saving measure, but can lead to downstream failures. For example, the electrical connections to ground can be at different galvanic potentials depending on the finish and composition of the materials used, and this can accelerate corrosion in an already hostile operational environment. The electrical resistance of circuits can vary over time, leading to varying voltages running through the same common ground, which often induces electrical noise between circuit paths. Accordingly, by using the VNet cable 120, VEEDIMS minimizes or eliminates these problems due to the VNet cable's configuration as a protected ground wire with gas tight, high reliability connections designed to isolate the electrical circuit return path and minimize or eliminate induced electrical cross talk.


It is understood that many different types of communication media may be used in addition to or as an alternative for the VNet cable 120, including copper and optic fiber. If optic fiber is used, the VModule 118 or another component of the VCE 100 may perform fiber-to-copper and copper-to-fiber conversions.


With additional reference to FIG. 2, in another embodiment, one possible configuration of the hardware layers 104 of FIG. 1 is illustrated. In the present example, the VController 112 is coupled to the VCE power source 114 via a VPower cable 122 and to a VSwitch 116 via a VNet cable 120. The VCE power source 114 is also coupled to the VSwitch 116, as the VNet cable 120 may not be carrying power and/or may not be capable of providing the amount of power needed to power the VSwitch and components that depend on the VSwitch for power, such as the VModule 118. The VModule 118 is connected only to the VSwitch 116, although it may be connected to other VModules as described below. Although not shown, the VController 112 may be directly connected to the VModule 118 in some embodiments (i.e., without an intervening VSwitch 116). One or both of the VController 112 and VSwitch 116 may communicate with the VCE power source 114 to determine power availability, to pass power consumption needs back to the VCE power source, and to control power levels.


In addition to being coupled to the VSwitch 116, the VModule 118 may be coupled to a subsystem/device 200 via an input/output (I/O) interface 202, which may be a VNet cable 120 or another bus-based, analog, and/or digital I/O interface. Although shown as outside of the VCE 100 in the present example, the subsystem/device 200 may be part of the VCE. The VModule 118 may be integrated with the subsystem/device 200 to form a single subsystem or may be separate as shown.


The VCE 100 may support “plug and run” functionality by automatically integrating the VModule 118 or subsystem/device 200 with the VCE after the VModule or subsystem/device is plugged into the VNet backbone. The integration status of the VModule 118 or subsystem/device 200 with the VCE 100 may be indicated by a light emitting diode (LED) or another indicator. For example, when the subsystem 200 is coupled to the VNet backbone, an LED color of the subsystem may indicate the subsystem's integration status. A red LED may indicate that the subsystem 200 is not integrated with the VCE 100 (e.g., due to a lack of available power) and a green LED may indicate that the subsystem is integrated and operational. If not integrated when first plugged in, the LED color may change from red to green if, for example, power becomes available for the subsystem 200.


The VCE 100 may support self-publishing. In self-publishing, when a new component such as the VModule 118 or a VEEDIMS enabled subsystem or device (e.g., one that has at least basic VModule functionality integrated therein) is connected to the VNet backbone, the new component publishes its “personality” (e.g., power needs, capabilities, and other information). Alternatively, the VController 112 or another component may query the new component to determine its personality. If the new component is a member of a class (as described later), the VCE 100 may already have certain information (e.g., maximum power consumption) about the new component. Accordingly, rather than adding the new component as a part to the VCE 100 in the traditional sense, which often requires entering information about the new component into the VCE, the VCE enables a new component to simply be plugged into the VNet backbone and then identifies relevant information about the new component.


The VCE 100 may support automatic updating. Automatic updating, when a new component such as a VModule 118 or a VEEDIMS enabled subsystem or device (e.g., one that has at least basic VModule functionality integrated therein) is connected to the VNet backbone, the new component may send information to update the higher control levels of the VOE regarding the new component. This avoids human error in entering information regarding the new component.


The VCE 100 may support efficient power use through power splitting. In power splitting, when a new component such as a VModule 118 or a VEEDIMS enabled subsystem or device (e.g., one that has at least basic VModule functionality integrated therein) is connected to the VNet backbone, the VController 112 or another component such as the VSwitch 116 may make a decision as to whether sufficient power exists to operate the new component. This decision may be based on the new component's operating specifications, which may be published by the new component when it is connected or may be obtained by querying the new component. If enough power is available, the amount of power available is decremented and the new component is accepted into the VCE 100 as active. If there is not enough power available, either because the new component's power requirements exceed the available power or some power is being reserved and is not available for use by the new component, the new component is denied access to the VCE 100 or is placed in an inactive status until enough power is available.


If the new component is not VEEDIMS enabled, the VModule 118 into which it is plugged may run tests to determine the new component's power usage or may simply allocate a certain level of power, assuming that the power is available. For example, if a non-VEEDIMS enabled fan is plugged into the VModule 118, the fan is not capable of publishing information about its personality and cannot be queried to find out such information. Accordingly, the VModule 118 may monitor the fan's operation to identify power and current requirements, temperature, and similar information to build a profile for the fan and to prevent short circuits and other problems. The VModule 118 may then update the VOE using the profile information, thereby serving as a VEEDIMS proxy to provide the non-VEEDIMS enabled fan with at least basic VEEDIMS functionality.


Power splitting may also make the VCE 100 more environmentally friendly as power consumption can be monitored and controlled at different levels of the VCE to ensure that it is being used efficiently. This control may be used to identify high power requirement components for replacement and to generally regulate power consumption within the VCE 100.


The VCE 100 may support software and hardware redundancy. For example, hardware redundancy may be provided by using multiple hardware components (e.g., VControllers 112) for mission critical operations and by providing dual ports and other safeties for the VControllers 112, VSwitches 116, and VModules 118. Some or all of the VControllers 112, VSwitches 116, and VModules 118 may also use heartbeat or other notification methods to enable the VCE 100 to detect software, hardware, and link failure and to adjust accordingly.


With additional reference to FIG. 3, in yet another embodiment, one possible configuration of the VCE 100 of FIG. 1 illustrates the ability to couple multiple VSwitches 116 and VModules 118 to one another (i.e., daisy chain). The ability to daisy chain VSwitches 116 eliminates the need to run separate VNet cables 120 and VPower cables 122 from each VSwitch back to the VController 112 and the VCE power source 114, respectively, in the VCE 100. Similarly, the ability to daisy chain VModules 118 eliminates the need to run separate VNet cables 120 from each VModule back to the VSwitch 116. This enables the cabling to be run more efficiently, as the VCE 100 may be configured with multiple VSwitches 116 and VModules 118 distributed throughout a vehicle or other environment.


Daisy chaining may include power, data, or both power and data. One or more of the VSwitches 116 and VModules 118 may include an Ethernet switch configured to pass data through to other VSwitches and VModules to enable VNet traffic daisy chaining. Furthermore, power may be sent in one direction of a daisy chain and data may be sent in the other direction. Accordingly, a high level of flexibility is available for any given configuration of the VCE 100 while providing a distributed and de-coupled (i.e., modular) system.


In the present example, VController 112 is coupled to VCE power source 114 for power (dotted line) and to VSwitches 116a and 116b for VNet data communications (solid lines). VSwitch 116a supplies VNet data and power to VModule 118a, which in turn supplies VNet data and power to daisy chained VModule 118b. VSwitch 116b is coupled to VSwitch 116c and VModule 118c and supplies VNet data to VSwitch 116c and both VNet data and power to VModule 118c. Note that VSwitch 116b is not coupled directly to VCE power source 114. VSwitch 116c is coupled to VModules 118d and 118e as well as VSwitch 116b. VSwitch 116c supplies power to VSwitch 116b and both VNet data and power to VModules 118d and 118e. Although not shown, the VController 112 and/or VSwitches 116 may communicate with the VCE power source 114 to determine power availability, to pass power consumption needs back to the VCE power source, and to control power levels.


Additional VSwitches 116 (not shown) may be coupled to VController 112 and/or daisy chained from VSwitches 116a-116c, and additional VModules 118 (not shown) may be coupled to one of the VSwitches 116a-116c or daisy chained from VModules 118a-118e. Furthermore, multiple VSwitches 116 may be coupled to a single VSwitch and multiple VModules 118 may be coupled to a single VModule. Constraints to the number of VSwitches 116 and VModules 118 that can be connected may include the number of available ports and the amount of power needed by the chained components versus the amount of power available to the chain. The number of connections required for relatively long chains may increase the difficulty of replacing cables and components.


Although not shown, it is understood that many different network topographies may be used. For example, both ring network configurations and star network configurations may be used in the VCE 100.


Referring to FIG. 4, one embodiment of the VController 112 of FIG. 1 is illustrated. The VController 112 includes a VEEDIMS central processing unit (VCPU) 400, a memory 402, a communication/power interface 404, and one or more internal communication links 406. It is understood that the configuration and types of components of the VController 112 may vary depending on the particular VCE 100 in which the VController is to be used. For example, in a vehicular environment, the VController 112 may be designed as a relatively compact integrated circuit board with the minimum number of ports that are needed to provide the desired functionality. In contrast, an environment such as a structure (e.g., a home or office building) may use a less compact VController 112 as space is generally less important. Furthermore, the VController 112 may be relatively generic for use in many different VCEs, or may be customized for use in a particular VCE 100 having highly specific requirements (e.g., an aerospace environment).


The VCPU 400 may actually represent a multi-processor or a distributed processing system; the memory 402 may include different levels of cache memory, main memory, hard disks, and remote storage locations; and the communication/power interface 404 may represent multiple interfaces dedicated to receiving, splitting/combining data and power, and transmitting. For example, the communication/power interface 404 may have a first interface (not shown) that receives power from the VCE power source 114 via a VPower cable 122 and a second interface (not shown) that communicates with one or more VSwitches 116 via a VNet cable 120. In some embodiments, the VController 112 may also send power to the VSwitches 116 via the VNet cable 120. The data transmission capabilities of the communication/power interface 404 may provide both wireline (e.g., the VNet cable 120) and wireless functionality.


Instructions for the VController layer 106 (e.g., the VEEDIMS controller kernel and VEEDIMS controller drivers) and VNet transport layer 108 may be stored in the memory 402 and executed by the VCPU 400. The VController layer 106 functionality may be handled entirely by the VController 112, or some or all of the VController layer functionality may be pushed down to the VSwitch 116 level or lower. As will be discussed later, additional functionality may be provided by the VController 112 to allow users to interact with the VController in order to control parameters of the VCE 100 and to obtain data regarding the VCE. If multiple VControllers 112 are present in the VCE 100, they may include software to provide load balancing functionality and to ensure redundancy if one of the VControllers fails.


Referring to FIG. 5, one embodiment of the VSwitch 116 of FIG. 1 is illustrated. The VSwitch 116 includes a processing unit (PU) 500, a memory 502, a communication/power interface 504, and one or more internal communication links 506. It is understood that the configuration and types of components of the VSwitch 116 may vary depending on the particular VCE 100 in which the VSwitch is to be used. For example, in a vehicular environment, the VSwitch 116 may be designed as a relatively compact integrated circuit board with the minimum number of ports that are needed to provide the desired functionality. In contrast, an environment such as a structure (e.g., a home or office building) may use a less compact VSwitch 116 as space is generally less important. Furthermore, the VSwitch 116 may be relatively generic for use in many different VCEs, or may be customized for use in a particular VCE 100 having highly specific requirements (e.g., an aerospace environment).


The PU 500 may actually represent a multi-processor or a distributed processing system and the memory 502 may include different levels of cache memory, main memory, hard disks, and remote storage locations. In the present example, the PU 500 and memory 502 may be formed on a circuit board with an embedded system such as is made by Netburner, Inc., of San Diego, Calif. The circuit board may include multiple ports for power, communications, and other connections.


The communication/power interface 504 may represent multiple interfaces dedicated to receiving VNet data traffic and power, splitting/combining VNet data traffic and power, and transmitting VNet data traffic and power. For example, the communication/power interface 504 may have a first interface (not shown) that receives power from the VCE power source 114 via a VPower cable 122 and passes the power to the PU 500 and memory 502, and a second interface (not shown) that communicates with the VController 112, VSwitches 116, and VModules 118 via VNet cables 120.


The second interface may be configured to recognize that the VNet cable 120 linking the VSwitch 116 to the VController 112 does not have a power component, or the VNet cable linking the two may be inserted into a designated slot in the VSwitch that does not support power. The communication/power interface 504 may include a connection between the first and second interfaces to pass power received via the VPower cable 122 to the VNet cables 120 that are coupled to other VSwitches 116 and VModules 118. If the VNet cables 120 have two separate channels for data and power, the first and second interfaces may be independently coupled to the appropriate channel. If the data and power are carried in a single signal (e.g., at separate frequencies), the first and second interfaces may merge the VNet data traffic and power signals to create a single outgoing signal.


The first and second interfaces of the communication/power interface 504 may also be configured to allow some or all of the VNet data traffic and power to pass through the VSwitch 116. For example, if another VSwitch 116 is coupled to an input/output port of the communication/power interface 504 via a VNet cable 120, the communication/power interface may pass some of the received power through to the other VSwitch as well as some or all of the received VNet data traffic. The communication/power interface 504 may also include filters or other control circuitry that enable the VSwitch 116 to control the delivery of power via the VNet cable 120. The data transmission capabilities of the communication/power interface 504 may provide both wireline (e.g., the VNet cable 120) and wireless functionality.


Instructions for the VNet transport layer 108 and for interacting with the VController layer 106 may be stored in the memory 502 and executed by the PU 500 to establish the VSwitch 116 as a Multiple Application Execution Interface (MAXI) in the VCE 100. In some embodiments, the VSwitch 116 may contain instructions for at least a portion of the VController layer 106. In other embodiments, the VSwitch 116 may provide only basic VNet data traffic switching (e.g., in a VCE 100 having individually addressable VModules 118) and may simply pass any remaining power through to connected VSwitches and VModules after its own power consumption needs are met.


Referring to FIG. 6, one embodiment of the VModule 118 of FIG. 1 is illustrated. As described previously, the VModule 118 is a discrete electrical/electronics interface module designed to enable any electrical/electronic device to have data and power connectivity to the VCE 100 via the VNet backbone formed by the VSwitches 116 and VNet cables 120. Generally, the VModule 118 is designed to provide a hardware (and, in some applications, a software) abstraction layer to the VOE so that generic software control drivers operating at the VController layer 106 residing in the VController 112 can control such low level devices as, for example, instrument panel gauges that might be found in motorized vehicles.


The VModule 118 includes a VEEDIMS remote processing unit (VRPU) 600, a memory 602, a communication/power interface 604, and one or more internal communication links 606. It is understood that the configuration and types of components of the VModule 118 may vary depending on the particular VCE 100 in which the VModule is to be used. For example, in a vehicular environment, the VModule 118 may be designed as a relatively compact integrated circuit board with the minimum number of ports that are needed to provide the desired functionality. In contrast, an environment such as a structure (e.g., a home or office building) may use a less compact VModule 118 as space is generally less important. Furthermore, the VModule 118 may be relatively generic for use in many different VCEs, or may be customized for use in a particular VCE 100 having highly specific requirements (e.g., an aerospace environment).


The VRPU 600 may actually represent a multi-processor or a distributed processing system and the memory 602 may include different levels of cache memory, main memory, hard disks, and remote storage locations. In the present example, the VRPU 600 and memory 602 may be formed on a circuit board with an embedded system such as is made by Netburner, Inc., of San Diego, Calif. The circuit board may include multiple ports for power, communications, and other connections.


The communication/power interface 604 may represent multiple interfaces dedicated to receiving VNet data traffic and power, splitting/combining VNet data traffic and power, and transmitting VNet data traffic and power. For example, the communication/power interface 604 may have a first interface (not shown) that receives power from the VNet cable 120 coupled to the VSwitch 116 and a second interface (not shown) that receives and transmits VNet data via the same VNet cable. If the VNet cable has two separate channels for data and power, the first and second interfaces may be independently coupled to the appropriate channel. If the data and power are combined in a single signal (e.g., at separate frequencies), the first and second interfaces may filter the incoming signal to separate the data and power.


The first and second interfaces of the communication/power interface 604 may be configured to allow some or all of the VNet data traffic and power to pass through the VModule 118. For example, if another VModule 118 is coupled to an input/output port of the communication/power interface 604 via a VNet cable 120, the communication/power interface 604 may pass some of the received power through to the other VModule as well as some or all of the received VNet data traffic. The data transmission capabilities of the communication/power interface 604 may provide both wireline (e.g., VNet cable 120) and wireless functionality.


The first and second interfaces of the communication/power interface 604 may connect the VModule 118 with one or more subsystems/devices 200. For example, one or both of the first and second interfaces may form the I/O interface 202 of FIG. 2, or the communication/power interface 604 may include one or more other bus-based, analog, and/or digital I/O interfaces for communication and power distribution to the subsystems/devices 200. The VModule 118 may perform exception reporting for faults in attached subsystems/devices 200 using, for example, I/O scanning via the I/O interface 202. In some embodiments, the communication/power interface 604 of the VModule 118 may serve as a gateway to provide access for the attached subsystems/devices 200 to external wireless devices (not shown).


Instructions for the VNet transport layer 108, VModule driver layer 110, and for interacting with the VController layer 106 may be stored in the memory unit 602 and executed by the VRPU 600 to configure the VModule 118 as a MAXI in the VCE 100. In some embodiments, the VModule 118 may contain instructions for at least a portion of the VController layer 106.


The VModule driver layer 110 includes dedicated device interface specific driver software that provides an interface between the VOE and the subsystems/devices 200 coupled to the VModule 118. For example, in a VCE 100 such as a vehicle, signal data from discrete sensors such as oil temperature, pressure, water temperature, etc., are captured from subsystems/devices 200 via specific drivers of the VModule driver layer 110, aggregated, and processed by the VModule 118. The VModule 118 takes the sensor data and sends it as VNet traffic (e.g., as a VEEDIMS compatible data stream) over the VNet backbone to the VController 112. It is understood that sensor data that is not VEEDIMS compatible may be converted by the VModule 118 prior to sending it to the VController 112. In a more specific example, a VController layer driver in the VController layer 106 may be developed to drive a tachometer, speedometer, and a series of other gauges in order to inform an operator of the vehicle's current status. To achieve this, discrete sensors connected to the VModule 118 generate digital or analog signal data, which is aggregated and processed by the VModule based on the corresponding VModule driver layer 110. The VModule 118 transmits the processed signal data to the VController 112 via the VNet backbone for processing by the VCPU 400. The VController 112 can then present the information to the vehicle's operator.


The VModule 118 enables new subsystems and components to be integrated with the VOE without requiring high level changes. For example, to support new physical electrical/electronic equipment and any corresponding software, a driver may be written for the VModule 118. The driver, which would be in the VModule driver layer 110, would be written to conform to the VEEDIMS standard interface protocol used by the VController layer 106. The standard interface protocol may be available via a VEEDIMS development kit (VDK) or otherwise published for use by developers. This approach is conceptually similar to the idea of a generic disk drive controller driver that is written in a UNIX operating system environment for controlling disk drives. When a new disk drive is developed, regardless of any new operational capabilities at its hardware level, the generic disk drive controller driver is capable of interacting with the new drive because any unique aspects of the new drive are transparent to the generic device driver as long as the new drive's low level driver is designed to be compatible to the higher level generic disk drive controller driver. Accordingly, new subsystems and components may be integrated with the VCE 100 without requiring high level VCE changes as long as their drivers conform to the VEEDIMS standard interface protocol.


The VModule 118 may have a unique identifier that can be used within the VCE 100 to distinguish it from other VModules. The unique identifier may be a media access control (MAC) address, IP address, or any other unique identifying code (e.g., a serial number).


As will be described below in greater detail, the VModule 118 may maintain its own fully encrypted password protected internal website stored in non-volatile memory (e.g., the memory 602). The information may include product documentation and revision levels, a complete bill of materials (BOM), and repair and manufacturing history. The VModule 118 may broadcast or send this data to peer VModules and higher level component (e.g., VSwitches 116 and VController 112) in the VCE 100. The VModule 118 may maintain a cached data snapshot of events prior to a failure in non-volatile memory for fault analysis, and may also store run hours and other parameters of interest. Using such information, replacement of a failed VModule 118 may be accomplished without the need to reconfigure the VCE's software. The VModule 118 may be configured to execute a diagnostic at startup and report its status as needed. Furthermore, VModules 118, as well as VSwitches 116 and VControllers 112, may all generate a heartbeat signal, and the VController 112 may monitor the heartbeats to determine the status of various VCE components.


Referring to FIG. 7, one embodiment of a system architecture 700 is illustrated. The system architecture 700 views the VCE 100 as having an information top layer that is widely accessible and may be manipulated, a middle control layer that is mission critical, and a device layer. The system architecture 700 focuses on the information top layer and uses the underlying layers mainly for data acquisition and diagnostics. For purposes of example, the system architecture 700 is described with respect to a vehicle layer, a shop (e.g., a vehicle repair garage) layer, and an enterprise layer. The VCE 100 in the present embodiment includes the VController 112 and VModule 118 of FIG. 1 in the vehicle layer, VEEDIMS fleet diagnostics 702 in the shop layer, and VEEDIMS fleet management 704 in the enterprise layer. In the present example, the PI System provided by OSIsoft, Inc., of San Leandro, Calif., is used for data acquisition, compilation, and analysis. However, it is understood that other systems may be used and the present disclosure is not limited to the PI system.


In the present embodiment, the VCE 100 of FIG. 1 is configured to support serial data storage, which enables time and excursion based fault analysis after an event (e.g., a failure) occurs. Traditional automotive diagnostic systems are based on an error code paradigm. In the error code paradigm, a specific fault generates a pre-defined error code stored in a computer, theoretically allowing a service technician to diagnose the root cause of the fault and repair the system. Unfortunately, this pre-defined error code approach cannot capture an unforeseen fault event or a sequence of events, which often results in extended troubleshooting sessions that may never identify the root cause of the original problem. For example, if the error cannot be isolated, large sections of wiring harness or even larger part assemblies may be replaced in an attempt to eliminate the fault generating component. Such a trial and error approach to problem solving is extremely costly to the customer, the dealer, and the manufacturer.


The present disclosure addresses this issue by providing the system architecture 700 to support the high resolution capture of all time series and event driven data and its storage in compact non-volatile digital media. The system also allows the data to be reviewed and analyzed to view the status of various systems during the interval of a specific fault. This capability enables the correlation of system data to a specific fault event noticed by the customer or recorded by the VCE 100, and also enables pre-event data streams to be analyzed in order to develop a comprehensive picture of what may have led up to the failure. This analysis process enables a service technician to use computerized tools to rapidly and efficiently diagnose the cause of intermittent faults, which are traditionally the most difficult fault event to detect and repair.


The VCE 100 may also provide the ability to store all of the collected data that is generated. By allowing filtering only for compression and exceptions, storage efficiency may be increased without losing resolution. Furthermore, by using transmission technologies (e.g., Bluetooth and other wireline and wireless technologies), the accumulated data can be downloaded for later analysis directed to identifying improvements rather than simply addressing current issues. For example, the data may be analyzed to identify fault conditions that can be used to define predictive means for preventing future component failures.


The data may be organized for fast retrieval and advanced searches, such as searches for logical expressions or excursion outside limits. In some embodiments, the data storage (e.g., a database) may use a batch sub-system that stores pointers to the beginning and end of specific parts of the data streams, thereby allowing for comparisons between similar events using overlay. For example, all engine start events may be organized by the batch sub-system so the start events can be recalled quickly and compared in order to develop a model of an optimal engine start and to predict the need for maintenance as parameters drift (e.g., cranking time on cold start). The efficiency of the database allows for sophisticated analysis, including multivariate statistical analysis. This may enable real-time data analysis that can not only perform fault detection, but can also execute preventive maintenance functions by observing trends that move away from normal operational parameters. In some examples, the VCE 100 may be configured for control based on a golden profile (e.g., an optimal set of performance parameters) and to trigger an alarm when the performance drifts away from the profile.


To achieve this level of analysis, the VModule 118 gathers information regarding attached subsystems/devices 200 (FIG. 2) using sensors and other feedback mechanisms. The information may be obtained via interfaces such as a bus-based I/O interface 706, an analog I/O interface 708, and a digital I/O interface 710. Each of the I/O interfaces 706, 708, and 710 passes information through a generic I/O interface layer 712 that allows the VModule 118 to communicate in a uniform manner with each of the different types of I/O interfaces.


The I/O interface layer 712 stores the information in a register map 714, which is accessible to a Modbus/TCP driver 716 and an Embedded Component Historian Object (ECHO) driver 718 (e.g., ECHO as supported by the PI System provided by OSIsoft, Inc., of San Leandro, Calif.). The Modbus/TCP driver 716 and ECHO driver 718 interface with corresponding components of the VController 112 as will be described later.


The register map 714 is also accessible to a VEEDIMS dynamic controller 720 that is configured to obtain information from the register map, process the information, and update and maintain documentation 722. Documentation version control may be a complex problem in vehicles with high degrees of sophistication or having a large manufacturing volume. To solve this problem, VEEDIMS embeds the entire documentation set within the VModule 118 or in another sub-system, making it instantly available to a service technician. In addition, a service log may be stored that can be updated to accurately reflect the service history of the vehicle. In some embodiments, the service log may be linked to a billing system that will automatically update the log.


The dynamic controller 720 may also perform diagnostics and maintain information resulting from the diagnostics using a diagnostics module 724, and may configure VModule and subsystem/device parameters and maintain configuration information using a configuration module 726. The dynamic controller 720 may make the documentation 722 and information related to the diagnostics module 724 and configuration module 726 available via a HyperText Transfer Protocol (HTTP) interface 728 using the previously described embedded web server. In the present example, the information is made available to the VEEDIMS fleet diagnostics 702 in the shop layer, but it may be made available to many other users, including an operator of the vehicle corresponding to the VCE 100.


The VController 112 includes a Modbus/TCP driver 730 that receives information from the register map 714 via the Modbus/TCP driver 716 of the VModule 118. The Modbus/TCP driver 730 passes the information into a visualization module 732 that may process the information before passing the processed information to an ECHO component 736. The VController 112 also includes an ECHO driver 734 that receives information from the register map 714 via the ECHO driver 718 of the VModule 118. The ECHO driver 734 passes the information to the ECHO component 736. The ECHO component 736 may send some or all of the information to VEEDIMS fleet management 704 in the enterprise layer via an ECHO upload component 738. The ECHO component 736 may also store all or some of the information in an ECHO data database 740, which may be responsible for gathering and archiving large amounts of time-stamped data at high speeds (e.g., real time or near real time).


Some or all of the data stored by the VController 112 and VModule 118 may be stored in a “black box” designed to withstand high impact and high temperature situations, such as an accident. The data described above may then be available for analysis even if various subsystems are damaged or destroyed.


VEEDIMS fleet diagnostics 702 in the shop layer includes a web browser 742 that may be used to access and view documentation data 722 and diagnostics data 724 via the HTTP interface 728 provided by the web server of the VModule 118. Due to the HTTP nature of the data presented by the VModule 118, access to the data can be accomplished without the need for proprietary equipment and tools. As the data may be encrypted, security may be maintained as only users with the proper authorization credentials can access the data. The VEEDIMS fleet diagnostics 702 may also include a configuration tool 744 that may be used to interact with the configuration module 726 to obtain configuration information and to configure parameters of the VModule 118, other VModules, and attached subsystems/devices using eXtensible Markup Language (XML) configuration information.


VEEDIMS fleet diagnostics 702 further includes an ECHO component 746 that obtains data from the ECHO data database 740 of the VController 112. The data may be passed to a PI server 750 via a PI ECHO driver 748 and various PI analysis tools 752 may be used to analyze some or all of the data in the shop layer. The data may be passed to VEEDIMS fleet management 704 in the enterprise layer via an ECHO upload component 754.


VEEDIMS fleet management 704 in the enterprise layer includes an ECHO upload component 756 that receives data from the ECHO upload components 738 and 754. The ECHO upload component 756 passes the data to an ECHO component 758, which stores the data in a PI data database 762 via a PI ECHO driver 760. PI analysis tools 766 may access the data in the PI data database 762 for analysis via a PI server 764.


Referring to FIG. 8, in one embodiment, a vehicle 800 is illustrated as an environment that may be managed using the VCE 100 of FIG. 1. The vehicle 800 includes a chassis 801 and positioned within or coupled to the chassis are a plurality of subsystems and corresponding components that provide propulsion, steering, braking, and other functionality to the vehicle 800. It is understood that the subsystems and components described herein are for purposes of example only, and that many other subsystems and components may be used with the vehicle 800. Furthermore, illustrated subsystems and components may be configured differently from those illustrated and may be positioned in differently within the vehicle 800.


The vehicle 800 includes tires 802a, 802b, 802c, and 802d and corresponding tire pressure monitoring system (TPMS) in-tire sensors 804a, 804b, 804c, and 804d, respectively, which send signals to a TPMS wireless signal receiver 806. The tires 802a, 802b, 802c, and 802d are coupled to axles 808a and 808b that are powered via a transmission system (not shown) coupled to an engine 810. An Engine Control Unit (ECU) 812 may monitor and manage the performance of the engine 810. For example, the ECU 812 may control fuel injection in the engine 810 based on monitored parameters. Headlight assemblies 814a and 814b and tail light assemblies 816a and 816b may be coupled to an electrical system that enables manipulation of various lights forming the headlight and tail light assemblies.


Doors 818a and 818b may be monitored using “door ajar” sensors 820a and 820b, respectively. “Door open” switches 822a and 822b may be used to control interior lights, alarms, and other functions when doors 818a and 818b, respectively, are opened. Driver seat 824a and passenger seat 824b may include presence sensors 826a and 826b, respectively, which indicate the presence of a person.


The passenger compartment may also contain a gauge cluster 828 for providing feedback information to the driver (e.g., speed, fuel level, and engine temperature), various actuation means (e.g., switches and buttons) positioned on a steering wheel 830, an instrument panel switch cluster 832, and an interactive navigation and information screen 834 (e.g., a flat panel). The interactive screen 834 may be used to provide navigation information, vehicle information (e.g., a current fuel level, estimated remaining mileage before fuel is needed, and various temperatures (e.g., engine and passenger compartment temperatures)), and other information to a user. Windshield wiper assemblies 836 may be controlled via the actuation means on the steering wheel 830. Rollbar light assemblies 838a and 838b may be coupled to an electrical system that enables manipulation of various lights on the rollbar light assemblies via, for example, the interactive screen 834.


A fuel cell 840 may be coupled to a flow meter 842 that measures fluid flow on a low pressure fuel return from the engine 810 and a flow meter 844 that measures fluid flow on a high pressure fuel line to the engine. A fuel cap 846 may cover a fuel fill line that is monitored by a flow meter 848. Although not shown, a sensor may monitor the fuel cap 846 to ensure that it is in place. The fuel cell 840 and the various flow meters 842, 844, and 848 may be monitored.


It is understood that the vehicle 800 may include a variety of subsystems (not all shown) configured to monitor and/or control vehicle functions such as ignition, propulsion, steering, braking, oil and tire pressure, control panel indicators, passenger compartment environmental parameters (e.g., temperature and air flow), and audio/video entertainment system settings. Such subsystems may range from complex (e.g., fuel injection as managed by the ECU 812) to relatively simple (e.g., control of an interior “dome” light).


With additional reference to FIG. 9, one embodiment of the VCE 100 of FIG. 1 is illustrated in the vehicle 800 of FIG. 8. The vehicle 800 includes a VController 112 and VCE power source 114 that are coupled to one another and to a VSwitch 116. The VSwitch 116 is coupled to a first VModule 118a, which is in turn coupled to a second VModule 118b. The VModules 118a and 118b are coupled to the tail light assemblies 816a and 816b, respectively. In the present example, each tail light assembly 816a and 816b includes multiple LEDs that are divided into a reverse light area, a brake light area, and a turn signal area. In some embodiments, the VModules 118a and 118b are incorporated into their respective tail light assemblies. In other embodiments, the VModules 118a and 118b are coupled to their respective tail lights but are separate components. The VController 112 is also coupled to a VModule 118c, which is in turn coupled to the ECM 812 via a proprietary cable.


In the present example, VModules in the VCE 100 are categorized into classes, including a passive switch class, a solenoid/actuator class, a motor class, a passive information display class, an interactive information display class, a passive data pass through class, a feedback data acquisition class, and a lighting control class. It is understood that these classes are for purposes of example and are not intended to be limiting. Furthermore, overlap may exist between certain classes and all or part of some classes may form a subset of another class.


The passive switch class includes subsystems and components such as simple on/off state switches or momentary contact switches that may be used for the door ajar sensors 820a and 820b or the passenger presence sensors 826a and 826b. This class may also include more complex multi-position passive switches used to control multiple functions or states, such might be used in windshield wiper controls to activate intermittent, slow, medium, and fast wiping intervals of the windshield wiper assemblies 836.


The solenoid/actuator class includes subsystems and components used for electrically opening a door, trunk lid, or any other single action or process. The motor class includes subsystems and components used in operating windshield wipers (e.g., the windshield wiper assemblies 836), hood/door opening mechanisms, movement of power seats or mirrors, and similar motorized operations.


The passive information display class includes subsystems and components that deliver visual display information for a user, including electric/electronic dashboard gauges in the gauge cluster 828, active displays such as addressable matrix liquid crystal displays (LCDs), and organic light emitting diode (OLED) displays. The interactive information display class includes subsystems and components such as the interactive screen 834, global positioning system (GPS) navigation devices, sound systems, active displays, and interactive starter switches that provide engine standby/start/stop control switching capabilities with a status display.


The passive data pass through class includes subsystems and components for performing data acquisition and pass-through, including passive displays. The feedback data acquisition class includes subsystems and components such as interactive displays, lighting control modules, and engine control modules. The lighting control class includes subsystems and components for the headlight assemblies 814a and 814b, daytime running lights, tail light assemblies 816a and 816b, and general interior and instrument panel lighting.


According to the preceding class list, VModules 118a and 118b of the present example are categorized as lighting control class modules. The VModule 118c may be categorized in the passive data pass or the feedback data acquisition class.


The VModule 118c is an example of a VModule that may interact with a legacy non-VEEDIMS enabled subsystem or component to provide at least a basic level of VEEDIMS functionality to the legacy non-VEEDIMS enabled subsystem or component. The VModule 118c receives CAN-bus data from the ECM 812 via a proprietary cable. The VModule 118c then converts the CAN-bus data into VNet data and sends the converted data over the VNet backbone. This makes the CAN-bus data available to the VCE 100 without the need to perform other conversions at VCE levels higher than the VModule 118c. In some embodiments, a VEEDIMS enabled ECM may be used in place of the ECM 812, thereby allowing the ECM to be integrated seamlessly into the VCE 100. A VEEDIMS enabled ECM may include the ability to cache engine start and run data until higher level control systems are ready to receive it. The caching technique may accommodate any latency, provide synchronization of time stamping, and allow higher level systems to be shut down for upgrading or maintenance without any data loss.


For purposes of example, the VModules 118a and 118b each include a circuit board having a Netburner that executes instructions so that each of the VModules forms a MAXI board as previously described. Each VModule 118a and 118b includes multiple power supplies needed to run the reverse lights of the reverse light area of the tail light assemblies 816a and 816b, and may include other power supplies to run the brake light and turn signal areas.


The VModules 118a and 118b can individually address the LEDs of each of the tail light assemblies 816a and 816b and may use fiber optic links or other means to receive feedback from the LEDs to identify brightness levels, etc. For example, when the vehicle 800 is started, the VModules 118a and 118b may perform a rapid test of each LED in the tail light assemblies 816a and 816b to ensure that the LEDs are working. This may be achieved using feedback obtained via a fiber optic link, thereby allowing the VModules 118a and 118b to measure a brightness level and color of each LED or of groups of LEDs. The color test may be accurate to a resolution of eighteen bits, which gives the VModules 118a and 118b a high degree of control over the light output of the tail light assemblies 816a and 816b. Using this information, the VModules 118a and 118b can control the output of the LEDs using, for example, a pulse width modulation (PWM) collective drive.


The feedback provided to the VModules 118a and 118b may be used for a variety of purposes other than testing. For example, the feedback may be used to control day and night lighting such as daytime running lights and may be used to adjust the intensity of the LEDs based on the ambient light level. In another example, the feedback may be used to provide active reflectors using the tail light assemblies 816a and 816b. To form active reflectors, the LEDs may remain off until the optic fibers detect light coming from an exterior source. One possible scenario in which this may occur is if the vehicle 800 has malfunctioned and is on the side of the road at night. Rather than leaving the hazard lights blinking and draining the battery, the fiber optics may detect headlights from other vehicles and, in response, may activate some or all of the LEDs to provide an active indication of the vehicle's presence. The LEDs may be flashed or otherwise manipulated to provide additional indicators.


The MAXI boards forming the VModules 118a and 118b may include one or more general purposes serial interfaces for purposes such as lighting control. For example, the MAXI boards may support DMX (used for lighting control by the entertainment industry) over Ethernet and other specialized digital control protocols. Other serial interfaces may be supported by the MAXI boards, including an RS232 compliant serial port.


In the present example, the tail light assemblies 816a and 816b each include a power supply (PS) board (not shown) positioned between the VCE power source 114 and the LEDs. The PS board may not be VEEDIMS enabled, but may be coupled to the VModules 118a and 118b via a uni-directional signal or a bi-directional signal. The PS boards are capable of setting a maximum current to the LEDs and the maximum current may be controlled by the corresponding VModules 118a and 118b via an addressable potentiometer positioned on the PS boards. The PS boards may also send PWM signals to the LEDs to control intensity and the PWM signals may be controlled by the VModules 118a and 118b. It is noted that some or all of the functions of the PS boards may be controlled locally so that the tail light assemblies 816a and 816b are able to operate without the VModules 118a and 118b.


Referring to FIG. 10, in another embodiment, an environment 1000 illustrates a structure 1002 that contains the VCE 100 of FIG. 1. In the present example, the structure 1002 is an above ground building that includes multiple floors 1004 and 1006 and one or more entry ways 1008 (e.g., a door). Landscaping, such as a flowerbed 1010, may be positioned around the structure 1002. The structure 1002 may be associated with multiple components and corresponding systems for monitoring and controlling the components. For example, the structure 1002 may be associated with an irrigation system 1012, an environmental control system 1014, a lighting system 1016, an alarm system 1018, and a security system 1020. It is understood that each of the systems 1012, 1014, 1016, 1018, and 1020 may represent multiple systems or subsystems.


The irrigation system 1012 may be configured to control and monitor the provision of moisture to the flowerbed 1010 and other exterior landscaping and interior plant arrangements (not shown). The environmental control system 1014 may be configured to control and monitor heating and air conditioning facilities. The lighting system 1016 may be configured to control and monitor interior and exterior lighting of the structure 1002, and may represent an interior lighting system and an exterior lighting system. The alarm system 1018 may represent a fire alarm system and a security alarm system. The alarm system 1018 may be configured to control and monitor safety components (e.g., fire alarms) within the structure 1002, as well as security alarms (e.g., a burglar alarm on the door 1008 to indicate unauthorized entry or an alarm on an interior door to control access to a room or office suite). The security system 1020 may be configured to control and monitor cameras, motion sensors, and similar security devices, and may also control and monitor security alarms in some embodiments.


One or more VControllers 112 may be used to monitor and control the systems 1012, 1014, 1016, 1018, and 1020 via a VNet backbone that may or may not include power transfer capabilities. The VController 112 is coupled to multiple VModules 118a, 118b, and 118c. Although not shown, one or more VSwitches 116 may be positioned between the VController 112 and the VModules 118a, 118b, and 118c.


The VModule 118a is coupled to the irrigation system 1012. The VModule 118b is coupled to the environmental control system 1014 and lighting system 1016. The VModule 118c is coupled to the alarm system 1018 and security system 1020. Each VModule 118a, 118b, and 118c may monitor, query, and control the coupled systems 1012, 1014, 1016, 1018, and 1020 as described above in previous embodiments.


In some embodiments, the VCE 100 may be tied to deeper systems, such as the main electric grid of the structure 1002. In these cases, data obtained by the VCE 100 may be shared with other sources. For example, power grid data may be shared with the power company, which may in turn aggregate the information with other data for analysis. The analysis may be used to prevent problems including brownouts and blackouts and to track demand in a given area.


It should be understood that the drawings and detailed description herein are to be regarded in an illustrative rather than a restrictive manner, and are not intended to be limiting to the particular forms and examples disclosed. On the contrary, included are any further modifications, changes, rearrangements, substitutions, alternatives, design choices, and embodiments apparent to those of ordinary skill in the art, without departing from the spirit and scope hereof, as defined by the following claims. Thus, it is intended that the following claims be interpreted to embrace all such further modifications, changes, rearrangements, substitutions, alternatives, design choices, and embodiments.

Claims
  • 1. A Virtual Electrical and Electronic Device Interface and Management System (VEEDIMS) support architecture comprising: a vehicle layer having: a module positioned in a vehicle and configured to couple to a device via an input/output (I/O) interface compatible with the device and configured to couple to a controller via a cable adapted to simultaneously carry bi-directional data and uni-directional power to the module, wherein the module has a first processor and a first memory containing a first instruction set executable by the first processor, the first instruction set including instructions for providing a HyperText Transfer Protocol (HTTP) server, and wherein the first memory further contains a documentation set containing a service history of the module and a bill of materials for at least one of the module and the device that is accessible via the HTTP server and both event driven and time series data captured from the device and the module during operation of the vehicle; andthe controller positioned in the vehicle and having a second processor and a second memory containing a second instruction set executable by the second processor, the second instruction set including instructions for receiving data from the module and storing the data in the second memory, wherein the data includes the event driven and time series data; anda shop layer separate from the vehicle layer having: a browser configured to communicate with the HTTP server to access the documentation set; andan analysis tool configured to receive the event driven and time series data from the controller and analyze a performance of the vehicle compared to predefined optimal vehicle parameters using the event driven and time series data.
  • 2. The VEEDIMS support architecture of claim 1 wherein the first instruction set further comprises instructions for a diagnostics component configured to obtain diagnostics data about the module and the device and to transfer the diagnostics data via at least one of the HTTP server and the cable.
  • 3. The VEEDIMS support architecture of claim 1 wherein the first instruction set further comprises instructions for a configuration component configured to set operational parameters for at least one of the module and the device.
  • 4. The VEEDIMS support architecture of claim 1 wherein the first instruction set further comprises instructions for a data acquisition component configured to acquire data about at least one of the module and the device.
  • 5. The VEEDIMS support architecture of claim 4 wherein the data acquisition component includes an Embedded Component Historian Object (ECHO) coupled to an ECHO driver for sending the acquired data from the module to the controller via the cable.
  • 6. The VEEDIMS support architecture of claim 1 wherein the first instruction set further comprises instructions for monitoring the device to create a device profile and sending the device profile to the controller.
  • 7. A Virtual Electrical and Electronic Device Interface and Management System (VEEDIMS) support architecture comprising: a vehicle layer having: a plurality of modules positioned in a vehicle, wherein each module is configured to couple to at least one device via an input/output (I/O) interface compatible with the device and configured to couple to a controller via a cable adapted to simultaneously carry bi-directional data and uni-directional power to the module, and wherein each module has a first processor and a first memory containing a first instruction set executable by the first processor, the first instruction set including instructions for capturing and storing both event driven and time series data from the module and the device during operation of the vehicle; andthe controller positioned in the vehicle and having a second processor and a second memory containing a second instruction set executable by the second processor, the second instruction set including instructions for receiving data from each of the plurality of modules and storing the data in the second memory, wherein the data includes the event driven and time series data; anda shop layer separate from the vehicle layer and having: a communications component configured to obtain the data from at least one of the plurality of modules and the controller;a server configured to store the obtained data; andan analysis tool configured to review and analyze the event driven and time series data to correlate the event driven and time series data to a specific fault event and to view a status of vehicle layer systems during the interval of the specific fault event.
  • 8. The VEEDIMS support architecture of claim 7 wherein the analysis tool is further configured to analyze the event driven and time series data from a point before a failure occurs to develop a picture of events that led to the failure.
  • 9. The VEEDIMS support architecture of claim 7 wherein the event driven and time series data is filtered only for compression and exceptions to increase storage efficiency without losing resolution.
  • 10. The VEEDIMS support architecture of claim 7 wherein the event driven and time series data is stored using a batch sub-system that stores pointers to a beginning and an end of specific parts of the event driven and time series data to allow for comparisons between similar events using overlay.
  • 11. The VEEDIMS support architecture of claim 10 wherein the similar events include all engine start events, wherein the batch sub-system organizes the engine start events so the engine start events can be recalled and compared to develop a model of an optimal engine start.
  • 12. The VEEDIMS support architecture of claim 11 wherein the engine start events are recalled and compared to predict a need for maintenance as parameters drift from the model of the optimal engine start.
  • 13. The VEEDIMS support architecture of claim 7 wherein the analysis tool is further configured to execute a plurality of preventive maintenance functions by observing trends that move away from normal operational parameters based on the event driven and time series data.
  • 14. The VEEDIMS support architecture of claim 7 wherein the analysis tool is further configured to identify fault conditions used to define predictive means for preventing future component failures based on the event driven and time series data.
  • 15. The VEEDIMS support architecture of claim 7 wherein at least one of the first and second memories supports serial data storage of the event driven and time series data to enable time and excursion based fault analysis after a failure occurs.
  • 16. The VEEDIMS support architecture of claim 7 wherein the shop layer further includes a configuration component configured to set parameters for at least one of the controller, the plurality of modules, and the devices coupled to the plurality of modules.
  • 17. The VEEDIMS support architecture of claim 16 wherein the configuration component uses Extensible Markup Language (XML) configuration information.
  • 18. The VEEDIMS support architecture of claim 7 further comprising an enterprise layer for fleet management having: a communications component configured to obtain the data from the server in the shop layer;a database configured to store at least a portion of the data from the server; anda second analysis tool configured to retrieve the event driven and time series data from the data stored in the database for analysis.
  • 19. The VEEDIMS support architecture of claim 7 wherein each of the plurality of modules includes a HyperText Transfer Protocol (HTTP) server, and wherein the first memory of each of the plurality of modules contains a documentation set containing a service history of the module and a bill of materials for at least one of the module and the device that is accessible via the HTTP server.
  • 20. The VEEDIMS support architecture of claim 19 wherein the shop layer further includes a browser configured to communicate with the HTTP server to access the documentation set.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Divisional of U.S. application Ser. No. 12/134,424, filed Jun. 6, 2008, published on Jan. 15, 2009, as U.S. Publication No. 2009-0016216. Application Ser. No. 12/134,424 claims the benefit of U.S. Application Ser. No. 60/933,358, filed Jun. 6, 2007. Patent Application Publication No. 2009-0016216 is hereby incorporated by reference.

US Referenced Citations (344)
Number Name Date Kind
1149583 Hutchison Aug 1915 A
1162421 Welch Nov 1915 A
1205371 Marshall Nov 1916 A
1267079 Jensen May 1918 A
1308495 Johnson Jul 1919 A
D58530 Anibal Aug 1921 S
1461457 Rice Jul 1923 A
1594993 Bedford Aug 1926 A
1663026 Schultze Mar 1928 A
1828608 Mack Oct 1931 A
1848064 Oishei Mar 1932 A
1908503 Day et al. May 1933 A
2009591 Radford Jul 1935 A
2026444 Trott Dec 1935 A
2046779 Hack Jul 1936 A
2136472 Sinclair Nov 1938 A
2151976 Eduard Mar 1939 A
2180731 Dickinson Nov 1939 A
2229192 Schultz Jan 1941 A
2230906 Poe Potts Feb 1941 A
2235716 Lucius Mar 1941 A
2256170 Powers Sep 1941 A
2496700 Cole Feb 1950 A
2728230 Haramic Dec 1955 A
2786359 Karlan et al. Mar 1957 A
2801118 Amesbury Jul 1957 A
2881860 Ternes Apr 1959 A
2897916 Probst Aug 1959 A
3133741 Garabello May 1964 A
3259684 Wakefield Jul 1966 A
3264892 Boman Aug 1966 A
3269208 Whitchurch Aug 1966 A
3279834 Budzynski Oct 1966 A
3323609 Rosenberger et al. Jun 1967 A
3351364 Warn et al. Nov 1967 A
3433891 Zysk et al. Mar 1969 A
3435701 Bucher Apr 1969 A
3440897 Dutt et al. Apr 1969 A
3482465 Lusted Dec 1969 A
3641746 Smith et al. Feb 1972 A
3691525 McClellan et al. Sep 1972 A
3795760 Raw et al. Mar 1974 A
3800910 Rose Apr 1974 A
3831209 Clingman Aug 1974 A
4025896 Hintze et al. May 1977 A
4061054 Wenninger Dec 1977 A
4135593 Fowkes Jan 1979 A
4138160 Lohmeyer Feb 1979 A
4236274 Omote et al. Dec 1980 A
4266438 Kessmar May 1981 A
4331209 Bauer et al. May 1982 A
4333360 Simmons Jun 1982 A
4354458 Bury Oct 1982 A
4441382 Snooks Apr 1984 A
4515393 Sauter May 1985 A
4519268 Oda May 1985 A
4548166 Gest Oct 1985 A
4558955 Herchenbach Dec 1985 A
4561325 Jester Dec 1985 A
4562895 Kirchweger Jan 1986 A
4569245 Feldt et al. Feb 1986 A
4590339 Scott-Jackson et al. May 1986 A
4591211 Browning et al. May 1986 A
4597306 Tsuji Jul 1986 A
4646864 Racchi Mar 1987 A
4707788 Tashiro et al. Nov 1987 A
4742884 Ishikawa May 1988 A
4747636 Harasaki et al. May 1988 A
4770522 Alten Sep 1988 A
4771368 Tsukamoto et al. Sep 1988 A
4772299 Bogusz Sep 1988 A
4778029 Thornburgh Oct 1988 A
4787257 Ott et al. Nov 1988 A
4807490 Foggini Feb 1989 A
4816730 Wilhelm et al. Mar 1989 A
4825669 Herrera May 1989 A
4957071 Matsuo et al. Sep 1990 A
4987522 Miyano et al. Jan 1991 A
5016578 Ogawa et al. May 1991 A
5022479 Kiser et al. Jun 1991 A
5048471 Takii et al. Sep 1991 A
5064247 Clark et al. Nov 1991 A
5066062 Sekulovski Nov 1991 A
5121818 McComic Jun 1992 A
5133750 Momose et al. Jul 1992 A
5149915 Brunker et al. Sep 1992 A
5156198 Hall Oct 1992 A
5161513 Feldinger Nov 1992 A
5195092 Wilson et al. Mar 1993 A
5236219 Jambor et al. Aug 1993 A
5304739 Klug et al. Apr 1994 A
5313853 Olmsted et al. May 1994 A
5317880 Spears Jun 1994 A
5322340 Sato et al. Jun 1994 A
5348706 Abul-Haj et al. Sep 1994 A
5349328 Lonzame Sep 1994 A
5352026 Snook Oct 1994 A
5416777 Kirkham May 1995 A
5431485 Hayashi Jul 1995 A
5492391 Snook Feb 1996 A
5517173 Cha et al. May 1996 A
5519588 Sobeck et al. May 1996 A
5533794 Faison Jul 1996 A
5557698 Gareis et al. Sep 1996 A
5566091 Schricker et al. Oct 1996 A
5584537 Miansian Dec 1996 A
5603283 Owen Feb 1997 A
5613012 Hoffman et al. Mar 1997 A
5615277 Hoffman Mar 1997 A
5618323 Shearn et al. Apr 1997 A
5626057 Nishigai et al. May 1997 A
5635903 Koike et al. Jun 1997 A
5637933 Rawlings et al. Jun 1997 A
5641193 Zepnik et al. Jun 1997 A
5660243 Anzalone et al. Aug 1997 A
5694259 Brandin Dec 1997 A
5702150 Reuter et al. Dec 1997 A
5734238 Yanagisawa et al. Mar 1998 A
5738369 Durrani Apr 1998 A
5745027 Malville Apr 1998 A
5770797 Lapohn Jun 1998 A
5794733 Stosel et al. Aug 1998 A
5802922 Kawai et al. Sep 1998 A
5808374 Miller et al. Sep 1998 A
5820224 Dimatteo, Jr. Oct 1998 A
5821466 Clark et al. Oct 1998 A
5853857 Mahmood et al. Dec 1998 A
5870723 Pare, Jr. et al. Feb 1999 A
5883334 Newmoyer et al. Mar 1999 A
5896778 Murakami et al. Apr 1999 A
5899521 Pfertner et al. May 1999 A
5910988 Ballard Jun 1999 A
5934744 Jergens et al. Aug 1999 A
5941105 Macey Aug 1999 A
D416525 Sacco et al. Nov 1999 S
5988238 Palvolgyi Nov 1999 A
6011548 Thacker Jan 2000 A
6028537 Suman et al. Feb 2000 A
6032137 Ballard Feb 2000 A
6053043 Dannenberg et al. Apr 2000 A
6056075 Kargilis May 2000 A
6092898 de Juan, Jr. Jul 2000 A
6116700 Herrera Sep 2000 A
6178917 Jansa Jan 2001 B1
6182807 Saito et al. Feb 2001 B1
6198244 Hayden et al. Mar 2001 B1
6205880 Deidewig et al. Mar 2001 B1
D440918 Pfeiffer Apr 2001 S
6234555 Emmerich et al. May 2001 B1
6234557 Bae May 2001 B1
6246808 Mallon Jun 2001 B1
6253131 Quigley et al. Jun 2001 B1
6253716 Palmer et al. Jul 2001 B1
6262982 Donahue et al. Jul 2001 B1
6263447 French et al. Jul 2001 B1
6269348 Pare, Jr. et al. Jul 2001 B1
6282658 French et al. Aug 2001 B2
6295492 Lang et al. Sep 2001 B1
6302228 Cottereau et al. Oct 2001 B1
6308205 Carcerano et al. Oct 2001 B1
6315326 Muller et al. Nov 2001 B1
6321339 French et al. Nov 2001 B1
6322158 Herrera Nov 2001 B1
6357563 Hayford et al. Mar 2002 B1
6366682 Hoffman et al. Apr 2002 B1
6397198 Hoffman et al. May 2002 B1
6411728 Lee et al. Jun 2002 B1
6438472 Tano et al. Aug 2002 B1
6441510 Hein et al. Aug 2002 B1
6463901 Cuddihee et al. Oct 2002 B1
6479973 Saito et al. Nov 2002 B2
6514136 Hanaya et al. Feb 2003 B1
6525998 Taylor et al. Feb 2003 B1
D471139 Wyszogrod et al. Mar 2003 S
6533466 Smith Mar 2003 B1
6609051 Fiechter et al. Aug 2003 B2
D481337 Hartono et al. Oct 2003 S
6669275 Frasher et al. Dec 2003 B2
6679215 Benson et al. Jan 2004 B2
6693523 Abel et al. Feb 2004 B1
6718842 Bofias Apr 2004 B1
D492629 Hartono et al. Jul 2004 S
6780047 Laity Aug 2004 B1
6782862 Homi Aug 2004 B2
6837602 Lee Jan 2005 B1
6843115 Rutherford Jan 2005 B2
6882917 Pillar et al. Apr 2005 B2
6889516 Sasaki et al. May 2005 B2
6942277 Rangnekar et al. Sep 2005 B2
7004787 Milan Feb 2006 B2
7055883 Tokutomi et al. Jun 2006 B2
7059289 Cunningham et al. Jun 2006 B2
7066630 Venkatram Jun 2006 B1
7068158 Komatsu et al. Jun 2006 B2
7097233 Sogame et al. Aug 2006 B2
7110868 An Sep 2006 B2
7140667 Steinhauser et al. Nov 2006 B2
7146129 Bostrom et al. Dec 2006 B2
7159486 Thoreson et al. Jan 2007 B2
7165871 Takeda et al. Jan 2007 B2
D537393 Chanteloup Feb 2007 S
7206672 Mueller Apr 2007 B2
7257397 Shamoon et al. Aug 2007 B2
D551604 Kapffenstein Sep 2007 S
7266435 Wang et al. Sep 2007 B2
7271708 Nakatani et al. Sep 2007 B2
D551971 Hardwick Oct 2007 S
7313467 Breed et al. Dec 2007 B2
D559159 Kazyaka et al. Jan 2008 S
D562738 Young Feb 2008 S
7341278 Queveau et al. Mar 2008 B2
7350273 Skipper Apr 2008 B1
7375285 Chiang May 2008 B2
7377344 Barske May 2008 B2
D571268 Hoffman Jun 2008 S
7387414 Helms et al. Jun 2008 B2
7392122 Pillar et al. Jun 2008 B2
7400239 Kiko et al. Jul 2008 B2
D574661 Logan Aug 2008 S
D575581 Harris Aug 2008 S
D580457 Bender Nov 2008 S
D581843 Kluck Dec 2008 S
7483952 Light et al. Jan 2009 B2
7494178 Nygaard Feb 2009 B2
7523683 Jackson Apr 2009 B2
D594796 Ballard et al. Jun 2009 S
7540638 Dassanayake et al. Jun 2009 B2
7544886 Detian et al. Jun 2009 B2
7547077 Melberg et al. Jun 2009 B2
7585031 White et al. Sep 2009 B2
D606467 Ballard et al. Dec 2009 S
7636985 Greenbank Dec 2009 B2
7660934 McClure et al. Feb 2010 B2
7690460 Sakitani et al. Apr 2010 B2
7703961 Yatsuda et al. Apr 2010 B2
7725732 Ballard May 2010 B1
7740501 Ballard et al. Jun 2010 B2
7747739 Bridges et al. Jun 2010 B2
7786851 Drew et al. Aug 2010 B2
7866859 Suzuki et al. Jan 2011 B2
20010034671 Luke et al. Oct 2001 A1
20020034301 Andersson Mar 2002 A1
20020073507 Presley Jun 2002 A1
20020082750 Lamke et al. Jun 2002 A1
20020102047 Akkaraju et al. Aug 2002 A1
20020180579 Nagaoka et al. Dec 2002 A1
20030011546 Obata et al. Jan 2003 A1
20030015909 Meek, Jr. Jan 2003 A1
20030081886 Wu et al. May 2003 A1
20030114965 Fiechter et al. Jun 2003 A1
20030120397 Bergmann et al. Jun 2003 A1
20030191564 Haugse et al. Oct 2003 A1
20030206418 Strazzanti Nov 2003 A1
20030216889 Marko et al. Nov 2003 A1
20030225693 Ballard et al. Dec 2003 A1
20040002794 Pillar et al. Jan 2004 A1
20040019413 Bonilla et al. Jan 2004 A1
20040043753 Wake et al. Mar 2004 A1
20040075537 Quigley et al. Apr 2004 A1
20040129197 Nakagawa et al. Jul 2004 A1
20040155789 Crews Aug 2004 A1
20040158723 Root Aug 2004 A1
20040159289 Taylor et al. Aug 2004 A1
20040202006 Pien Oct 2004 A1
20040202007 Yagi et al. Oct 2004 A1
20050012607 Sumiya et al. Jan 2005 A1
20050021190 Worrell et al. Jan 2005 A1
20050105296 French May 2005 A1
20050107928 Mueller May 2005 A1
20050128751 Roberge et al. Jun 2005 A1
20050137796 Gumpinger Jun 2005 A1
20050140129 Miki et al. Jun 2005 A1
20050141225 Striebel Jun 2005 A1
20050155043 Schulz et al. Jul 2005 A1
20050168071 Durbin et al. Aug 2005 A1
20050190045 Lesesky et al. Sep 2005 A1
20050234622 Pillar et al. Oct 2005 A1
20050257613 Spencer et al. Nov 2005 A1
20050264268 Ueno Dec 2005 A1
20050280253 Queveau et al. Dec 2005 A1
20060017326 Hein et al. Jan 2006 A1
20060036335 Banter et al. Feb 2006 A1
20060044825 Sa Mar 2006 A1
20060053281 Andersson Mar 2006 A1
20060066584 Barkan Mar 2006 A1
20060097577 Kato et al. May 2006 A1
20060097852 Lammers et al. May 2006 A1
20060107784 Bostic et al. May 2006 A1
20060162485 Leng et al. Jul 2006 A1
20060187670 Dalton et al. Aug 2006 A1
20060200781 Obradovich Sep 2006 A1
20060212194 Breed Sep 2006 A1
20060243191 Verdouw Nov 2006 A1
20060244581 Breed et al. Nov 2006 A1
20060256572 Lin Nov 2006 A1
20060266273 Westberg et al. Nov 2006 A1
20070001830 Dagci et al. Jan 2007 A1
20070011227 Johnson Jan 2007 A1
20070024117 Boenker, IV et al. Feb 2007 A1
20070030137 Masters et al. Feb 2007 A1
20070077058 Kontani Apr 2007 A1
20070096546 Thomas et al. May 2007 A1
20070137367 Papa et al. Jun 2007 A1
20070153406 Matsumoto Jul 2007 A1
20070247291 Masuda et al. Oct 2007 A1
20080002420 Lambert et al. Jan 2008 A1
20080007961 Mochizuki et al. Jan 2008 A1
20080031004 Chu Feb 2008 A1
20080034209 Dickinson et al. Feb 2008 A1
20080042822 Wang Feb 2008 A1
20080080203 Neufeglise Apr 2008 A1
20080157593 Bax et al. Jul 2008 A1
20080173127 Ackert et al. Jul 2008 A1
20080222844 Broadhead et al. Sep 2008 A1
20090011639 Ballard et al. Jan 2009 A1
20090016216 Ballard et al. Jan 2009 A1
20090051522 Perkins Feb 2009 A1
20090091291 Woody et al. Apr 2009 A1
20090126827 Guendouz et al. May 2009 A1
20090161377 Helms et al. Jun 2009 A1
20090200988 Bridges et al. Aug 2009 A1
20090207602 Reed et al. Aug 2009 A1
20090223318 Ballard Sep 2009 A1
20090223437 Ballard Sep 2009 A1
20090223438 Ballard Sep 2009 A1
20090223757 Ballard Sep 2009 A1
20090223789 Ballard Sep 2009 A1
20090224895 Ballard Sep 2009 A1
20090267405 Ballard Oct 2009 A1
20090271949 Sprague et al. Nov 2009 A1
20090272313 Ballard et al. Nov 2009 A1
20090272589 Ballard Nov 2009 A1
20090273170 Ballard et al. Nov 2009 A1
20090273208 Ballard et al. Nov 2009 A1
20090273282 Ballard et al. Nov 2009 A1
20090273942 Ballard et al. Nov 2009 A1
20090274416 Ballard Nov 2009 A1
20090277707 Ballard Nov 2009 A1
20090289062 Ballard Nov 2009 A1
20090289757 Ballard Nov 2009 A1
20100079997 Morikawa et al. Apr 2010 A1
20100082277 Ballard Apr 2010 A1
20100128479 Biebl et al. May 2010 A1
20100301631 Scott et al. Dec 2010 A1
Foreign Referenced Citations (26)
Number Date Country
19526809 Jan 1997 DE
10311396 Sep 2004 DE
102004053238 May 2006 DE
0507225 Oct 1992 EP
1429348 Jun 2004 EP
1493630 Jan 2005 EP
462033 Mar 1937 GB
2203483 Oct 1988 GB
05-053594 May 1993 JP
1993-05-053594 May 1993 JP
5-169981 Jul 1993 JP
07-302093 Nov 1995 JP
1995-07-302093 Nov 1995 JP
2000-357421 Dec 2000 JP
2001-328494 Nov 2001 JP
2002-313144 Oct 2002 JP
2003123176 Apr 2003 JP
2004249788 Sep 2004 JP
2005-178427 Jul 2005 JP
2005178427 Jul 2005 JP
2007-010810 Jan 2007 JP
2007-135022 May 2007 JP
10-2005-0018420 Feb 2005 KR
958180 Sep 1982 SU
2005103627 Nov 2005 WO
2007039723 Apr 2007 WO
Non-Patent Literature Citations (45)
Entry
PCT: International Preliminary Report on Patentability of PCT/US2010/041231 (related application); Jan. 19, 2012; 6 pages.
PCT: International Preliminary Report on Patentability of PCT/US2009/036309 (related application); Feb. 23, 2012; 5 pages.
PCT: International Search Report and Written Opinion of PCT/US2009/035624 (related application); Feb. 16, 2012; 9 pgs.
PCT: International Search Report and Written Opinion of PCT/US2011/041489 (related application); Feb. 9, 2012; 8 pgs.
PCT: International Search Report and Written Opinion of PCT/US2010/041231 (related application); Apr. 21, 2011; 9 pgs.
PCT: International Preliminary Report on Patentability of PCT/US2009/059073 (related application); Apr. 14, 2011.
Ethernet over twisted pair; Wikipedia, the free encyclopedia; Jun. 3, 2008; pp. 1-3; available at http://en.wikipedia.org/wiki/Ethernet—over—twisted—pair.
PCT: International Search Report and Written Opinion of PCT/US2009/059073 (related application); Jan. 22, 2010; 7 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/045063 (related application); Aug. 12, 2009; 7 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/043649 (related application); Aug. 10, 2009; 8 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/036322 (related application); Jun. 11, 2009; 8 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/036234 (related application); Dec. 21, 2009; 6 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/036190 (related application); Jul. 15, 2009; 8 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/036078 (related application); Apr. 15, 2009; 7 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/036073 (related application); May 16, 2009; 8 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/036001 (related application); Apr. 14, 2009; 12 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/035850 (related application); Apr. 15, 2009; 9 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/035844 (related application); Apr. 23, 2009; 7 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/035715 (related application); Apr. 29, 2009; 8 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/035626 (related application); Jun. 3, 2009; 7 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/035625 (related application); May 25, 2009; 9 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/035615 (related application); Jul. 14, 2009; 7 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/035614 (related application); Aug. 21, 2009; 10 pgs.
PCT: International Preliminary Report on Patentability of PCT/IB2008/002056 (related application); Dec. 7, 2009.
PCT: International Preliminary Report on Patentability of PCT/IB2008/002060 (related application); Dec. 7, 2009.
PCT: International Search Report and Written Opinion of PCT/IB2008/002056 (related application); Jan. 7, 2009; 9 pgs.
PCT: International Search Report and Written Opinion of PCT/IB2008/002060 (related application); Feb. 16, 2009; 12 pgs.
Vanderwerp, Dave, “2011 Dodge Circuit EV—First Drive Review.” Jun. 2009; pp. 1-4; available at http://www.caranddriver.com/reviews/car/09q2/2011—dodge—circuit—ev-first—drive—review.
PCT: International Search Report and Written Opinion of PCT/US2011/041489 (related application); Feb 9, 2012; 8 pgs.
PCT: International Preliminary Report on Patentability of PCT/US2009/035624 (related application); Feb. 16, 2012; 5 pgs.
PCT: International Search Report and Written Opinion of PCT/US2009/036302 (related application); Mar. 21, 2012; 14 pgs.
PCT: International Preliminary Report on Patentability of PCT/US2009/036302 (related application); Apr. 19, 2012; 6 pages.
PCT: International Preliminary Report on Patentability of PCT/US2009/045063 (related application); Dec. 2, 2010.
PCT: International Preliminary Report on Patentability of PCT/US2009/043649 (related application); Nov. 25, 2010.
PCT: International Preliminary Report on Patentability of PCT/US2009/036322 (related application); Sep. 7, 2010.
PCT: International Preliminary Report on Patentability of PCT/US2009/036234 (related application); Sep. 7, 2010.
PCT: International Preliminary Report on Patentability of PCT/US2009/035844 (related application); Sep. 7, 2010.
PCT: International Preliminary Report on Patentability of PCT/US2009/036073 (related application); Sep. 7, 2010.
PCT: International Preliminary Report on Patentability of PCT/US2009/035850 (related application); Sep. 7, 2010.
PCT: International Preliminary Report on Patentability of PCT/US2009/036190 (related application); Sep. 7, 2010.
PCT: International Preliminary Report on Patentability of PCT/US2009/035626 (related application); Sep. 7, 2010.
PCT: International Preliminary Report on Patentability of PCT/US2009/035614 (related application); Sep. 7, 2010.
PCT: International Preliminary Report on Patentability of PCT/US2009/035715 (related application); Sep. 7, 2010.
PCT: International Preliminary Report on Patentability of PCT/US2009/036322 (related application); Sep. 16, 2010.
PCT: International Preliminary Report on Patentability of PCT/US2009/036078 (related application); Sep. 7, 2010.
Related Publications (1)
Number Date Country
20110176428 A1 Jul 2011 US
Provisional Applications (1)
Number Date Country
60933358 Jun 2007 US
Divisions (1)
Number Date Country
Parent 12134424 Jun 2008 US
Child 13074965 US