System, method, and computer readable medium for processing a message in a transport

Information

  • Patent Grant
  • 7810140
  • Patent Number
    7,810,140
  • Date Filed
    Tuesday, May 23, 2006
    18 years ago
  • Date Issued
    Tuesday, October 5, 2010
    14 years ago
Abstract
A method, system, and computer readable medium for processing a message in a moving transport comprises receiving a message by a message gateway via a message receiver, receiving the message by a security module from the message gateway, validating the message by the security module, where the validating includes at least one of: determining an identity of a sender of the message, and determining that the message sender is allowed to send messages to the transport, receiving the message by a verification module from the security module, and verifying, by the verification module, that the message will be sent to a target module.
Description
BACKGROUND OF THE INVENTION

The present invention is related to message processing, and, more specifically to processing a message in a transport.


There are various instances when a message (such as a data message, a video message, and the like) is sent to a transport (such as a car, a truck, a motorcycle, a train, a boat, and the like) which may be stationary, moving, or temporarily stationary (or temporarily moving). For example, a message containing a software upgrade for a system in a car may be sent via a wireless or a wired manner to the car. In such an instance, the car would receive the message and a decision would be made whether to process such a message. If the decision is to process the message, certain mechanisms would be enacted to ensure proper processing of the message in an efficient and safe manner.


SUMMARY OF THE INVENTION

The present invention provides a system, method, and computer readable medium for processing a message in a transport.


In one embodiment, a method for processing a message in a moving transport comprises receiving a message by a message gateway via a message receiver, receiving the message by a security module from the message gateway, validating the message by the security module, wherein the validating includes at least one of: determining an identity of a sender of the message, determining that the message sender is allowed to send messages to the transport, and receiving the message by a verification module from the security module, and verifying, by the verification module, that the message will be sent to a target module. The determining may further include determining that the message sender has necessary security privileges to allow the message to be processed.


In another embodiment, a system for processing a message in a transport, comprises a first module (such as a message gateway or a device able to perform a similar function), a second module (such as a message receiver or a device able to perform a similar function), wherein the first module receives the message via the second module, a third module (such as a security module or a device able to perform a similar function) that receives the message from the first module, wherein the third module validates the message, and a fourth module that receives the message from the third module, wherein the fourth module verifies that the message will be sent.


In a further embodiment, a computer readable medium comprises instructions for receiving a message by a message gateway via a message receiver, receiving the message by a security module from the message gateway, validating the message by the security module, receiving the message by a verification module from the security module, and verifying, by the verification module, the message, wherein the message consists of header information, and wherein the header information consists of at least one of: authentication and authorization information, a target module identifier identifying the target module for the message, a command identifier for the message identifying the message command, and a message source for the message identifying the source of the message.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 depicts a first system for processing a message in a transport in accordance with a preferred embodiment of the present invention;



FIG. 2 depicts a more detailed view of the first system in accordance with a preferred embodiment of the present invention;



FIG. 3 depicts a second system for processing a message in a transport in accordance with a preferred embodiment of the present invention;



FIG. 4 depicts a more detailed view of the second system in accordance with a preferred embodiment of the present invention; and



FIG. 5 depicts a more detailed view of the security module and the verification module in accordance with a preferred embodiment of the present invention.





DETAILED DESCRIPTION OF THE INVENTION


FIG. 1 depicts a system 5 of the present invention. The system 5 is preferably positioned in and/or on a transport but portions of the system can be positioned away from the transport in a fixed location (such as a server in a building) or in a mobile location (such as in and/or on another transport). The system 5 includes a number of modules that are preferably software, but may also be firmware, hardware, or a combination of at least two of: software, firmware, and hardware. These modules consist of a MessageGateway 12, a MessageDispatcher 14, a SecurityModule 16, a TargetModule 18, and a VerificationModule 20. It is important to note that these modules and/or the functionality provided by these modules, can be combined with any of the other modules (either in whole or in part) without departing from the scope of the present invention.


