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.
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.
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
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.
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
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
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.
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 |
Number | Date | Country |
---|---|---|
2005190103 | Jul 2005 | JP |