System and method for managing a serial port
First Claim
1. A system for managing a port, comprising an interface that establishes a data-connection to the port, another interface that receives command-requests and stores command-messages in a buffer, and the interface periodically suspends the established data-connection with the port when command-messages are located in the buffer wherein the interface selectively sends command-messages from the buffer to the port and resumes the connection with the port within a prescribed time interval, wherein the prescribed time interval is determined by a heuristic calculation.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides for a virtual serial port (VSP) situated between a serial port in a mobile electronic device, applications that require a serial port connection handle, and other applications that require command-mode access to the serial port. Data-communication applications (e.g. web browsing, e-mail, etc.) connect to the serial port through the VSP. The VSP creates a virtual connection handle that is returned to the application. Command-mode requests (e.g., short messaging requests) are received by the hardware abstraction layer, translated into command-mode messages (e.g., AT commands) and placed in a queue. The VSP multiplexes the serial port between the currently-open data communication session (data-mode) and command-mode messages by periodically suspending the currently-open connection and processing one or more command-mode messages that are in the queue. A buffer continually stores incoming data while the data communication session is suspended. The VSP uses a heuristic calculation to determine the maximum time interval for which the data-communication session can be interrupted. The heuristic calculation takes a percentage of a time-quantum (e.g. 0.5 seconds) based upon the ratio of an average bit rate for air communication (e.g. 7000 bits/sec) and a bit rate for the serial port (e.g. 152,000 bits/sec). This ensures that data-communications are not interrupted for a time interval long enough to result in lost data-packets. The parameter for the time quantum and other parameters may be statically or dynamically adjusted to account for a finite buffer size in the hardware.
-
Citations
20 Claims
- 1. A system for managing a port, comprising an interface that establishes a data-connection to the port, another interface that receives command-requests and stores command-messages in a buffer, and the interface periodically suspends the established data-connection with the port when command-messages are located in the buffer wherein the interface selectively sends command-messages from the buffer to the port and resumes the connection with the port within a prescribed time interval, wherein the prescribed time interval is determined by a heuristic calculation.
-
10. A method of managing a port, comprising:
-
generating a virtual handle when a data-connection is established;
switching between a data-mode and a command-mode based upon a heuristic calculation;
routing data between the port and the virtual handle when the operating mode is the data-mode;
placing received command-messages in a buffer;
selecting at least one command-message from the buffer; and
sending the selected at least one command-message to the port when the operating mode is the command-mode. - View Dependent Claims (11, 12, 13, 14, 15)
receiving a command-request from an application; and
formatting the command-request into a command-message.
-
-
13. The method of claim 10, further comprising:
-
receiving a reply-message from the port when the operating mode is the command-mode; and
sending the reply-message to an application when the operating mode is the command-mode.
-
-
14. The method of claim 10, further comprising:
-
receiving a reply-message from the port when the operating mode is the command-mode;
sending the reply-message to another buffer when the operating mode is the command-mode; and
switching from the command-mode to the data-mode after the reply-message is sent to the other buffer.
-
-
15. The method of claim 10, wherein the port is part of a portable electronic device.
-
16. A computer readable medium having computer executable instructions for managing a port connection, comprising:
-
activating a call-mode when a data-connection is established;
deactivating the call-mode when the data-connection is terminated;
determining a time interval based on a heuristic calculation;
routing data between an application and the port during the time interval when the operating mode is the call-mode;
suspending the data-connection at the end of the time interval when the operating mode is the call-mode;
activating a command-mode when the call-mode is deactivated;
activating the command-mode when the data-connection is suspended;
processing command-messages that are awaiting processing when the operating mode is the command-mode; and
resuming a suspended data connection after completing the processing of command messages when the call-mode is active. - View Dependent Claims (17, 18)
-
-
19. A system for managing a serial port in a portable device, comprising:
-
means for activating a call-mode when a data-connection is established;
means for deactivating the call-mode when the data-connection is terminated;
means for receiving a command-request;
means for converting the command-request to a command-message;
means for sending the command-message to the serial port when operating in a command-mode;
means for routing data between an application and the serial port when operating in a data-mode;
means for selecting the command-mode when the call-mode is inactive;
means for selecting the data-mode when the call-mode is active; and
means for switching between the data-mode and the command-mode based on a heuristic calculation when the call-mode is active. - View Dependent Claims (20)
means for suspending the data-connection when the call mode is active and the command-mode is selected; and
means for resuming the suspended data-connection when the data-mode is selected, where the heuristic calculation determines a maximum time interval for which the data-connection can be suspended based on a ratio between an effective air bit rate and a software to module bit rate.
-
Specification