# US 8,751,712 B2 · Method and apparatus for a priority based processing system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,751,712 B2
- Document ID: US8751712B2
- Status: Granted
- Kind: B2
- Application number: 13/250,799
- Filed: 2011-09-30
- Published: 2013-06-13
- Granted: 2014-06-10
- Earliest claimed: 2001-04-24
- Assignees: Eagle Harbor Holdings, LLC
- Applicants: Dan Alan Preston
- Inventors: Dan Alan Preston
- Web page: https://patentgrep.com/patent/US8751712B2

## CPC

- B60R 25/00: Fittings or systems for preventing or indicating unauthorised use or theft of vehicles (locks for vehicles E05B77/00-E05B85/00)
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 9/46: Multiprogramming arrangements
- G06F 11/2028: {eliminating a faulty processor or activating a spare}
- G06F 11/2035: {without idle spare hardware}
- G06F 11/2046: {where the redundant components share persistent storage (G06F11/2043 takes precedence)}
- G06F 11/3013: {where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems (testing or monitoring of control systems or parts thereof G05B23/02)}
- G06F 11/3051: {Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs (verification or detection of system hardware configuration G06F11/2247)}
- G06F 11/328: {Computer systems status display (G06F11/327 takes precedence)}
- G06F 13/4081: {Live connection to bus, e.g. hot-plugging (current or voltage limitation during live insertion H02H9/004)}
- G06Q 30/0641: {utilising user interfaces specially adapted for shopping}
- G07C 5/08: Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- H04L 12/40169: {Flexible bus arrangements (arrangements for maintenance or administration involving management of faults; events, alarms H04L41/06; automatic restoration of network faults H04L41/0654)}
- H04L 12/403: with centralised control, e.g. polling
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/0809: {Plug-and-play configuration}
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 67/125: involving control of end-device applications over a network
- H04L 2012/40273: {the transportation system being a vehicle}
- B60R: VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G07C: TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method for processing messages sent between multiple software applications in a vehicle comprises generating an outgoing message based on a received message. The received message includes an application generated message, a user generated message, or a sensor generated message in the vehicle. The method associates communication managers with software applications in the vehicle, and the communication managers include priority managers that assign a high priority value to messages that relate to vehicle safety, crash mitigation, collision threat, collision avoidance, or crash indication. The priority managers compare priority values of the outgoing messages and rank the importance of the outgoing messages. The method uses the communication managers to attach a message label to high priority messages labeling them as “new”. The new messages are immediately transmitted before the lower priority messages through the communication managers.

## Claims

### Claim 1

A method for processing messages sent from different individual software applications in a same mobile vehicle, comprising:
receiving messages at the different individual software applications from at least one of an application generated message, a user generated message and a sensor generated message in the mobile vehicle and generating an outgoing message from the received messages in the mobile vehicle;
associating individual communication managers with individual software applications in the mobile vehicle, wherein the communication manager includes a priority manager and wherein the priority manager is configured to:
compare the priority value for the outgoing message with the priority values for other outgoing messages;
rank the outgoing message with respect to the other outgoing messages;
assign higher priority values to messages that relate to at least one of vehicle safety, crash mitigation, collision avoidance or crash indication;
use the communication manager to independently attach a message label to individual high priority messages as a new message;
immediately transmit the new message before other lower priority messages by passing the new message through the individual communication managers associated with different individual software applications;
process the new message in the different real-time mobile vehicle applications in the mobile vehicle according to the message labels with the highest priority value.

### Claim 2 (depends on 1)

A method according to claim 1 wherein the communication managers individually associated with the individual software applications include a security manager that prevents messages without individually assigned security labels from being processed by certain software applications or certain processors in the mobile vehicle.

### Claim 3 (depends on 1)

A method according to claim 1 wherein the communication managers include logging managers individually associated with individual software applications, the logging managers each independently attaching logging labels to individual messages generated by the associated individual software applications.

### Claim 4 (depends on 3)

A method according to claim 3 wherein the logging managers independently log individual messages according to the logging labels attached to the individual messages.

### Claim 5 (depends on 1)

A method according to claim 1 wherein the communication managers include a priority manager that submits the messages to the different applications according to an identified priority label included with the messages.

### Claim 6 (depends on 5)

A method according to claim 5 wherein the priority manager assigns different priority values to individual sensor data messages received from a sensor application according to a degree of vehicle collision threat associated with the individual sensor data messages.

### Claim 7 (depends on 6)

A method according to claim 6 wherein messages indicating a vehicle collision threat are assigned a high priority value by one of the communication managers in the vehicle that causes other communication managers in the vehicle to process the critical collision message before other mobile vehicle messages.

### Claim 8 (depends on 1)

A method according to claim 1 including receiving the messages from different processors in the mobile vehicle over different communication links.

### Claim 9 (depends on 1)

A method according to claim 1 wherein the different communication links include a wireless communication link and a serial communication link.

### Claim 10 (depends on 1)