The MessageGateway 12 is coupled to the MessageDispatcher 14, the SecurityModule 16 and the VerificationModule 20. The MessageDispatcher 14 is coupled to the TargetModule 18. Although some of the relationships between the modules are depicted in a certain manner (for example, a one-to-one relationship exists between all of the modules except for the MessageDispatcher 14 and the TargetModule 18 in which a one-to-many relationship exists), the relationships between the modules are descriptive as there may be more than one SecurityModule associated with the MessageGateway, more than one MessageGateway associated with a MessageDispatcher, etc.


Referring now to FIG. 2, a more detailed view of the system 5 is depicted. The MessageGateway 12 receives a message 10 and verifies the message is well-formed, meaning that its structure conforms with an expected standard structure. The message is composed of an envelope and a body. In other embodiments, the contents of the envelop may be contained in the body. The envelope consists of security information necessary to authenticate and authorize the message, a command identifier(s), and additional information as necessary to validate the message. The body of the message consists of information specific to the command(s) to be processed. If the message is certified to be well-formed, the MessageGateway 12 passes the message envelope to the SecurityModule 16 to authenticate 22 the message sender. The SecurityModule 16 uses security information contained in the envelope such as a public key, username/password pair, message origination information, or any other security mechanism, to verify that the originator of the message is who they say they are.


If the message is authenticated, the MessageGateway 12 passes the envelope and command identifier to the SecurityModule 16 to authorize 24 the message. The SecurityModule 16 uses security information contained in the envelope such as role information, group identification, etc. to verify the authenticated originator has security privileges necessary for the message to be processed. If the message is authorized, the MessageGateway 12 passes the message to the VerificationModule 20 which verifies 26 that the message can be processed based on the vehicle's current state, sensor indications, location, occupant(s) if any, etc. If the VerificationModule 20 verifies the message, the MessageGateway 12 passes the message 28 to the MessageDispatcher 14. The MessageDispatcher 14 may queue the message for dispatch or dispatch the message immediately. When the MessageDispatcher 14 dispatches the message, it determines the correct TargetModule 18 for the message based on information such as the command identifier, and sends the message 30 to that TargetModule for processing. If no appropriate TargetModule 18 exists, the message may be sent to a default TargetModule, discarded, etc. The MessageGateway 12, the MessageDispatcher 14, the SecurityModule 16, and the VerificationModule 20 may modify the message (change, remove, or add information) as necessary for continued processing of the message.



FIG. 3 depicts a system 40 of the present invention. The system 40 is preferably positioned in and/or on a transport but portions of the system can be positioned away from the transport in a fixed location (such as a server in a building) or in a mobile location (such as in and/or on another transport). The system 40 includes a number of modules that are preferably software, but may also be firmware, hardware, or a combination of at least two of: software, firmware, and hardware. These modules consist of a MessageReceiver 42, a MessageGateway 12, a SecurityModule 16, a TargetModule 18, and a VerificationModule 20. It is important to note that these modules and/or the functionality provided by these modules, can be combined with any of the other modules (either in whole or in part) without departing from the scope of the present invention.


The MessageGateway 12 is coupled to the MessageReceiver 42 and to the SecurityModule 16. The VerificationModule 20 is coupled to the SecurityModule 16 and to the TargetModule 18. Although some of the relationships between the modules are depicted in a certain manner (for example, a one-to-one relationship exists between all of the modules except for the MessageReceiver 42 and the MessageGateway 12 and except for the TargetModule 18 and the VerificationModule 20 in which a many-to-one relationship exists), the relationships between the modules are descriptive as there may be more than one SecurityModule associated with the MessageGateway, more than one SecurityModule associated with the VerificationModule, etc.


Referring now to FIG. 4, a more detailed view of the system 40 is depicted. The MessageReceiver 42 receives a message 52 and verifies the message is well-formed, meaning that its structure conforms with an expected standard structure. The message is composed of an envelope and a body. In other embodiments, the contents of the envelop may be contained in the body. The envelope consists of security information necessary to authenticate and authorize the message, a command identifier(s), and additional information as necessary to validate the message. The body of the message consists of information specific to the command(s) to be processed. If the message is certified to be well-formed, the MessageReceiver 42 passes the message envelope 54 to the MessageGateway 12. If the message is certified to be well-formed, the MessageGateway 12 passes the message envelope 56 to the SecurityModule 16 to authenticate 58 the message sender. In this two stage certification process, the check(s) to determine if the message is well-formed can be the same in both stages or can differ from one stage to the next. The SecurityModule 16 uses security information contained in the envelope such as a public key, username/password pair, message origination information, or any other security mechanism, to verify that the originator of the message is who they say they are.


