Claims
- 1. A system for routing between communication channels used to communicate between a client application and a server application, comprising:
a communications framework, the communications framework including,
a data pump for managing connections between the client application and the server application, the data pump implements dedicated connection objects for handling each connection between the client application and the server application; a policy manager for setting desired quality of service properties for connections between the client application and the server application; and a channel monitor for monitoring availability of each channel capable of interfacing with the communications framework; whereby a connection object, desiring to trigger a switch from a current channel to another channel, based on information obtained from the channel monitor and the policy manager, interfaces with a synchronization control to avoid data loss between the client application and the server application.
- 2. A system for routing between communication channels used to communicate between a client application and a server application as recited in claim 1, wherein the synchronization control is in communication with the data pump of the client application and a data pump of the server application.
- 3. A system for routing between communication channels used to communicate between a client application and a server application as recited in claim 1, further comprising:
a stream manager, the stream manager being configured to initiate communication between the client application and the communications framework.
- 4. A system for routing between communication channels used to communicate between a client application and a server application as recited in claim 3, further comprising:
a message manager, the message manager being configured to handle message communication between the client application and the communications framework.
- 5. A system for routing between communication channels used to communicate between a client application and a server application as recited in claim 1, wherein the client application is a carlet and the client application is executed on a telematics control unit (TCU) of a vehicle, the carlet configured to render control and interfacing with a component of the vehicle.
- 6. A system for routing between communication channels used to communicate between a client application and a server application as recited in claim 1, wherein the system in integrated in a telematics technology client framework.
- 7. A system for routing between communication channels used to communicate between a client application and a server application as recited in claim 1, wherein the server application is integrated in a telematics technology portal framework.
- 8. A system for routing between communication channels used to communicate between a client application and a server application as recited in claim 1, wherein the data pump defines a data multiplexer and flow controller.
- 9. A system for routing between communication channels used to communicate between a client application and a server application as recited in claim 1, wherein the a policy manager is a pluggable component.
- 10. A telematics system, the system comprising:
a telematics client framework, the telematics client framework including an interface to client applications and being integrated with a client communications framework, the client communications framework including,
a client stream manager, a client data pump, a client policy manager, and a client channel monitor, the channel monitor detecting availability of channels for communication with a telematics server framework, the telematics server framework including an interface to server applications and being integrated with a server communications framework, the client channel monitor being configured to communicate availability of channels to connection objects of the client data pump, and switching between channels is triggered based on information obtained from the client policy manager.
- 11. A telematics system as recited in claim 10, wherein the telematics client framework is running on a telematics control unit (TCU) of a vehicle.
- 12. A telematics system as recited in claim 10, wherein the telematics control unit (TCU) includes hardware, a real-time operating system, a JVM, an OSGi servicespace, the telematics client framework that includes the client communications framework, and client applications.
- 13. A telematics system as recited in claim 10, wherein the client applications are carlets.
- 14. A telematics system as recited in claim 10, wherein the client communications framework uses a wireless channel to connect to the server communications framework.
- 15. A telematics system as recited in claim 10, wherein the telematics system implements a synchronization control to manage communication changes between channels.
- 16. A method for adaptively routing between multiple communication channels at a client side of telematics system, comprising:
receiving a request for a communications connection from a client application to a server side; establishing a connection object to define a wireless connection between the client side and the server side using one channel selected from two or more available channels; monitoring the two or more available channels; detecting a change in availability of the two or more available channels; referring to a policy to determine if a change in the selected connection is required, and if a change is required,
synchronizing data transferred between the client side and the server side; and switching to another of the two or more available channels.
- 17. A method for adaptively routing between multiple communication channels at a client side of telematics system as recited in claim 16, wherein a change in availability of the two or more available channels is detected when one of a new channel becomes available and an existing channel becomes unavailable.
- 18. A method for adaptively routing between multiple communication channels at a client side of telematics system as recited in claim 16, wherein the two or more available channels provide connections of the same or different bandwidth.
- 19. A method for adaptively routing between multiple communication channels at a client side of telematics system as recited in claim 16, wherein the method is executed using a java virtual machine.
- 20. A method for adaptively routing between multiple communication channels at a client side of telematics system as recited in claim 16, wherein the policy is pluggable, and defines logic for when switching is desirable in view of current available channels.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to (1) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP086), filed Mar. 22, 2002, and entitled “Arbitration of Communication Channel Bandwidth,” (2) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP087), filed Mar. 22, 2002, and entitled “System and Method for Distributed Preference Data Services,” (3) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP088), filed Mar. 22, 2002, and entitled “Asynchronous Protocol Framework,” (4) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP089), filed Mar. 22, 2002, and entitled “Business-Model Agnostic Service Deployment Management Service,” (5) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP090), filed Mar. 22, 2002, and entitled “Manager Level Device/Service Arbitrator,” (6) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP092), filed Mar. 22, 2002, and entitled “Java Telematics System Preferences,” (7) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP093), filed Mar. 22, 2002, and entitled “System and Method for Testing Telematics Software,” (8) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP094), filed Mar. 22, 2002, and entitled “System and Method for Simulating an Input to a Telematics System,” (9) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP095), filed Mar. 22, 2002, and entitled “Java Telematics Emulator,” and (10) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP096), filed Mar. 22, 2002, and entitled “Abstract User Interface Manager with Prioritization,” which are incorporated herein be reference.