A method according to claim 1 including: receiving image sensor data from an image processor; processing the sensor data in one of the applications when a security label is identified in the sensor data; logging the image sensor data when a logging label is identified in the image sensor data; and prioritizing the processing of the image sensor data by one of the applications according to a priority label in the image sensor data.

### Claim 11 (depends on 10)

A method according to claim 10 including: sending a brake message to a brake control processor when an object in the image data is identified as being within a predetermined range of the mobile vehicle; attaching a logging label to the brake command; and assigning a high priority value to a priority label in the break command.

### Claim 12 (depends on 10)

A method according to claim 10 including sending an annunciation message to speakers in the mobile vehicle when an object in the image data is identified as being within a predetermined range of the mobile vehicle.

### Claim 13

A system for a vehicle, comprising:
multiple processors in the vehicle operating multiple individual software applications;
multiple links connecting the multiple processors together; and
the multiple processors in the vehicle each operating a communication system that includes individual communication managers associated with the individual software applications, wherein the individual communication managers are configured to:
operate a priority manager;
use the priority manager to compare the priority value for the outgoing message with the priority values for other outgoing messages;
use the priority manager to rank the outgoing message with respect to the other outgoing messages;
use the priority manager to assigned higher priority values to messages that relate to at least one of vehicle safety, crash mitigation, collision avoidance or crash indication;
independently attach a message label to individual high priority messages as a new message;
immediately transmit the new message before other lower priority messages by passing the new message through the individual communication managers associated with different individual software applications;
immediately process the new message in the different real-time mobile vehicle applications in the mobile vehicle according to the message labels with the highest priority value.

### Claim 14 (depends on 13)

A system according to claim 13 including individual communication managers each associated with one of the individual software applications operating in the vehicle.

### Claim 15 (depends on 13)

A system according to claim 13 including security managers associated with the individual software applications, the security managers each individually preventing data or messages from unauthorized applications in the vehicle from sending data to their associated individual software applications.

### Claim 16 (depends on 13)

A system according to claim 13 including individual logging managers each associated with individual software applications, the individual logging managers each controlling when data and messages from the different applications are individually logged by their associated software applications.

### Claim 17 (depends on 13)

A system according to claim 13 wherein the priority managers assign priority values to different sensor data messages according to a likelihood of objects identified in the sensor data colliding with the vehicle.

### Claim 18 (depends on 13)

A system according to claim 13 wherein the applications include a sensor application, a fusion application; and a brake control application.

### Claim 19 (depends on 18)

A system according to claim 18 wherein the fusion application receives image data from the sensor application and sends braking commands to the brake control application according to the image data.

### Claim 20 (depends on 19)

A system according to claim 19 wherein the fusion application and the sensor application log the image data or messages according to how close objects in the image data are to the vehicle.

### Claim 21 (depends on 20)

A system according to claim 20 including a second sensor application that sends image data to the fusion application.

### Claim 22 (depends on 13)

A system according to claim 13 including a display application that displays sensor data from a sensor application according to a security label, logging label and priority label attached to the sensor data by the communication system.

### Claim 23 (depends on 13)

A system according to claim 13 wherein some of the multiple links use different communication protocols for transferring messages and data between the different processors.

### Claim 24 (depends on 23)

A system according to claim 23 wherein one of the links is a wireless link and another one of the links is a hardwired serial link.

### Claim 25

A communication system, comprising:
a processor adapted to run different individual applications;
multiple interfaces adapted to transfer individual messages and data between the different applications over different communication links; and
the processor further adapted to run independently operating communication managers configured to:
operate a priority manager;
use the priority manager to compare the priority value for the outgoing message with the priority values for other outgoing messages;
use the priority manager to rank the outgoing message with respect to the other outgoing messages;
use the priority manager to assigned higher priority values to messages that relate to at least one of vehicle safety, crash mitigation, collision avoidance or crash indication;
independently attach a message label to individual high priority messages as a new message;
immediately transmit the new message before other lower priority messages by passing the new message through the individual communication managers associated with different individual software applications;
immediately process the new message in the different real-time mobile vehicle applications in the mobile vehicle according to the message labels with the highest priority value.

### Claim 26 (depends on 25)

A communication system according to claim 25 wherein the communication labels are separate from network headers used to transfer the messages and data over the different communication links.

### Claim 27 (depends on 26)

A communication system according to claim 26 wherein the communication manager includes a security manager and a logging manager.

### Claim 28 (depends on 27)

A communication system according to claim 27 wherein the processor is part of a multiprocessor network used in an automobile.

### Claim 29 (depends on 27)

A communication system according to claim 27 wherein the processor is part of a multiprocessor system used in a home or office.

### Claim 30 (depends on 27)

A communication system according to claim 27 wherein the processor performs at least one of the following applications: image sensing in a car; display control in a car; braking control in a car; audio control in a car; video control in a car; engine monitoring in a car; airbag deployment in a car; temperature control in a car; and security monitoring in a car.
