This invention relates generally to network interface systems and more particularly, to systems and methods for performing protocol conversions in a work machine.
An important feature in modern work machines (e.g., fixed and mobile commercial machines, such as construction machines, fixed engine systems, marine-based machines, etc.) is the on-board electronic communications, monitoring, and control network. An on-board network includes many different modules connected to various types of communication links. These links may be proprietary and non-proprietary, such as manufacturer-based data links and communication paths based on known industry standards (e.g., J1939, RS-232, RP1210, RS-422, RS-485, MODBUS, CAN, etc.). Other features implemented with work machines are off-board networks, such as wireless networks (e.g., cellular), satellite networks (e.g., GPS), and TCP/IP-based networks.
On-board modules may communicate with other on-board or off-board modules to perform various functions related to the operation of the work machine. For example, display modules may receive sensor data from an engine control module via a J1939 data link, while another control module connected to a proprietary data link may provide data to another module connected to the same link. Also, an on-board module may send data to an off-board system using a different communication path extending from the work machine to the off-board system.
Problems arise, however, when modules connected to different types of data links need to communicate. These problems become especially acute as the number of data links and protocols on a given work machine increases. For example, communicating information from various protocols (e.g., J1939, RS232, RP1210, RS-422, RS-485, MODBUS, CAN, ISO11783, ATA, etc.) over a TCP/IP-based network may be problematical in current work machine environments. In addition, communicating information from multiple and different data links over a single data link protocol may pose particular difficulties. Similarly, difficulties may be presented when modules connected to multiple and different data links simultaneously require information from a single disparate physical layer. Further, problems arise when legacy systems need to communicate with other, perhaps newer, systems that are not compatible with the legacy protocols.
In certain instances, an inability to translate and communicate among and between protocols may impose significant limitations on the design and configuration of work machines and modules. For example, the placement of modules within a given work machine or environment may be limited to the range of a particular protocol. Maritime-specific modules, for instance, may only be placed within a relatively short distance of the vessel's engine due to the limitations of a J1939 data link. In certain applications, an Engine Control Module (ECM) connected to a J1939 link may need to communicate with a J1939 display module. The distance at which the display can be located from the ECM is therefore dictated by the J1939 data link range. This constraint may impose limitations not only on the placement of the two modules, but on other systems and modules in the work machine or environment.
To address these problems, conventional systems may incorporate various interface devices to facilitate communications between different types of data links. Although this solution may be functionally acceptable in some instances, their implementations are restricted due to the hardware and service capabilities associated with the types of data links used in a work machine. Further, the additional hardware may take up valuable space needed for other components used by the machine.
U.S. Pat. No. 5,555,498 to Berra et al. describes an interface adapter for vehicle computer systems. The adapter enables existing diagnostic tools, which operate using standard communication signals, to interact with newer on-board vehicle controllers that may use incompatible communication protocols. The adapter allows the existing diagnostic tools to operate transparent of the adapter's presence. Although Berra et al. provides a solution for interfacing existing systems with newer controllers, it is limited to diagnostic tools that communicate with on-board vehicle controllers. Further, the system described by Berra et al. does not accommodate communicating information from multiple and different data links over a single data link protocol and communicating information from a single data link to multiple and different modules. In addition, Berra et al.'s system cannot determine when protocols are inconsistent and provide corresponding interface services. Also, the system does not address the problems associated with the limited useable range of certain protocols.
Methods, systems, and articles of manufacture consistent with certain embodiments of the present invention are directed to solving one or more of the problems set forth above.
Consistent with embodiments of the present invention, methods and systems may be provided for performing protocol conversions in an environment including a work machine having one or more modules coupled to one or more data links. Such methods and systems may leverage one or more gateways to perform tunneling, translating, and bridging operations.
Tunneling processes consistent with embodiments of the present invention may include receiving, by a gateway, a message from a source module in a first protocol. The gateway may encapsulate the message within transmission units of a second protocol and output the encapsulated message on a second data link using the second protocol. A destination module may receive the encapsulated message from the second data link and extract the message from second protocol transmission unit.
Translating processes consistent with embodiments of the present invention may include receiving, by the gateway, a message in a first data link protocol including a parameter identifier. The gateway may match the parameter identifier with a parameter identifier included in a translation table and scale associated parameter data using a scale factor corresponding to a second data link protocol. The gateway may then provide the scaled parameter data to a module using the second data link protocol.
Consistent with embodiments of the present invention, a first gateway may receive a message, from a source module, on a first data link that uses a first protocol. The gateway may encapsulate the received message within a transmission unit consistent with a second protocol. The gateway could, alternatively, translate the received message into a comparable message of the second protocol. The encapsulated (or translated) message may be broadcasted on a second data link using the second protocol and received by a second gateway. The second gateway may extract the message from the second protocol transmission unit and route the extracted message to a destination module. The second gateway may, in addition or as an alternative to extracting, translate the message received from the second data link. In certain implementations, the destination module may be located at a distance from the source module that exceeds a transmission range of the first protocol.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several aspects of the invention and together with the description, serve to explain the principles of the invention. In the drawings:
Reference will now be made in detail to the exemplary aspects of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
Overview
A work machine, as used herein, refers to a fixed or mobile machine that performs some type of operation associated with a particular industry, such as mining, construction, farming, etc. and operates between or within work environments (e.g., construction site, mine site, power plant, etc.). A non-limiting example of a fixed machine includes an engine system operating in a plant, off-shore environment (e.g., off-shore drilling platform). Non-limiting examples of mobile machines include commercial machines, such as trucks, cranes, earth moving vehicles, mining vehicles, backhoes, material handling equipment, farming equipment, marine vessels, aircraft, and any type of movable machine that operates in a work environment.
An on-board module, as used herein, may represent any type of component operating in work machine 105 that controls or is controlled by other components or sub-components. For example, an on-board module may be an operator display device, an Engine Control Module (ECM), a power system control module, a Global Positioning System (GPS) interface device, an attachment interface that connects one or more sub-components, and any other type of device work machine 105 may use to facilitate operations of the machine during run time or non-run time conditions (i.e., machine engine running or not running, respectively).
An off-board system, as used herein, may represent a system that is located remote from work machine 105. An off-board system may be a system that connects to on-board system 110 through wireline or wireless data links. Further, an off-board system may be a computer system including known computing components, such as one or more processors, software, display, and interface devices that operate collectively to perform one or more processes. Alternatively, or additionally, an off-board system may include one or more communications devices that facilitates the transmission of data to and from on-board system 110.
Gateway 120 represents one or more interface devices configured to perform functions consistent with various embodiments of the present invention. Gateway 120 may be configured with various types of hardware and software depending on its application within a work machine. Thus, in accordance with embodiments of the invention, gateway 120 may provide interface capability that facilitates the transmission of data to and from on-board system 110, performs various data processing functions, and maintains data for use by one or more on-board modules or off-board systems. For example, gateway 120 may be configured to perform protocol conversions (e.g., tunneling and translations), intelligent routing, and server-based operations, such as data provisioning, application provisioning, Web server operations, electronic mail server operations, data traffic management, and any other type of server-based operations that enable on-board system 110 to retrieve, generate, and/or provide data with on-board and/or off-board systems. For clarity of explanation,
On-board module 125 represents one or more on-board modules connected to one or more proprietary data links 128 included in on-board system 110. On-board module 127 may be one or more on-board modules connected to a non-proprietary data link 129, such as Society of Automotive Engineers (SAE) standard data links including Controller Area Network (CAN), J1939, etc. standard data links.
As shown in
Computer system 130 represents one or more computing systems each executing one or more software applications. For example, computer system 130 may be a workstation, personal digital assistant, laptop, mainframe, etc. Computer system 130 may include Web browser software that requests and receives data from a server when executed by a processor and displays content to a user operating the system. In one embodiment of the invention, computer system 130 is connected to on-board system 110 through one or more wireline based data links, such as a Local Area Network (LAN), an Extranet, and the Internet using an Ethernet connection based on TCP/IP.
Computer system 140 also represents one or more computing systems each executing one or more software applications. Computer system 140 may be a workstation, personal digital assistant, laptop, mainframe, etc. Also, computer system 140 may include Web browser software that requests and receives data from a server when executed by a processor and displays content to a user operating the system. In one embodiment of the invention, computer system 140 is connected to on-board system 110 through one or more wireless based data links, such as cellular, satellite, and radio-based communication data links.
Computer systems 130 and 140 may each be associated with a user (e.g., customer), multiple users, a business entity (dealer, manufacturer, vendor, etc.), a department of a business entity (e.g., service center, operations support center, logistics center, etc.), and any other type of entity that sends and/or receives information to/from on-board system 110. Further, computer system 130 and 140 may each execute off-board software applications that download or upload information to/from on-board system 110 via gateway 120. In certain embodiments, computer systems 130 and 140 may include one or more controllers such as a PLC (Programmable Logic Controller), which could be used in plants/factories.
Service system 150 represent one or more portable, or fixed, service systems that perform diagnostics and/or service operations that include receiving and sending messages to on-board system 110 via gateway 120. For example, service system 150 may be a electronic testing device that connects to on-board system 120 through an RS-232 serial data link. Using service system 150, a user or an application executed by a processor may perform diagnostics and service operations on any of on-board system modules 125, 127 through gateway 120.
In one embodiment, gateway 120 may include various computing components used to perform server based services (e.g., communications services, file services, database services, etc.) for on-board system 110.
Digital core 202 includes the logic and processing components used by gateway 120 to perform its interface, communications, and server functionalities. In one embodiment, digital core 202 includes one or more processors 205 and internal memories 210 and 215. Processor 205 may represent one or more microprocessors that execute software to perform the gateway features of the present invention. Memory 210 may represent one or more memory devices that temporarily store data, instructions, and executable code, or any combination thereof, used by processor 205. Memory 215 may represent one or more memory devices that store data temporarily during operation of gateway 120, such as a cache memory, register devices, buffers, queuing memory devices, and any type of memory device that maintains information. Memories 210 and 215 may be any type of memory device, such as flash memory, Static Random Access Memory (SRAM), and battery backed non-volatile memory devices.
On-board data link ports 220-1 to 220-N represent one or more interface devices that interconnect one or more on-board data links with digital core 202. For example, on-board data link ports 220-1 to 220-N may connect to proprietary and non-proprietary data links 128, 129, respectively. In one embodiment, on-board data link ports 220-1 to 220-N interfaces with one or more proprietary data links, one or more CAN data links (e.g., J1939, galvanized isolated CAN data links, etc.), one or more RS-232 serial based data links (e.g., MODBUS, PPP, NMEA183, etc.), and one or more RS-242 data links. On-board data link ports 220-1 to 220-N may also include virtual (i.e., software) ports that allow a single connection to act as if there were multiple connections.
Off-board data link ports 225-1 to 225-Y represent one or more interface devices that interconnect one or more off-board data links with digital core 202. For example, off-board data link ports 225-1 to 225-Y may connect gateway 120 to one or more RS-232 data links, RS-485 data links, Ethernet data links, MODBUS data links, radio data links, and/or satellite data links, etc. It is appreciated that gateway 120 may be configured to interface with any type of data link used in an on-board or off-board system network.
The gateway 120 shown in
In operation, digital core 202 executes program code to facilitate communications between on-board modules and/or off-board systems. In one embodiment of the present invention, memory 210 includes application and server-based software programs that allow information received through either data link ports 220 and 225 to be processed and/or transferred to the proper destination module/system in the proper format.
Exemplary model 300 may include hardware interface software, such as boot executable software and driver software layer 310, that drive the on-board and off-board data link ports 220 and 225 connecting the multiple types of data links to gateway 120 (e.g., Ethernet, RS-232, CAN, proprietary data links, etc.). A core hardware access layer 315 interfaces boot executable layer 310 and core software layer 330, which includes software associated with runtime operations of gateway 120. Layer 320 includes operating system software executed by processor 205, and layer 325 is a network stack level including one or more protocol stacks used to perform communication services, such as formatting data messages for specific protocols, etc. In one embodiment, model 300 may also include a Web server layer 335 that includes server software used by gateway 120 to perform Web server operations, such as HTML processing, content generation, Web page request processing, etc. Further, model 300 may also include one or more layers 340-360 representing application programs executable by gateway 120. For example, layers 340, 345 may represent server applications executed by gateway 120 to perform certain services, such as data provisioning, application management, traffic management, etc. Layers 360-1 to 360-X may represent application programs that perform operations associated with functions typically performed by certain types of on-board modules connected to an on-board network, such as a Customer Communication Module (CCM), a communication adapter, a GPS Interface Module (GPSIM), a third party interface software, an Engine Vision Interface Module (EVIM), and a product link module.
Model 300 may also include an inter-data link gateway layer 350 that includes one or more gateway applications 350-1 to 350-T, that perform protocol conversion operations for converting information associated with one type of data link to another. The conversion operations may include protocol translation and tunneling features. Processor 205 may execute a selected one of application programs 350-1 to 350-T based on the type of format required by an outgoing data link. For example, application layer 350-1 may represent a protocol conversion program that allows data messages received in a proprietary data link to be converted to a J1939 format for transmission across a J1939 data link. Other types of conversion applications may be configured in model 300 including application layers that combine one or more protocol conversion capabilities.
Protocol Conversion Operations
Consistent with embodiments the present invention, methods and systems may leverage one or more gateways 120 in order to perform various protocol conversions. In these embodiments, gateway 120 may include hardware, firmware, and/or software (e.g., inter-data link gateway applications 350-1 to 350-T) for translating information among and between data link protocols and tunneling information over data link protocols. With such capabilities, gateway 120 may in certain embodiments operate as a bridge, access point, and/or repeater, extending the useable range of data links between various devices.
Tunneling
Consistent with embodiments of the present invention, methods and systems may facilitate information exchange among and between a plurality of different data link protocols. In such embodiments, methods and systems may leverage one or more gateways 120 to perform protocol tunneling. As used herein, the term “tunneling” refers to encapsulating information from one data link protocol within transmission units associated with another data link protocol. Tunneling may therefore enable data of one data link to be transmitted over a different physical layer. Tunneling operations may, in certain embodiments, enable modules operating with a first protocol to communicate via one or more data links incompatible with the first protocol. In certain embodiments, gateway 120 may include hardware, firmware, and/or software for performing tunneling processes. For example, as described above, model 300 may include an inter-data link gateway layer 350, including one or more gateway applications 350-1 to 350-T that perform tunneling processes.
As mentioned above, gateway 120 may encapsulate messages of a first protocol within a message consistent with one or more other data link protocols. Non-limiting examples of protocols with which tunneling may be used include: J1939, ISO11783, RS-422, ATA, CANOpen, TCP/IP, Ethernet, and a proprietary data link (PDL). In one example, gateway 120 may tunnel PDL messages (i.e., the passenger protocol) over J1939 and/or Ethernet data links (i.e., the encapsulating protocol). Additionally, or alternatively, gateway 120 may encapsulate PDL, J1939, ISO11783, ATA, CANOpen, and other protocols into TCP/IP messages to communicate over the Internet. Gateway 120 may also tunnel Internet Protocol (IP) packets over a J1939 data link. In certain embodiments, gateway 120 may tunnel messages from multiple and different data links simultaneously over another single data link. Gateway 120 may also receive messages from one data link and simultaneously tunnel information out on multiple and different data links. Consistent with embodiments of the present invention, each of application programs 350-1 to 350-T, included in gateway 120, may represent a distinct protocol conversion program. For example, application layer 350-1 may represent a protocol conversion program that allows data messages received in a PDL to be encapsulated for transmission across a J1939 data link.
Consistent with embodiments of the present invention, methods and systems may perform tunneling operations in an “on-board” environment or system. That is, information may be tunneled among and between data links within a given work machine.
Once the gateway and modules in work machine 405 are appropriately configured, data may be received in a first protocol (the passenger protocol) from one or more on-board sources (Step 520). For example, module 415 (e.g., an ECM) may send a PDL message destined for module 416a to gateway 410 over data link 420 (e.g., a PDL). In this fashion, modules 415 and 416a may serve as source and destination modules, respectively. In certain embodiments, module 415 may identify the message as a public or private message by programming an ID portion of the message with an identifier designating the message as either private or public. A public message is one that is accessible to non-proprietary systems and components, such as on-board system control module 127 shown in
Upon receiving the message in the first (i.e., passenger) protocol from a source, gateway 410 may encapsulate the message within a transmission unit/format (the encapsulating protocol) consistent with the data link (e.g., data link 421a) to which the destination is coupled (Step 530). For example, data link 421a (coupled to module 416a) may be a J1939 data link, and gateway 410 may therefore encapsulate the received message within an J1939 transmission unit. In this fashion, gateway 410 may serve as a tunnel entry point. In certain embodiments, gateway 410 may also encrypt the message. In certain embodiments, gateway 410 may be pre-configured (e.g., at step 510) to encapsulate messages received from a particular data link or module in a specific protocol. In alternative embodiments, gateway 410 may be configured to discover that a message needs to be tunneled. That is, upon receiving a message from module 415, for example, gateway 410 may dynamically determine that the received message protocol is not compatible with the data link to which the destination module (e.g., 416a) of the message is coupled. For example, gateway 410 may learn that data links 420 and 421a are incompatible and therefore tunnel all data traffic that is received from data link 420 and destined for data link 421a. Gateway 410 may also analyze an identifier (e.g., a destination address) in a received message to determine whether it should tunnel the message in a second protocol. Once a message is encapsulated, gateway 410 may transmit the message to the destination (e.g., module 416a) via the data link coupled to the destination (e.g., data link 421a) (Step 540). In this fashion, gateway 410 may transmit the passenger protocol message across a data link via the encapsulating protocol.
In the process of
Although the process concerning
In certain embodiments of the present invention, a plurality of gateways may be included in an on-board system to facilitate tunneling.
In certain embodiments, tunneling processes implemented in system 600 may enable information exchange among a plurality of different data links. For example, data links 620, 621, and 622 may each use a different protocol. In such scenarios, gateway 610 may tunnel messages received from module 415 across data link 621 to gateway 611. Upon receiving the encapsulated message, gateway 611 may tunnel the encapsulated message to module 416a, where the original message is extracted.
In addition, or as an alternative, to on-board tunneling, methods and systems consistent with the present invention may perform off-board tunneling.
As shown in
WASWN 840 may be a satellite radio network that includes infrastructure allowing communications between one or more satellite devices and a remote system, such as computer system 140 described in connection with
As illustrated, work machine 820 may include a gateway 825 that may be configured and operates similar to gateway 120. Work machine 820 may also include one or more modules 821, which may be similar to modules 415 and 416a-c. Work machine 820 may be a mobile or fixed work machine connected to work machine 810 through a wireline or wireless data link 802. External system 830 may represent a remote system that communicates with gateway 815 through a wireless or wireline connection, such as computer system 130, computer system 140, or service port system 150.
Although
In the illustrated off-board environment of
In certain embodiments consistent with the present invention, gateway 815 may be configured to encapsulate messages (originating from modules within work machine 810) within network packets for transmission across one or more networks. For example, gateway 815 may encapsulate PDL, J1939, CANopen, ISO11783, and other protocol data within TCP/IP messages for transmission across the Internet (e.g., via network 870). In addition, gateway 815 may be configured to tunnel IP packets across one or more data links within work machine 810. For example, gateway 815 may tunnel IP packets received from network 870 over a J1939 and/or an ISO11783 data link coupled to module 811 within work machine 810.
As mentioned above, tunneling operations may be performed for multiple and different data links, both discretely and simultaneously. Accordingly, gateway 815 may tunnel messages received from a plurality of off-board elements (e.g., network 870, work machine 820, external system 830) across one or more data links to destinations within work machine 810. In addition, gateway 815 may tunnel messages received from a plurality of different data links within work machine 810 across one or more data links coupled to an off-board element. For example, gateway 815 may encapsulate data received from PDL, J1939, CANopen, and ISO11783 data links within TCP/IP messages for transmission across the Internet (e.g., via network 870).
Translating
Consistent with embodiments of the present invention, methods and systems may leverage one or more gateways 120 to perform protocol translation in order to facilitate communications between different data links, whether on-board or off-board. As used herein, the term “translating” refers to converting messages from one data link protocol into comparable messages of another protocol. In exemplary translation processes consistent with the present invention, protocol-specific parameters may be translated between different data links. Such parameters may include operational parameters, such as engine speed, injection rates, component and/or area temperatures, pressures, etc. corresponding to systems, modules and components located in a work machine environment. Further, parameters may include, or be associated with, engine diagnostic and performance parameters associated with an ECM. Parameters may also reflect commands or be used to perform certain actions. Messages from modules in a work machine environment may include one or more commands to adjust one or more parameter data values based on, for example, a requested action directed to a work machine. In one instance, a message may include a request to increase engine speed of a particular work machine by adjusting (or requesting adjustment of) data values associated with an engine speed parameter.
Translating differs from tunneling in that the messages from one data link protocol are converted into comparable messages of another protocol before they are sent. That is, messages are not encapsulated into the physical layer of another protocol, as is done with tunneling. Consistent with principles of the present invention, translating may be performed among and between any number of protocols. Messages from multiple and different data links may be discretely or simultaneously translated and sent out on a single data link. Messages may also be received from a single data link and discretely or simultaneously translated and sent out over multiple and different data links. Consistent with certain embodiments of the present invention, translation processes may also include encrypting and/or decrypting data link traffic. Non-limiting examples of translations include: (1) PDL and J1939 to MODBUS; (2) PDL to ISO11783; (3) PDL to J1939; (4) ATA to J1939; and vice versa. In certain embodiments, gateway 120 may include hardware, firmware, and/or software for performing translation processes. For example, model 300 may include an inter-data link gateway layer 350, including one or more gateway applications 350-1 to 350-T that perform translation processes.
Consistent with principles of the present invention, a translation data structure, such as a translation table, that maps parameters between data links may facilitate protocol translation. Gateway 120 may access such a table in order to perform translation operations.
Consistent with principles of the present invention, table 910 may include one or more scaling factors, each representing a data link “view.” Each view may correspond to a particular protocol interfaced by gateway 120. Table 910 includes four views: (1) a PDL view; (2) an Ethernet data link (i.e., Web) view; (3) a J1939 view; and (4) a RS-422 view. Although four views are shown, table 910 may include any number of views corresponding to data links interfaced by gateway 120. Each “view” may enable its associated data link to interpret parameter data stored in a universal storage location. Universal Storage (US) represents a memory location or locations that store one or more values corresponding to a particular parameter (i.e., parameter data). Parameter data may be received from one or more data links interfaced by gateway 120.
As illustrated in
In addition, each view in translation table 910 may include a specific read/write privilege to the Universal Storage. That is, certain data links may be assigned write privileges to the Universal Storage, while other data links have only read access.
Consistent with translating processes of the present invention, translation table 910 may be pre-configured with a plurality of parameter identifiers and scale factors corresponding to a plurality of data links interfaced by gateway 120. In operation, gateway 120 may receive a message, including a PID and corresponding parameter data, from a particular data link. In response to such a message, gateway 120 may extract the PID and store the parameter data in the US. In addition, gateway 120 may use the PID to scale the parameter data according to the scale factors included in translation table 910, thereby creating multiple “views” of the parameter data. In one example, gateway 120 may receive a request for parameter data from a particular data link. The request may include a PID corresponding to the requested data. In response to such a request, gateway 120 may extract the PID from the request and scale the requested parameter data (previously stored in the US) using a scale factor corresponding to the extracted PID and requesting data link protocol.
Upon receiving the message from the source, gateway 120 may extract the PID from the message and store the corresponding parameter data (e.g., 200) in the Universal Storage location (Step 1020). As mentioned above, methods and systems consistent with the present invention may enable multiple and different data links to access data stored in the US. In one example, translation table 910 may allow various views (e.g., Web, J1939, PDL, etc.) to access the stored RPM data.
In the process of
After scaling the parameter value, gateway 120 may transmit (e.g., via a message) the scaled parameter value to its destination via the data link associated with the destination (Step 1040). For example, gateway 120 may transmit the scaled RPM parameter value to the Internet browser of system 130 via an Ethernet data link.
Although the process of
As described above, each data link view in translation table 910 may include its own read/write privileges to the Universal Storage. Thus, in the above example, the Web browser may not be permitted to overwrite the parameter value in the Universal Storage. To accommodate feedback from modules, translation table 910 may include multiple US locations corresponding to a given parameter and mapped to corresponding scale factors. For instance, if the Web browser receives parameter data from a first US location and then provides feedback, gateway 120 may store that feedback in a second US location associated with the parameter. The stored feedback may be then scaled to a format corresponding to the data link connected to original sending module. Gateway 120 may then send the scaled data to the on-board system component for processing. In one example, a PDL-based ECM may provide gateway 120 with fuel flow data. Gateway 120 may translate and route this parameter data to a diagnostic module via an Ethernet data link. Upon receipt, the diagnostic module may provide feedback to gateway which includes instructions to increase the fuel flow rate. This feedback may be stored in translation table 910, scaled, and transmitted back to the ECM for processing. In response to receiving the feedback, the ECM may increase the fuel flow rate in accord with the message from the diagnostic module.
Bridging
Consistent with embodiments of the present invention, systems and methods may leverage protocol conversion capabilities to perform bridging operations. In certain embodiments, one or more gateway 120s may use protocol conversion processes (e.g., tunneling) to facilitate bridging. As used herein, the term “bridging” refers to connecting one data link having a first protocol to another data link that may use the same protocol. That is, a “bridge” may connect consistent physical layers. However, in alternative embodiments, tunneling and/or translating processes consistent with principles of the present invention may be leveraged to “bridge” inconsistent physical layers. Consistent with principles of the present invention, information may be bridged from a first data link (e.g., a J1939 data link) over a second protocol (e.g., RS-422) to another data link consistent with the first (e.g., J1939). In this fashion, gateway 120 may extend the useable range of data links in a work machine or in a work machine environment. For instance, tunneling J1939 data over an RS-422 data link may allow the data to be transported over a distance that exceeds the range of the J1939 data link.
In system 1100, modules 1110, 1114, and 1134 may be J1939-based modules. However, the distance between module 1110 and 1134 may exceed the range of the J1939 protocol. For example, the distance between modules 1110 and 1134 may be approximately 200 meters, while the range of the J1939 data link may be only 40 meters. To accommodate such a scenario, gateways 1120 and 1130 may be configured to serve as a distance bridge between modules 1110 and 1114 and module 1134. Gateways 1120 and 1130 may be configured as bridge entry and exit points, respectively, and may be coupled together via data link 1125. Data link 1125 may have a range sufficient to accommodate the positioning of modules 1110, 1114, and 1134. For example, data link 1125 may be an RS-422 data link with a range of 300 meters.
Referring to
In certain embodiments, work machine 1105 may be a mobile work machine that monitors and controls multiple wireless on-board devices, such as radio transceivers. When mobile work machine 1105 moves into a certain range of second gateway-embedded work machine (e.g., mobile or fixed), gateway 1120 may send a message to the gateway embedded in the second work machine. The gateway in the second work machine may translate the message to another protocol for extended transmissions (e.g., an RS-422 data link from a base station that the second work machine approaches).
Although, in
For additional clarity of explanation, the systems 100-400, 600, 800, and 1100 are described herein with reference to the discrete functional elements illustrated in
In addition, the steps illustrated in the flowcharts of
Consistent with embodiments of the present invention, methods and systems may facilitate information exchange in multi-protocol environments. In one example, a work machine may include a plurality of different data links and corresponding modules. Systems and methods of the present invention may enable these modules to exchange information, despite incompatibilities among their respective operating protocols. Consistent with principles of the present invention, methods and systems may leverage one or more gateways to perform protocol conversion processes, such as tunneling and translating. In addition, such processes may be exploited to provide features such as distance bridging. In certain embodiments, one or more gateways may be configured to perform one of tunneling, translating, or bridging. In other embodiments, one or more gateways may perform tunneling, translating, and bridging operations. In one example, a single gateway may perform tunneling, translating, and bridging operations for one or more interfaced data links.
In one embodiment, one or more gateways may be configured to encapsulate information from a first protocol within transmission units of a second protocol. In this fashion, systems and methods consistent with the present invention may tunnel messages originating from one or more modules and formatted in a first protocol through a second data link protocol to one or more destinations.
In certain embodiments consistent with the present invention, one or more gateways may be configured to translate parameters between incompatible protocols. Systems and methods of the present invention may convert parameters associated with a first protocol into comparable parameters associated with a second protocol. A translation table may facilitate such protocol translation processes.
Consistent with certain embodiments of the present invention, systems and methods may perform tunneling and translating operations concurrently. Additionally, one or more gateways may be configured to tunnel information through one data link and translate information for another. Further, in certain embodiments, one or more gateways may encrypt and decrypt data link traffic in addition to performing tunneling, translating, and/or bridging.
In some work machine environments, components may be located at substantial distances from each other. For example, on a marine vessel, an ECM may be located in an engine room and a display may be located several hundred meters away in a pilot room. In such environments, however, the protocols with which the modules operate may be unable to communicate information over such distances. That is, the distance between certain modules may exceed the range of the data link protocols with which these modules operate. To accommodate such situations, methods and systems of the present invention may, leveraging one or more embedded gateways, provide bridging operations in order to extend the useable range of certain protocols.
Systems and methods consistent with the present invention may serve to adapt legacy systems and applications to new technology. For example, certain work machines may include multi-protocol operating environments but may include legacy ECMs not compatible with all of the implemented protocols. In some instances, it may be desirable to maintain these legacy systems despite their incompatibility with newer protocols. Methods and systems consistent with the present invention may enable such legacy systems to interact with other systems and applications that operate with incompatible physical layers. That is, the present invention may enable legacy systems to operate with newer systems and other protocols not compatible with the legacy protocol.
The embodiments, features, aspects and principles of the present invention may be implemented in various environments and are not limited to work site environments. For example, a work machine with an embedded gateway may perform the functions described herein in other environments, such as mobile environments between job sites, geographical locations and settings. Further, the processes disclosed herein are not inherently related to any particular system, and may be implemented by a suitable combination of electrical-based components. Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope of the invention being indicated by the following claims.
This application claims the benefit of U.S. Provisional Application Ser. No. 60/483,915 entitled “Systems and Methods for Interfacing Off-Board and On-Board Networks in a Work Machine,” filed Jul. 2, 2003, owned by the assignee of this application and expressly incorporated herein by reference in its entirety. This application is related to U.S. application Ser. No. 10/646,684, entitled “SYSTEMS AND METHODS FOR PROVIDING SERVER OPERATIONS IN A WORK MACHINE,” filed Aug. 25, 2003, U.S. application Ser. No. 10/646,714, entitled “SYSTEMS AND METHODS FOR PROVIDING SECURITY OPERATIONS IN A WORK MACHINE,” filed Aug. 25, 2003, U.S. application Ser. No. 10/646,809, entitled “SYSTEMS AND METHODS FOR PROVIDING NETWORK COMMUNICATIONS BETWEEN WORK MACHINES,” filed Aug. 25, 2003, and U.S. application Ser. No. 10/646,685, entitled “METHODS AND SYSTEMS FOR PROVIDING PROXY CONTROL FUNCTIONS IN A WORK MACHINE,” filed Aug. 25, 2003, each owned by the assignee of this application and expressly incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
3815091 | Kirk | Jun 1974 | A |
4359733 | O'Neill | Nov 1982 | A |
4414661 | Karlstrom | Nov 1983 | A |
4583206 | Rialan et al. | Apr 1986 | A |
4694408 | Zaleski | Sep 1987 | A |
4744083 | O'Neill et al. | May 1988 | A |
4804937 | Barbiaux et al. | Feb 1989 | A |
4896261 | Nolan | Jan 1990 | A |
4924391 | Hirano et al. | May 1990 | A |
4926331 | Windle et al. | May 1990 | A |
4929941 | Lecocq | May 1990 | A |
4975846 | Abe et al. | Dec 1990 | A |
5003479 | Kobayashi et al. | Mar 1991 | A |
5025253 | DiLullo et al. | Jun 1991 | A |
5077670 | Takai et al. | Dec 1991 | A |
5090012 | Kajiyama et al. | Feb 1992 | A |
5132905 | Takai et al. | Jul 1992 | A |
5157610 | Asano et al. | Oct 1992 | A |
5168272 | Akashi et al. | Dec 1992 | A |
5218356 | Knapp | Jun 1993 | A |
5274638 | Michihira et al. | Dec 1993 | A |
5307509 | Michalon et al. | Apr 1994 | A |
5309436 | Hirano et al. | May 1994 | A |
5343319 | Moore | Aug 1994 | A |
5343470 | Hideshima et al. | Aug 1994 | A |
5343472 | Michihira et al. | Aug 1994 | A |
5365436 | Schaller et al. | Nov 1994 | A |
5387994 | McCormack et al. | Feb 1995 | A |
5400018 | Scholl et al. | Mar 1995 | A |
5425051 | Mahany | Jun 1995 | A |
5448479 | Kemner et al. | Sep 1995 | A |
5459660 | Berra | Oct 1995 | A |
5463567 | Boen et al. | Oct 1995 | A |
5479157 | Suman et al. | Dec 1995 | A |
5479479 | Braitberg et al. | Dec 1995 | A |
5495469 | Halter et al. | Feb 1996 | A |
5523948 | Adrain | Jun 1996 | A |
5526357 | Jandrell | Jun 1996 | A |
5541840 | Gurne et al. | Jul 1996 | A |
5555498 | Berra et al. | Sep 1996 | A |
5588002 | Kawanishi et al. | Dec 1996 | A |
5604854 | Luse et al. | Feb 1997 | A |
5606556 | Kawanishi et al. | Feb 1997 | A |
5619412 | Hapka | Apr 1997 | A |
5629941 | Kawanishi et al. | May 1997 | A |
5640444 | O'Sullivan | Jun 1997 | A |
5657317 | Mahany et al. | Aug 1997 | A |
5659702 | Hashimoto et al. | Aug 1997 | A |
5710984 | Millar et al. | Jan 1998 | A |
5712782 | Weigelt et al. | Jan 1998 | A |
5732074 | Spaur et al. | Mar 1998 | A |
5737335 | Mizuta et al. | Apr 1998 | A |
5737711 | Abe | Apr 1998 | A |
5764919 | Hashimoto | Jun 1998 | A |
5781125 | Godau et al. | Jul 1998 | A |
5790536 | Mahany et al. | Aug 1998 | A |
5790965 | Abe | Aug 1998 | A |
5809432 | Yamashita | Sep 1998 | A |
5844953 | Heck et al. | Dec 1998 | A |
5848368 | Allen et al. | Dec 1998 | A |
5856976 | Hirano | Jan 1999 | A |
5884202 | Arjomand | Mar 1999 | A |
5884206 | Kim | Mar 1999 | A |
5896418 | Hamano et al. | Apr 1999 | A |
5916287 | Arjomand et al. | Jun 1999 | A |
5938716 | Shutty et al. | Aug 1999 | A |
5949776 | Mahany et al. | Sep 1999 | A |
5957985 | Wong et al. | Sep 1999 | A |
5982781 | Przybyla et al. | Nov 1999 | A |
5999876 | Irons et al. | Dec 1999 | A |
6009370 | Minowa et al. | Dec 1999 | A |
6025776 | Matsuura | Feb 2000 | A |
6037901 | Devier et al. | Mar 2000 | A |
6052632 | Iihoshi et al. | Apr 2000 | A |
6052788 | Wesinger et al. | Apr 2000 | A |
6061614 | Carrender et al. | May 2000 | A |
6064299 | Lesesky et al. | May 2000 | A |
6067302 | Tozuka | May 2000 | A |
6073063 | Leong Ong et al. | Jun 2000 | A |
6075451 | Lebowitz et al. | Jun 2000 | A |
6084870 | Wooten et al. | Jul 2000 | A |
6104971 | Fackler | Aug 2000 | A |
6111524 | Lesesky et al. | Aug 2000 | A |
6111893 | Volftsun et al. | Aug 2000 | A |
6112139 | Schubert et al. | Aug 2000 | A |
6114970 | Kirson et al. | Sep 2000 | A |
6122514 | Spaur et al. | Sep 2000 | A |
6125309 | Fujimoto | Sep 2000 | A |
6131019 | King | Oct 2000 | A |
6134488 | Sasaki et al. | Oct 2000 | A |
6144905 | Gannon | Nov 2000 | A |
6151298 | Bernhardsson et al. | Nov 2000 | A |
6151306 | Ogasawara et al. | Nov 2000 | A |
6167337 | Haack et al. | Dec 2000 | A |
6169943 | Simon et al. | Jan 2001 | B1 |
6177867 | Simon et al. | Jan 2001 | B1 |
6181994 | Colson et al. | Jan 2001 | B1 |
6185491 | Gray et al. | Feb 2001 | B1 |
6189057 | Schwanz et al. | Feb 2001 | B1 |
6195602 | Hazama et al. | Feb 2001 | B1 |
6198989 | Tankhilevich et al. | Mar 2001 | B1 |
6201316 | Knecht | Mar 2001 | B1 |
6202008 | Beckert et al. | Mar 2001 | B1 |
6202012 | Gile et al. | Mar 2001 | B1 |
6225898 | Kamiya et al. | May 2001 | B1 |
6230181 | Mitchell et al. | May 2001 | B1 |
6236909 | Colson et al. | May 2001 | B1 |
6263268 | Nathanson | Jul 2001 | B1 |
6272120 | Alexander | Aug 2001 | B1 |
6275167 | Dombrowski et al. | Aug 2001 | B1 |
6278921 | Harrison et al. | Aug 2001 | B1 |
6285925 | Steffen | Sep 2001 | B1 |
6292862 | Barrenscheen et al. | Sep 2001 | B1 |
6295492 | Lang et al. | Sep 2001 | B1 |
6314351 | Chutorash | Nov 2001 | B1 |
6314422 | Barker et al. | Nov 2001 | B1 |
6317838 | Baize | Nov 2001 | B1 |
6321142 | Shutty | Nov 2001 | B1 |
6321148 | Leung | Nov 2001 | B1 |
6327263 | Nakatsuji | Dec 2001 | B1 |
6330499 | Chou et al. | Dec 2001 | B1 |
6343249 | Sakai et al. | Jan 2002 | B1 |
6353776 | Rohrl et al. | Mar 2002 | B1 |
6356813 | Sommer et al. | Mar 2002 | B1 |
6356822 | Diaz et al. | Mar 2002 | B1 |
6370449 | Razavi et al. | Apr 2002 | B1 |
6370456 | Eiting et al. | Apr 2002 | B1 |
6381523 | Sone | Apr 2002 | B2 |
6405111 | Rogers et al. | Jun 2002 | B2 |
6407554 | Godau et al. | Jun 2002 | B1 |
6408232 | Cannon et al. | Jun 2002 | B1 |
6411203 | Lesesky et al. | Jun 2002 | B1 |
6415210 | Hozuka et al. | Jul 2002 | B2 |
6427101 | Diaz et al. | Jul 2002 | B1 |
6430164 | Jones et al. | Aug 2002 | B1 |
6430485 | Hullinger | Aug 2002 | B1 |
6434455 | Snow et al. | Aug 2002 | B1 |
6434458 | Laguer-Diaz et al. | Aug 2002 | B1 |
6434459 | Wong et al. | Aug 2002 | B2 |
6438468 | Muxlow et al. | Aug 2002 | B1 |
6438471 | Katagishi et al. | Aug 2002 | B1 |
6449884 | Watanabe et al. | Sep 2002 | B1 |
6459969 | Bates et al. | Oct 2002 | B1 |
6460096 | Hesse et al. | Oct 2002 | B1 |
6466861 | Little | Oct 2002 | B2 |
6470260 | Martens et al. | Oct 2002 | B2 |
6473839 | Kremser et al. | Oct 2002 | B1 |
6479792 | Beiermann et al. | Nov 2002 | B1 |
6480928 | Yashiki et al. | Nov 2002 | B2 |
6484082 | Millsap et al. | Nov 2002 | B1 |
6487717 | Brunemann et al. | Nov 2002 | B1 |
6501368 | Wiebe et al. | Dec 2002 | B1 |
6505105 | Allen et al. | Jan 2003 | B2 |
6512970 | Albert | Jan 2003 | B1 |
6516192 | Spaur et al. | Feb 2003 | B1 |
6526340 | Reul et al. | Feb 2003 | B1 |
6526460 | Dauner et al. | Feb 2003 | B1 |
6529159 | Fan et al. | Mar 2003 | B1 |
6529808 | Diem | Mar 2003 | B1 |
6529812 | Koehrsen et al. | Mar 2003 | B1 |
6535803 | Fennel | Mar 2003 | B1 |
6539296 | Diaz et al. | Mar 2003 | B2 |
6542799 | Mizutani et al. | Apr 2003 | B2 |
6549833 | Katagishi et al. | Apr 2003 | B2 |
6553039 | Huber et al. | Apr 2003 | B1 |
6553291 | Matsui | Apr 2003 | B2 |
6553292 | Kokes et al. | Apr 2003 | B2 |
6556899 | Harvey et al. | Apr 2003 | B1 |
6560516 | Baird et al. | May 2003 | B1 |
6560517 | Matsui | May 2003 | B2 |
6564127 | Bauerle et al. | May 2003 | B1 |
6567730 | Tanaka | May 2003 | B2 |
6571136 | Staiger | May 2003 | B1 |
6574734 | Colson et al. | Jun 2003 | B1 |
6580953 | Wiebe et al. | Jun 2003 | B1 |
6580983 | Laguer-Diaz et al. | Jun 2003 | B2 |
6587768 | Chene et al. | Jul 2003 | B2 |
6608554 | Lesesky et al. | Aug 2003 | B2 |
6611740 | Lowery et al. | Aug 2003 | B2 |
6625135 | Johnson et al. | Sep 2003 | B1 |
6629032 | Akiyama | Sep 2003 | B2 |
6636789 | Bird et al. | Oct 2003 | B2 |
6647323 | Robinson et al. | Nov 2003 | B1 |
6647328 | Walker | Nov 2003 | B2 |
6654669 | Eisenmann et al. | Nov 2003 | B2 |
6662091 | Wilson et al. | Dec 2003 | B2 |
6694235 | Akiyama | Feb 2004 | B2 |
6728603 | Pruzan et al. | Apr 2004 | B2 |
6738701 | Wilson | May 2004 | B2 |
6744352 | Lesesky et al. | Jun 2004 | B2 |
6754183 | Razavi et al. | Jun 2004 | B1 |
6778837 | Bade et al. | Aug 2004 | B2 |
6865460 | Bray et al. | Mar 2005 | B2 |
6901449 | Selitrennikoff et al. | May 2005 | B1 |
6922786 | Ong | Jul 2005 | B1 |
6970127 | Rakib | Nov 2005 | B2 |
6970459 | Meier | Nov 2005 | B1 |
6975612 | Razavi et al. | Dec 2005 | B1 |
7020708 | Nelson et al. | Mar 2006 | B2 |
7046638 | Klausner et al. | May 2006 | B1 |
7054319 | Akahane et al. | May 2006 | B2 |
7089343 | Bahren | Aug 2006 | B2 |
7177652 | Hopper et al. | Feb 2007 | B1 |
7180908 | Valavi et al. | Feb 2007 | B2 |
7257472 | Hauer et al. | Aug 2007 | B2 |
7418481 | Fredriksson | Aug 2008 | B2 |
20010025323 | Sodergren | Sep 2001 | A1 |
20010030972 | Donaghey | Oct 2001 | A1 |
20010041956 | Wong et al. | Nov 2001 | A1 |
20010050922 | Tiernay et al. | Dec 2001 | A1 |
20010051863 | Razavi et al. | Dec 2001 | A1 |
20010056323 | Masters et al. | Dec 2001 | A1 |
20020003781 | Kikkawa et al. | Jan 2002 | A1 |
20020006139 | Kikkawa et al. | Jan 2002 | A1 |
20020007237 | Phung et al. | Jan 2002 | A1 |
20020019689 | Harrison et al. | Feb 2002 | A1 |
20020032507 | Diaz et al. | Mar 2002 | A1 |
20020032511 | Murakami et al. | Mar 2002 | A1 |
20020032853 | Preston | Mar 2002 | A1 |
20020035429 | Banas | Mar 2002 | A1 |
20020038172 | Kinugawa | Mar 2002 | A1 |
20020042670 | Diaz et al. | Apr 2002 | A1 |
20020069262 | Rigori et al. | Jun 2002 | A1 |
20020070845 | Reisinger et al. | Jun 2002 | A1 |
20020082753 | Guskov et al. | Jun 2002 | A1 |
20020099487 | Suganuma et al. | Jul 2002 | A1 |
20020103582 | Ohmura et al. | Aug 2002 | A1 |
20020103583 | Ohmura et al. | Aug 2002 | A1 |
20020105968 | Pruzan et al. | Aug 2002 | A1 |
20020107624 | Rutz | Aug 2002 | A1 |
20020110146 | Thayer et al. | Aug 2002 | A1 |
20020116103 | Matsunaga et al. | Aug 2002 | A1 |
20020116116 | Mathew et al. | Aug 2002 | A1 |
20020123828 | Bellmann et al. | Sep 2002 | A1 |
20020123832 | Gotvall et al. | Sep 2002 | A1 |
20020123833 | Sakurai et al. | Sep 2002 | A1 |
20020126632 | Terranova | Sep 2002 | A1 |
20020138178 | Bergmann et al. | Sep 2002 | A1 |
20020138188 | Watanabe et al. | Sep 2002 | A1 |
20020150050 | Nathanson | Oct 2002 | A1 |
20020154605 | Preston et al. | Oct 2002 | A1 |
20020156558 | Hanson et al. | Oct 2002 | A1 |
20020161495 | Yamaki | Oct 2002 | A1 |
20020161496 | Yamaki | Oct 2002 | A1 |
20020161820 | Pellegrino et al. | Oct 2002 | A1 |
20020167965 | Beasley et al. | Nov 2002 | A1 |
20020169529 | Kim | Nov 2002 | A1 |
20020173889 | Odinak et al. | Nov 2002 | A1 |
20020183904 | Sakurai et al. | Dec 2002 | A1 |
20020193925 | Funkhouser et al. | Dec 2002 | A1 |
20020196771 | Vij et al. | Dec 2002 | A1 |
20020198639 | Ellis et al. | Dec 2002 | A1 |
20030004624 | Wilson et al. | Jan 2003 | A1 |
20030009271 | Akiyama | Jan 2003 | A1 |
20030014179 | Szukala et al. | Jan 2003 | A1 |
20030014521 | Elson et al. | Jan 2003 | A1 |
20030016636 | Tari et al. | Jan 2003 | A1 |
20030021241 | Dame et al. | Jan 2003 | A1 |
20030028297 | Iihoshi et al. | Feb 2003 | A1 |
20030028811 | Walker et al. | Feb 2003 | A1 |
20030033061 | Chen et al. | Feb 2003 | A1 |
20030035437 | Garahi et al. | Feb 2003 | A1 |
20030037466 | Komatsu et al. | Feb 2003 | A1 |
20030043739 | Reinold et al. | Mar 2003 | A1 |
20030043750 | Remboski et al. | Mar 2003 | A1 |
20030043779 | Remboski et al | Mar 2003 | A1 |
20030043793 | Reinold et al. | Mar 2003 | A1 |
20030043799 | Reinold et al. | Mar 2003 | A1 |
20030043824 | Remboski et al. | Mar 2003 | A1 |
20030046327 | Reinold et al. | Mar 2003 | A1 |
20030046435 | Lind et al. | Mar 2003 | A1 |
20030050747 | Kamiya | Mar 2003 | A1 |
20030053433 | Chun | Mar 2003 | A1 |
20030060953 | Chen | Mar 2003 | A1 |
20030065771 | Cramer et al. | Apr 2003 | A1 |
20030069680 | Cohen et al. | Apr 2003 | A1 |
20030074118 | Rogg et al. | Apr 2003 | A1 |
20030088347 | Ames | May 2003 | A1 |
20030093199 | Mavreas | May 2003 | A1 |
20030093203 | Adachi et al. | May 2003 | A1 |
20030093204 | Adachi et al. | May 2003 | A1 |
20030097477 | Vossler | May 2003 | A1 |
20030105565 | Loda et al. | Jun 2003 | A1 |
20030105566 | Miller | Jun 2003 | A1 |
20030114966 | Ferguson et al. | Jun 2003 | A1 |
20030117298 | Tokunaga et al. | Jun 2003 | A1 |
20030120395 | Kacel | Jun 2003 | A1 |
20030130776 | Busse | Jul 2003 | A1 |
20030167112 | Akiyama | Sep 2003 | A1 |
20030182467 | Jensen et al. | Sep 2003 | A1 |
20030200017 | Capps et al. | Oct 2003 | A1 |
20030224787 | Gandolfo | Dec 2003 | A1 |
20040039500 | Amendola et al. | Feb 2004 | A1 |
20040052257 | Abdo et al. | Mar 2004 | A1 |
20040081178 | Fujimori | Apr 2004 | A1 |
20040111188 | McClure et al. | Jun 2004 | A1 |
20040158362 | Fuehrer et al. | Aug 2004 | A1 |
20040167690 | Yamada | Aug 2004 | A1 |
20040225740 | Klemba et al. | Nov 2004 | A1 |
20040268113 | Rothman et al. | Dec 2004 | A1 |
20050002354 | Kelly et al. | Jan 2005 | A1 |
20050002417 | Kelly et al. | Jan 2005 | A1 |
20050005167 | Kelly et al. | Jan 2005 | A1 |
20050021860 | Kelly et al. | Jan 2005 | A1 |
20050243779 | Bolz | Nov 2005 | A1 |
20070047228 | Froeschl et al. | Mar 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20050002417 A1 | Jan 2005 | US |
Number | Date | Country | |
---|---|---|---|
60483915 | Jul 2003 | US |