1. A navigation system for vehicles comprising:
a navigation device;
a unit for determining positional data connected to the navigation device, the unit for determining actual position of the vehicle and for transmitting said positional data to the navigation device;
a hands-free control unit for cellular phones;
means for providing an audio output connectable to the hands-free control unit; and
a communication interface for establishing a communication between said navigation device and the hands-free control unit, wherein the communication interface transmits audio signals from the navigation device through the hands-free control unit to the means for providing an audio output.
2. The navigation system in accordance with claim 1, wherein said communication interface includes:
a holding device for holding the cellular phone; and
an adaptor plug attachable between the hands-free control unit and the holding device such that said navigation system and said cellular phone can use an audio signal input of said hands free control unit.
3. The navigation system in accordance with claim 1, wherein said navigation device is equipped with a power supply interface connectable with the hands-free control unit to supply said navigation system with service voltage.
4. The navigation system in accordance with claim 3, wherein the power supply interface comprises the adaptor plug which is attached between the hands-free control unit and the holding device, the adaptor plug establishing a first connection to the power supply of the hands free control unit at one end, and a second connection for simultaneously providing service voltage to the navigation system and the cellular phone over the hands-free control unit.
5. The navigation system in accordance with claim 3, wherein said communication interface and said power supply interface comprise one adaptor plug.
6. The navigation system in accordance with claim 2, wherein said adaptor plug has a connection to a power supply source and provides a service voltage to the navigation system over said connection and wherein the service voltage of the cellular phone is separately provided from the hands-free control unit over the adaptor plug.
7. The navigation system in accordance with claim 1, wherein said communication interface is designed to exchange signalling data andor control data between the cellular phone and the navigation device.
8. The navigation system in accordance with claim 7, wherein said navigation device is equipped with display means and said navigation device is designed to display the signalling data of the cellular phone on said display means.
9. The navigation system in accordance with claim 7, wherein the navigation device is capable of converting the control data from the cellular phone.
10. The navigation system in accordance claim 1, wherein the communication interface is equipped with a signal converter which converts the audio signals of the navigation device such that the hands-free control unit recognizes said audio signals as audio signals of the cellular phone.
11. The navigation system in accordance with claim 10, wherein the navigation device is capable of generating and sending an activation signal of the cellular phone over the communication interface to the hands-free control unit when said navigation device is activated.
12. The navigation system in accordance with claim 1, wherein the navigation device is capable of generating and sending a radio mute signal over the communication interface to the hands-free control unit when the audio signals are transmitted from said navigation system to the hands-free control unit.
13. The navigation system in accordance with claim 2, wherein the communication interface is as a wireless link.
14. The navigation system in accordance to claim 13, wherein the wireless link is designed to communicate with the cellular phone, the holding device for the cellular phone, the adaptor plug, or the hands-free control unit.
15. The navigation system in accordance with claim 1, wherein the unit for determining positional data is a satellite positioning unit.
16. The navigation system in accordance with claim 1, wherein the unit for determining positional data is the cellular phone and the communication interface is designed to transmit the positional data from the cellular phone to the navigation device.
17. The navigation system in accordance with claim 7, further comprising a microphone, wherein the navigation device is designed to analyze and to achieve speech commands which are inputted over the microphone, wherein said speech commands represent the control data.
18. The navigation system in accordance with claim 1, wherein said navigation system further comprises means for reading memory devices, said navigation system designed to read the audio signals from said memory devices and to transmit said audio signals over the hands-free control unit through the audio output means, said audio output means connected to said hands-free control unit.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1-25. (canceled)
26. A system for prioritizing pieces of software programs, said pieces referred to as a set of executables, wherein said executables are identifiable with ID numbers from 0 through a maximum number of the executables less 1, the system comprising:
a subsystem for buffering input data at an array of executable specific input port buffers, wherein a given buffer within said array of buffers such input data that is directed to the executable associated with the given buffer;
a subsystem for determining, from said array of buffers, respective numbers of non-empty buffers associated with each of the executables; and
a subsystem for ranking the executables in their descending execution priority order at least in part according to their determined descending numbers of non-empty buffers, wherein the subsystem for determining of the respective numbers of non-empty buffers for the executables involves logic for forming:
(1) executable specific 1st phase bit vectors whose bits at a given index number x indicate whether a given executable has x non-empty buffers, and
(2) from bits at equal index values of the 1st phase bit vectors of the executables, a row of 2nd phase bit vectors, so that a bit at index y of the 2nd phase bit vector at index x of said row indicates whether an executable identifiable with ID number y within the set has x non-empty buffers.
27. The system of claim 26, wherein an executable among said set is one of the following:
a program, a thread, a task or an instance of a program, or an instance of a task of a program.
28. The system of claim 26 implemented by hardware logic that operates without software involvement.
29. The system of claim 26 configured to perform the prioritizing periodically, once in a defined time period.
30. The system of claim 26, wherein each given one of the executable specific 1st phase bit vectors has as many bits as there are input ports from where the buffers receive their input data, with this number of ports denoted with P, and wherein a bit at index x of the given executable specific 1st phase bit vector indicates whether its associated executable has exactly x non-empty buffers, with x being an integer between 0 and P.
31. The system of claim 30, wherein there are P 2nd phase bit vectors within the row of the 2nd phase bit vectors, which further are formed so that a bit at index y of the 2nd phase bit vector at index x of said row indicates whether the executable identifiable with ID number y within the set has exactly x non-empty buffers, wherein y is an integer between 0 and the maximum number of the executables less 1.
32. The system of claim 31, wherein the sub-system for ranking further comprises:
logic for resetting the present priority order index to a value representing a greatest execution priority; and
logic for scanning the row of the 2nd phase bit vectors for active-state bits, one 2nd phase bit vector at a time, starting from row index P while decrementing the row index after reaching bit index 0 of any given 2nd phase bit vector, and based upon encountering an active-state bit: i) associating the executable with ID equal to the index of the active-state bit within its 2nd phase bit vector with the present priority order index and ii) changing the present priority order index to a next lower level of execution priority.
33. A method for prioritizing pieces of software programs, said pieces referred to as a set of executables, wherein said executables are identifiable with ID numbers from 0 through a maximum number of the executables less 1, the method comprising:
a subsystem for buffering input data at an array of executable specific input port buffers, wherein a given buffer within said array of buffers such input data that is directed to the executable associated with the given buffer;
a subsystem for determining, from said array of buffers, respective numbers of non-empty buffers associated with each of the executables, at least in part through, for each possible number x of the non-empty buffers per an executable, identifying which, if any, of the executables have x non-empty buffers; and
a subsystem for ranking the executables in their descending execution priority order at least in part according to their determined descending numbers of non-empty buffers.
34. The method of claim 33, wherein an executable among said set is one of the following: a program, a thread, a task or an instance of a program, or an instance of a task of a program.
35. The method of claim 33 implemented by hardware logic that operates without software involvement.
36. The method of claim 33 performing the prioritizing periodically, once in a defined time period.
37. The system of claim 33, wherein the determining of the respective numbers of non-empty buffers associated with each of the executables involves forming, for each given executable, a 1st phase bit vector having as many bits as there are input ports from where the buffers receive their input data, with this number of ports denoted with P, and wherein a bit at index x of said vector indicates whether the given executable has exactly x non-empty buffers, with x being an integer between 0 and P.
38. The method of claim 37, wherein the determining of the respective numbers of non-empty buffers associated with each of the executables further involves forming, from bits at equal index values of the 1st phase bit vectors of each of the executables, a row of P 2nd phase bit vectors, so that a bit at index y of the 2nd phase bit vector at index x of said row indicates whether an executable with ID number y within the set has exactly x non-empty buffers, wherein y is an integer from 0 to a maximum number of the executables less 1.
39. The method of claim 38, wherein the ranking further involves the following sub-steps:
resetting the present priority order index to a value representing a greatest execution priority; and
scanning the row of the 2nd phase bit vectors for active-state bits, one 2nd phase bit vector at a time, starting from row index P while decrementing the row index after reaching bit index 0 of any given 2nd phase bit vector, and based upon encountering an active-state bit: i) associating the executable with ID equal to the index of the active-state bit within its 2nd phase bit vector with the present priority order index and ii) changing the present priority order index to a next lower level of execution priority.