If the message is authenticated, the SecurityModule 16 authorizes 60 the message. The SecurityModule 16 uses security information contained in the envelope such as role information, group identification, etc. to verify the authenticated originator has security privileges necessary for the message to be processed. If the message is authorized, the SecurityModule 16 passes the message to the VerificationModule 20 which verifies 64 that the message can be processed based on the vehicle's current state, sensor indications, location, occupant(s) if any, etc. If the VerificationModule 20 verifies the message, the VerificationModule 20 passes the message 66 to the TargetModule 18. The VerificationModule 20 may queue the message for dispatch or dispatch the message immediately. When the VerificationModule 20 dispatches the message, it determines the correct TargetModule 18 for the message based on information such as the command identifier, and sends the message 66 to that TargetModule for processing. If no appropriate TargetModule 18 exists 68, the message may be sent to a default TargetModule, discarded, etc. The MessageReceiver 42, the MessageGateway 12, the SecurityModule 16, the VerificationModule 20, and the TargetModule may modify the message (change, remove, or add information) as necessary for continued processing of the message.


In one embodiment of the present invention, a method for processing a message in a moving transport comprises receiving a message by a message gateway via a message receiver, receiving the message by a security module from the message gateway, validating the message by the security module, wherein the validating includes at least one of: determining an identity of a sender of the message, determining that the message sender is allowed to send messages to the transport, and receiving the message by a verification module from the security module, and verifying, by the verification module, that the message will be sent to a target module.


The method further comprises sending the message to the target module, if the verification module determines that the message is to be sent and processing the message by the target module, wherein the message gateway verifies that the message is in a proper form for processing, wherein the message receiver may be a cell phone, a GPS device, a radio, a physical connection, or any other device capable of receiving messages from a source external to or within the transport. The message consists of header information which consists of at least one of: authentication and authorization information, a target module identifier identifying the target module for the message, a command identifier for the message identifying the message command, a message source for the message identifying the source of the message, and other header information. In other embodiments, the message consists of data to be passed to the target module.


The validating consists of authenticating and authorizing the message, wherein: the authenticating is used to determine the identity of the message sender, and the authorizing is used to determine that the message sender is allowed to send messages to the transport and has the necessary security privileges to perform the requested command as identified by the command identifier. If the authenticating fails or if the authorizing fails, no further processing of the message is performed, wherein the security module may perform at least one of a following action: ignore the failure, log the failure, notify the transport driver/occupants of the failure through visual or auditory signal, and take other appropriate action. If the authenticating is successful or if the authorizing is successful, the message is received by the verification module. Verifying that the message will be sent to the target module is based on the command identifier for the message in conjunction with at least one of: a transport state, a mode of operation, an external condition, a driver or occupant preferences, a message sender's identity, and a message receiver.


If the message will not be passed to the target module, no further processing of the message is performed, and the verification module may perform at least one of: logging the determination, notifying the transport driver or occupants of the determination through a visual or an auditory signal, and taking other appropriate action. It is important to note that a plurality of the messages can be received, validated, and verified, and wherein at least one of: the message gateway, the message receiver, the security module, and the verification module is on the transport.


In another embodiment of the present invention, a system for processing a message in a transport comprises a first module (such as a message gateway or a device able to perform a similar function), a second module (such as a message receiver or a device able to perform a similar function), wherein the first module receives the message via the second module, a third module (such as a security module or a device able to perform a similar function) that receives the message from the first module, wherein the third module validates the message, and a fourth module that receives the message from the third module, wherein the fourth module verifies that the message will be sent.


In the system, the third module performs at least one of a following action: determines an identity of a sender of the message and determines that the message sender is allowed to send messages to the transport. The transport may be a moving transport and/or a stationary transport.


In a further embodiment, a computer readable medium or software comprises instructions for receiving a message by a message gateway via a message receiver, receiving the message by a security module from the message gateway, validating the message by the security module, receiving the message by a verification module from the security module, and verifying, by the verification module, the message, wherein the message consists of header information, and wherein the header information consists of at least one of: authentication and authorization information, a target module identifier identifying the target module for the message, a command identifier for the message identifying the message command, and a message source for the message identifying the source of the message. The computer readable medium can be stored on any type of storage device in and/or on the transport or off of the transport. Further, the functionality performed by one or more of the modules described herein or additional functionality, can be stored on a personal device (such as a jump drive or personal storage device) and can be placed in and/or on the transport to provide that functionality or the additional functionality. Such additional functionality may include further security information (such as biometric data), further messages (such as special messages that relate to critical functions such an engine's performance), and the like.


Referring now to FIG. 5, a system 70 is depicted which provides a more detailed view of the security module and the verification module in one embodiment of the present invention. The SecurityModule 16 receives a message envelope 56 and authenticates 58 the message sender. The SecurityModule 16 uses security information contained in the envelope such as a public key, username/password pair, message origination information, or any other security mechanism, to verify that the originator of the message is who they say they are. If the message is authenticated, the SecurityModule 16 authorizes 60 the message. The SecurityModule 16 uses security information contained in the envelope such as role information, group identification, etc. to verify the authenticated originator has security privileges necessary for the message to be processed. If the message is authorized, the SecurityModule 16 passes the message 62 to the VerificationModule 20 which verifies that the message can be processed based on the vehicle's current state, sensor indications, location, occupant(s) if any, etc.


If the SecurityModule 16 receives the message envelope 56 and is unable 72 to authenticate the message sender, at least one module in the system is notified and can take appropriate action. In other embodiments, the SecurityModule 16 can take direct action (for example, the SecurityModule 16 can send a message that is not modified by any other module to an entity (via at least one other module) that sent the initial message to the system. In further embodiments, the SecurityModule 16 may be directly coupled to such an entity and thus can directly send the message to the entity).


If the SecurityModule 16 receives the message envelope 56 and is unable 72 to authorize the message sender, at least one module in the system is notified and can take appropriate action. In other embodiments, the SecurityModule 16 can take direct action (for example, the SecurityModule 16 can send a message that is not modified by any other module to an entity (via at least one other module) that sent the initial message to the system. In further embodiments, the SecurityModule 16 may be directly coupled to such an entity and thus can directly send the message to the entity).


Although an exemplary embodiment of the system, method, and computer readable medium of the present invention has been illustrated in the accompanied drawings and described in the foregoing detailed description, it will be understood that the invention is not limited to the embodiments disclosed, but is capable of numerous rearrangements, modifications, and substitutions without departing from the spirit of the invention as set forth and defined by the following claims. For example, the functionality of the modules can be performed by one or more of the modules in the present arrangement(s), in a distributed architecture and on or via any device able to transfer information between the modules. Further, the information send between the modules can be sent via a wired and/or a wireless means and in real-time, near real-time or in response to a specific event.

Claims
  • 1. A computer-implemented method for processing a message comprising: performing all of the following acts, at least one of which being performed in a movable vehicle: receiving a message by a message gateway via a message receiver;receiving the message by a security module from the message gateway;validating the message by the security module, wherein the validating comprises at least one of: determining an identity of a sender of the message; ordetermining that the message sender is allowed to send messages to the vehicle;receiving the message by a verification module from the security module; andverifying, by the verification module, that the message will be sent to a target module, wherein verifying is based upon a current state of the vehicle.
  • 2. The method of claim 1 further comprising sending the message to the target module in response to the verification module determining that the message is to be sent.
  • 3. The method of claim 2 further comprising processing the message by the target module.
  • 4. The method of claim 3 further comprising verifying, with the message gateway, that the message is in a proper form for processing.
  • 5. The method of claim 1, wherein receiving a message via a message receiver includes receiving the message via a message receiver that comprises at least one of: a cellular phone, a GPS device, a radio, a physical connection, or any other device capable of receiving messages from a source external to or within the vehicle.
  • 6. The method of claim 1, wherein receiving a message includes receiving a message that comprises header information and wherein the header information comprises at least one of: authentication and authorization information;a target module identifier identifying the target module for the message;a command identifier for the message identifying one or more message commands; ora message source for the message identifying a source of the message.
  • 7. The method of claim 1, wherein receiving a message includes receiving a message that comprises data to be passed to the target module.
  • 8. The method of claim 1, wherein the validating comprises authenticating and authorizing the message, and wherein: the authenticating is used to determine the identity of the message sender; andthe authorizing is used to determine that the message sender is allowed to send messages to the vehicle and has security privileges to perform a requested command as identified by a command identifier.
  • 9. The method of claim 8 further comprising: discontinuing further processing of the message in response to the authenticating or the authorizing failing; andupon an authentication failure or an authorization failure, performing at least one of a following action using the security module:ignoring the failure,logging the failure, orgenerating a notification of the failure through a visual or auditory signal.
  • 10. The method of claim 8 further comprising receiving the message by the verification module in response to the authenticating or the authorizing being successful.
  • 11. The method of claim 1, wherein the verifying that the message will be sent to the target module is further based on a command identifier for the message in conjunction with at least one of: a mode of operation;an external condition;a driver or occupant preferences;a message sender's identity; ora message receiver.
  • 12. The method of claim 1 further comprising: discontinuing processing of the message in response to determining that the message will not be passed to the target module; andupon a determination that the message will not be passed to the target module, performing at least one of a following action using the verification module:logging the determination; orgenerating a notification of a failure through a visual or an auditory signal.
  • 13. The method of claim 1 further comprising receiving, validating, and verifying a plurality of messages.
  • 14. The method of claim 1, wherein at least two of: the message gateway, the message receiver, the security module, or the verification module are on the vehicle.
  • 15. The method of claim 1, wherein at least one of: the message gateway, the message receiver, the security module, or the verification module is off the vehicle.
  • 16. A system comprising: one or more processing devices;a plurality of modules that, responsive to being executed by the one or more processing devices, are configured to enable vehicle message processing comprising: a first module;a second module, wherein the first module is configured to receive the message via the second module;a third module that is configured to receive the message from the first module, wherein the third module is further configured to validate the message; anda fourth module that is configured to receive the message from the third module, wherein the fourth module is further configured to verify that the message will be sent, wherein message verifying is based upon a current state of a vehicle that is to receive the message.
  • 17. The system of claim 16, wherein the third module is configured to perform at least one of a following action: determining an identity of a sender of the message; ordetermining that the message sender is allowed to send messages to the vehicle.
  • 18. The system of claim 16, wherein the system is configured to process messages for a vehicle that is moving.
  • 19. The system of claim 16, wherein the system is configured to process messages for a vehicle that is stationary.
  • 20. One or more computer readable storage devices having stored thereon, computer executable instructions that, responsive to being executed by one or more devices of a message processing system, cause the message processing system to perform operations comprising: receiving a message by a message gateway via a message receiver;receiving the message by a security module from the message gateway;validating the message by the security module;receiving the message by a verification module from the security module; andverifying, by the verification module, the message, wherein verifying is based upon a current state of a vehicle to which the message is directed;wherein the message comprises header information; andwherein the header information comprises at least one of:authentication and authorization information;a target module identifier identifying a target module for the message;a command identifier for the message identifying a message command; ora message source for the message identifying a source of the message.
  • 21. The system of claim 16, wherein the first module, the second module, the third module, and the fourth module are each embodied on a tangible computer readable storage medium.
  • 22. The one or more computer readable storage devices of claim 20, wherein the computer executable instructions, responsive to being executed by the one or more devices of the message processing system, further cause the message processing system to perform operations comprising: sending the message to the target module, in response to the verification module determining that the message is to be sent;processing the message by the target module; andverifying, with the message gateway, that the message is in a proper form for processing.
  • 23. The one or more computer readable storage devices of claim 20, wherein the message receiver comprises at least one of: a cell phone, a GPS device, a radio, a physical connection, or any other device capable of receiving messages from a source to or within the vehicle.
  • 24. The one or more computer readable storage devices of claim 20, wherein the message comprises data to be passed to the target module.
  • 25. The one or more computer readable storage devices of claim 20, wherein the computer executable instructions, responsive to being executed by the one or more devices of the message processing system, further cause the message processing system to perform operations comprising: validating the message by the security module by authenticating and authorizing the message, wherein authenticating is used to determine an identity of a message sender, and the authorizing is used to determine that the message sender is allowed to send messages to the vehicle and has security privileges to perform a requested command as identified by the command identifier.
  • 26. The one or more computer readable storage devices of claim 20, wherein the computer executable instructions, responsive to being executed by the one or more devices of the message processing system, further cause the message processing system to perform operations comprising: discontinuing further processing of the message if authentication fails or if authorization fails; andupon an authentication failure or an authorization failure, performing at least one of a following action using the security module:ignoring the failure,logging the failure, orgenerating a notification of the failure through a visual or auditory signal.
  • 27. The one or more computer readable storage devices of claim 20, wherein the computer executable instructions, responsive to being executed by the one or more devices of the message processing system, further cause the message processing system to perform operations comprising: receiving the message by the verification module if authentication is successful or if authorization is successful.
  • 28. The one or more computer readable storage devices of claim 20, wherein the computer executable instructions, responsive to being executed by the one or more devices of the message processing system, further cause the message processing system to perform operations comprising receiving, validating, and verifying a plurality of messages.
  • 29. The one or more computer readable storage devices of claim 20, wherein at least one of: the message gateway, the message receiver, the security module, or the verification module is on the vehicle.
  • 30. The one or more computer readable storage devices of claim 20, wherein at least one of: the message gateway, the message receiver, the security module, or the verification module is off the vehicle.
US Referenced Citations (196)
Number Name Date Kind
4714995 Materna et al. Dec 1987 A
5495533 Linehan et al. Feb 1996 A
5524253 Pham et al. Jun 1996 A
5604800 Johnson et al. Feb 1997 A
5721912 Stepczyk et al. Feb 1998 A
5778395 Whiting et al. Jul 1998 A
5812997 Morimoto et al. Sep 1998 A
5859911 Angelo et al. Jan 1999 A
5930798 Lawler et al. Jul 1999 A
5982891 Ginter et al. Nov 1999 A
6038500 Weiss Mar 2000 A
6055562 Devarakonda et al. Apr 2000 A
6065040 Mima et al. May 2000 A
6088689 Kohn et al. Jul 2000 A
6113650 Sakai Sep 2000 A
6134580 Tahara et al. Oct 2000 A
6134660 Boneh et al. Oct 2000 A
6154777 Ebrahim Nov 2000 A
6172986 Watanuki et al. Jan 2001 B1
6199195 Goodwin et al. Mar 2001 B1
6202060 Tran Mar 2001 B1
6209124 Vermeire et al. Mar 2001 B1
6230309 Turner et al. May 2001 B1
6233601 Walsh May 2001 B1
6256773 Bowman-Amuah Jul 2001 B1
6272478 Obata et al. Aug 2001 B1
6282563 Yamamoto et al. Aug 2001 B1
6282697 Fables et al. Aug 2001 B1
6304556 Haas Oct 2001 B1
6330677 Madoukh Dec 2001 B1
6343265 Glebov et al. Jan 2002 B1
6349343 Foody et al. Feb 2002 B1
6389462 Cohen et al. May 2002 B1
6438744 Toutonghi et al. Aug 2002 B2
6442537 Karch Aug 2002 B1
6452910 Vij et al. Sep 2002 B1
6477372 Otting Nov 2002 B1
6496871 Jagannathan et al. Dec 2002 B1
6600430 Minagawa et al. Jul 2003 B2
6600975 Moriguchi et al. Jul 2003 B2
6611516 Pirkola et al. Aug 2003 B1
6629032 Akiyama Sep 2003 B2
6629128 Glass Sep 2003 B1
6662642 Breed et al. Dec 2003 B2
6671680 Iwamoto et al. Dec 2003 B1
6687761 Collins et al. Feb 2004 B1
6701381 Hearne et al. Mar 2004 B2
6714844 Dauner et al. Mar 2004 B1
6738975 Yee et al. May 2004 B1
6744352 Lesesky et al. Jun 2004 B2
6744358 Bollinger Jun 2004 B1
6744820 Khairallah et al. Jun 2004 B1
6768417 Kuragaki et al. Jul 2004 B2
6816452 Maehata Nov 2004 B1
6831375 Currie et al. Dec 2004 B1
6851108 Syme et al. Feb 2005 B1
6862443 Witte Mar 2005 B2
6876845 Tabata et al. Apr 2005 B1
6895391 Kausik May 2005 B1
6901588 Krapf et al. May 2005 B1
6904593 Fong et al. Jun 2005 B1
6931455 Glass Aug 2005 B1
6931623 Vermeire et al. Aug 2005 B2
6947965 Glass Sep 2005 B2
6951021 Bodwell et al. Sep 2005 B1
6957439 Lewallen Oct 2005 B1
6963582 Xu Nov 2005 B1
6981150 Little et al. Dec 2005 B2
6985929 Wilson et al. Jan 2006 B1
6993774 Glass Jan 2006 B1
7010689 Matyas, Jr. et al. Mar 2006 B1
7043522 Olson et al. May 2006 B2
7047518 Little et al. May 2006 B2
7055153 Beck et al. May 2006 B2
7058645 Seto et al. Jun 2006 B2
7062708 Mani et al. Jun 2006 B2
7069551 Fong et al. Jun 2006 B2
7127259 Ueda et al. Oct 2006 B2
7127724 Lewallen Oct 2006 B2
7146614 Nikols et al. Dec 2006 B1
7146618 Mein et al. Dec 2006 B1
7172113 Olenick et al. Feb 2007 B2
7174533 Boucher Feb 2007 B2
7197742 Arita et al. Mar 2007 B2
7210132 Rivard et al. Apr 2007 B2
7213227 Kompalli et al. May 2007 B2
7225425 Kompalli et al. May 2007 B2
7228141 Sethi Jun 2007 B2
7231403 Howitt et al. Jun 2007 B1
7237225 Kompalli et al. Jun 2007 B2
7293261 Anderson et al. Nov 2007 B1
7376959 Warshavsky et al. May 2008 B2
7475107 Maconi et al. Jan 2009 B2
7477897 Bye Jan 2009 B2
7496637 Han et al. Feb 2009 B2
7499990 Tai et al. Mar 2009 B1
7502615 Wilhoite et al. Mar 2009 B2
7506309 Schaefer Mar 2009 B2
7519455 Weiss et al. Apr 2009 B2
7566002 Love et al. Jul 2009 B2
7643447 Watanuki et al. Jan 2010 B2
7660777 Hauser Feb 2010 B1
7660780 Patoskie Feb 2010 B1
7664721 Hauser Feb 2010 B1
7698243 Hauser Apr 2010 B1
7702602 Hauser Apr 2010 B1
7702603 Hauser Apr 2010 B1
7702604 Hauser Apr 2010 B1
7774789 Wheeler Aug 2010 B1
20010029526 Yokoyama et al. Oct 2001 A1
20010051515 Rygaard Dec 2001 A1
20010056425 Richard Dec 2001 A1
20020032783 Tuatini Mar 2002 A1
20020035429 Banas Mar 2002 A1
20020091680 Hatzis et al. Jul 2002 A1
20020115445 Myllymaki Aug 2002 A1
20020116454 Dyla et al. Aug 2002 A1
20020159479 Watanuki et al. Oct 2002 A1
20020174222 Cox Nov 2002 A1
20020196771 Vij et al. Dec 2002 A1
20030009539 Hattori Jan 2003 A1
20030018950 Sparks et al. Jan 2003 A1
20030023573 Chan et al. Jan 2003 A1
20030033437 Fischer et al. Feb 2003 A1
20030046377 Daum et al. Mar 2003 A1
20030046432 Coleman et al. Mar 2003 A1
20030055898 Yeager et al. Mar 2003 A1
20030070071 Riedel et al. Apr 2003 A1
20030101441 Harrison et al. May 2003 A1
20030177170 Glass Sep 2003 A1
20030191797 Gurevich et al. Oct 2003 A1
20030191969 Katsikas Oct 2003 A1
20030225789 Bussler et al. Dec 2003 A1
20030225935 Rivard et al. Dec 2003 A1
20040003243 Fehr et al. Jan 2004 A1
20040015539 Alegria et al. Jan 2004 A1
20040037315 Delautre et al. Feb 2004 A1
20040044985 Kompalli et al. Mar 2004 A1
20040044986 Kompalli et al. Mar 2004 A1
20040044987 Kompalli et al. Mar 2004 A1
20040064503 Karakashian et al. Apr 2004 A1
20040078423 Satyavolu et al. Apr 2004 A1
20040078687 Partamian et al. Apr 2004 A1
20040082350 Chen et al. Apr 2004 A1
20040111730 Apte Jun 2004 A1
20040133656 Butterworth et al. Jul 2004 A1
20040148073 Hawig et al. Jul 2004 A1
20040172614 Gallagher Sep 2004 A1
20040194072 Venter Sep 2004 A1
20040203731 Chen et al. Oct 2004 A1
20040220952 Cheenath Nov 2004 A1
20040221292 Chiang et al. Nov 2004 A1
20050004727 Remboski et al. Jan 2005 A1
20050030202 Tsuboi Feb 2005 A1
20050090279 Witkowski et al. Apr 2005 A9
20050114832 Manu May 2005 A1
20050141706 Regli et al. Jun 2005 A1
20050144218 Heintz Jun 2005 A1
20050163549 Shima et al. Jul 2005 A1
20050172123 Carpentier et al. Aug 2005 A1
20050246302 Lorenz et al. Nov 2005 A1
20050256614 Habermas Nov 2005 A1
20050256876 Eidson Nov 2005 A1
20050262155 Kress et al. Nov 2005 A1
20050281363 Qi et al. Dec 2005 A1
20060005177 Atkin et al. Jan 2006 A1
20060031850 Falter et al. Feb 2006 A1
20060041337 Augsburger et al. Feb 2006 A1
20060048145 Celli et al. Mar 2006 A1
20060080646 Aman Apr 2006 A1
20060090103 Armstrong et al. Apr 2006 A1
20060111089 Winter et al. May 2006 A1
20060112183 Corson et al. May 2006 A1
20060121916 Aborn et al. Jun 2006 A1
20060123396 Fox et al. Jun 2006 A1
20060143600 Cottrell et al. Jun 2006 A1
20060149746 Bansod et al. Jul 2006 A1
20060167981 Bansod et al. Jul 2006 A1
20060173857 Jackson Aug 2006 A1
20060190931 Scott et al. Aug 2006 A1
20060200494 Sparks Sep 2006 A1
20060206864 Shenfield et al. Sep 2006 A1
20060220900 Ceskutti et al. Oct 2006 A1
20060221901 Yaqub et al. Oct 2006 A1
20060245406 Shim Nov 2006 A1
20060256008 Rosenberg Nov 2006 A1
20060272002 Wightman et al. Nov 2006 A1
20070004432 Hwang et al. Jan 2007 A1
20070015495 Winter et al. Jan 2007 A1
20070026871 Wager Feb 2007 A1
20070103292 Burkley et al. May 2007 A1
20070112773 Joyce May 2007 A1
20070223432 Badarinath Sep 2007 A1
20070243880 Gits et al. Oct 2007 A1
20080077667 Hwang et al. Mar 2008 A1
20100161543 Hauser Jun 2010 A1
Foreign Referenced Citations (1)
Number Date Country
2005190103 Jul 2005 JP