1460718026-a92e8ad9-0b4d-4201-bdd5-759c78e82c11

What is claimed is:

1. A method of processing messages, comprising issuing a continuous mode input operation from an application to a socket wherein the continuous mode input operation is selected from at least one of:
a single continuous mode accept operation configuring a listening socket to handle a plurality of incoming client connections; and
a single continuous mode receive operation configuring a client socket to handle a plurality of client requests.
2. The method of claim 1, wherein the messages are client-server messages.
3. The method of claim 1, further comprising, configuring the client socket, with the single continuous mode receive operation, to recognize a format of each of the plurality of client requests, whereby the client socket is configured to receive the client requests without invoking the application until the request is completely received.
4. The method of claim 1, wherein the continuous mode input operations are issued from a main thread of the application.
5. The method of claim 1, wherein issuing the single continuous mode receive operation comprises:
placing a single pending receive data structure on a pending queue;
for each completed client request, copying contents of the pending receive data structure to a completed receive data structure queued on a receive completion queue.
6. The method of claim 1, wherein issuing the single continuous mode accept operation comprises:
placing a single pending accept data structure on a pending queue;
for each of the plurality of incoming client connections, copying contents of the single pending accept data structure to a completed accept data structure queued on a accept completion queue, wherein the single pending accept data structure remains on the pending queue.
7. The method of claim 6, wherein issuing the single continuous mode receive operation comprises:
placing a single pending receive data structure on a pending queue;
for each completed client request, copying contents of the pending receive data structure to a completed receive data structure queued on a receive completion queue.
8. The method of claim 1, further comprising, for each completed client request, acquiring a buffer from system supply memory to contain the completed client request.
9. The method of claim 8, wherein allocating the buffer comprises sizing the buffer according to a size of the completed client request.
10. A computer readable medium containing a sockets-based program comprising at least one of a continuous mode accept application programming interface and a continuous mode receive application programming interface, wherein the sockets-based program, when executed, performs operations for processing messages, the operations comprising at least one of:
configuring a listening socket to handle a plurality of incoming client connections as a result of issuing a single continuous mode accept operation from an application; and
configuring a client socket to handle a plurality of client requests as a result of a single continuous mode receive operation issued by the application.
11. The computer readable medium of claim 10, wherein the messages are client-server messages.
12. The computer readable medium of claim 10, further comprising, configuring the client socket, with the single continuous mode receive operation, to recognize a format of each of the plurality of client requests, whereby the client socket is configured to handle receiving the client requests without invoking the application until the message is completely received.
13. The computer readable medium of claim 10, wherein the continuous mode accept operation and the continuous mode receive operation operations are issued from a main thread of the application.
14. The computer readable medium of claim 10, further comprising, when the single continuous mode receive operation is issued:
placing a single pending receive data structure on a pending queue;
for each completed client request, copying contents of the pending receive data structure to a completed receive data structure queued on a receive completion queue.
15. The computer readable medium of claim 10, further comprising, when the single continuous mode accept operation is issued:
placing a single pending accept data structure on a pending queue;
for each of the plurality of incoming client connections, copying contents of the single pending accept data structure to a completed accept data structure queued on a accept completion queue, wherein the single pending accept data structure remains on the pending queue.
16. The computer readable medium of claim 15, further comprising, when the single continuous mode receive operation is issued:
placing a single pending receive data structure on a pending queue;
for each completed client request, copying contents of the pending receive data structure to a completed receive data structure queued on a receive completion queue.
17. The computer readable medium of claim 10, further comprising, for each completed client request, acquiring a buffer from system owned memory space to contain the completed client request.
18. The computer readable medium of claim 17, wherein allocating the buffer comprises sizing the buffer according to a size of the completed client request.
19. A system in a distributed computer environment, comprising:
a network facility configured to support a network connection with a remote computer;
a memory containing content comprising an application and a plurality of sockets application programming interfaces (APIs), wherein the sockets APIs comprise at least one of a continuous mode accept operation and a continuous mode receive operation;
a processor which, when executing the contents, is configured to perform operations comprising at least one of:
issuing a single continuous mode accept operation to configure a listening socket to receive a plurality of incoming client connections; and
issuing a single continuous mode receive operation to configure a client socket to receive a plurality of client requests.
20. The system of claim 19, wherein the distributed computer environment is a client-server environment.
21. The system of claim 19, wherein the content of the memory further comprises a system owned memory space and wherein the operations further comprise:
for each completed client request, acquiring a buffer from the system owned memory space to contain the completed client request.
22. The system of claim 19, wherein the content of the memory further comprises a system owned memory space and wherein the operations further comprise:
for each completed client request, acquiring a buffer from the system owned memory space to contain the completed client request, wherein the buffer is sized according to a size of the completed client request.
23. The system of claim 19, wherein the content of the memory further comprises a pending queue on which a single pending accept data structure is queued as a result of the continuous mode accept operation.
24. The system of claim 23, wherein the content of the memory further comprises an accept completion queue to which contents of the pending accept data structure are copied upon receiving a client connection on the listening socket and wherein the pending accept data structure remains on the pending queue.
25. The system of claim 19, wherein the content of the memory further comprises a pending queue on which a single pending receive data structure is queued as a result of the continuous mode receive operation.
26. The system of claim 25, wherein the content of the memory further comprises a receive completion queue to which contents of the pending receive data structure are copied upon receiving a completed client request on the client socket and wherein the pending receive data structure remains on the pending queue.

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. A resistive touchscreen system, comprising:
a substrate comprising a first conductive coating having a first resistance;
a coversheet comprising a second conductive coating having a second resistance, the substrate and the coversheet positioned proximate each other such that the first conductive coating faces the second conductive coating, the substrate and coversheet being electrically disconnected with respect to each other in the absence of a touch;
a first set of electrodes formed on the substrate for establishing voltage gradients in a first direction;
a second set of electrodes formed on the coversheet for establishing voltage gradients in a second direction, the first and second directions being different; and
a controller configured to bias the first and second sets of electrodes in two different cycles, the controller further configured to sense a bias current associated with at least one of the first resistance and the second resistance, the bias current having a reference value associated with no touch, an increase in the bias current relative to the reference value indicating two simultaneous touches.
2. The resistive touchscreen system of claim 1, the bias current further comprising first and second bias currents, the system further comprising a first resistor positioned in series with one electrode in the first set of electrodes and a second resistor positioned in series with one electrode in the second set of electrodes, the controller further sensing the first and second bias currents based on voltage drops across the first and second resistors.
3. The resistive touchscreen system of claim 1, further comprising a first resistor positioned in series with one electrode in the first set of electrodes and a second resistor positioned in series with one electrode in the second set of electrodes, the controller further sensing the bias current based on voltage drops across the first and second resistors, the first and second resistors having values that are based on the first and second resistances.
4. The resistive touchscreen system of claim 1, the bias current further comprising a first bias current in the first direction further associated with the first resistance and a second bias current in the second direction further associated with the second resistance, the controller further configured to sense the first and second bias currents over time, the controller determining that the two simultaneous touches are moving relative to each other based on changes in the first and second bias currents.
5. The resistive touchscreen system of claim 1, further comprising first and second resistors, wherein the first resistor is connected on a first side to an electrode in the first set of electrodes that detects the voltage and on a second side to ground potential, wherein the second resistor is connected on a first side to an electrode in the second set of electrodes that detects the voltage and on a second side to the ground potential, the controller further sensing the bias current based on a voltage drop across the first and second resistors.
6. The resistive touchscreen system of claim 1, farther comprising:
first and second resistors, wherein the first resistor is connected on a first side to an electrode in the first set of electrodes that detects the voltage and on a second side to ground potential, wherein the second resistor is connected on a first side to an electrode in the second set of electrodes that detects the voltage and on a second side to the ground potential;
a first amplifier circuit in communication with the first resistor; and
and a second amplifier circuit in communication with the second resistor, the controller further sensing the bias current based on amplified signals measured across the first and second resistors.
7. The resistive touchscreen system of claim 1, wherein the bias current increases with an increase in axial separation between the two simultaneous touches.
8. The resistive touchscreen system of claim 1, wherein the conductive coatings comprise one of indium tin oxide (ITO), transparent metal film, carbon nanotube containing film, conductive polymer, and a conductive material, and wherein the first and second conductive coatings may be the same or different with respect to each other.
9. The resistive touchscreen system of claim 1, further comprising a pressure sensor mounted proximate to the substrate, wherein the pressure sensor is configured to detect changes in pressure associated with the one touch and the two simultaneous touches, wherein the controller is further configured to filter fluctuations in the bias current based on the changes in pressure.
10. A method for detecting two simultaneous touches on a resistive touchscreen system, comprising:
biasing a resistive touchscreen to generate voltage gradients along a first direction and a second direction;
detecting a first bias current associated with the first direction, the first bias current associated with a non-zero first reference value that is representative of a bias current along the first direction when no touch is present on the resistive touchscreen;
detecting a second bias current associated with the second direction, the second bias current associated with a non-zero second reference value that is representative of a bias current along the second direction when no touch is present on the resistive touchscreen; and
determining that two simultaneous touches are present on the resistive touchscreen when one of the first and second bias currents is greater than the first and second reference values, respectively.
11. The method of claim 10, further comprising:
comparing consecutively detected first bias currents to determine a change in the first bias current over time; and
comparing consecutively detected second bias currents to determine a change in the second bias current over time, wherein the changes in one of the first and second bias currents are used to determine movement of the two simultaneous touches relative to each other.
12. The method of claim 10, further comprising:
comparing consecutively detected first bias currents to determine a change in the first bias current over time;
comparing consecutively detected second bias currents to determine a change in the second bias current over time; and
identifying a zoom-in gesture when at least one of the first and second bias currents is increasing over time and neither of the first and second bias currents is decreasing over time.
13. The method of claim 10, further comprising:
comparing consecutively detected first bias currents to determine a change in the first bias current over time;
comparing consecutively detected second bias currents to determine a change in the second bias current over time; and
identifying a zoom-out gesture when at least one of the first and second bias currents is decreasing over time and neither of the first and second bias currents are increasing over time.
14. The method of claim 10, further comprising:
comparing consecutively detected first bias currents to determine a change in the first bias current over time;
comparing consecutively detected second bias currents to determine a change in the second bias current over time; and
identifying a rotate gesture when one of the first and second bias currents is increasing over time and the other is decreasing over time.
15. The method of claim 10, further comprising:
determining coordinate values of an initial touch, wherein the first bias current is equal to the first reference value and the second bias current is equal to the second reference value; and
determining coordinate values of a subsequent touch when at least one of the first and second bias currents is greater than the first and second reference values, respectively, the subsequent touch being detected in a detection cycle immediately following a detection cycle wherein the initial touch is present, wherein actual coordinate values of the subsequent touch are based on the coordinate values of the initial touch and the coordinate values of the subsequent touch.
16. The method of claim 10, wherein the first and second bias currents are detected during first and second consecutive cycles.
17. The method of claim 10, further comprising detecting first and second coordinates of the two simultaneous touches during two of three consecutive cycles, the first and second bias currents being alternately detected during a third cycle of the three consecutive cycles.
18. The method of claim 10, further comprising:
detecting a first coordinate associated with one touch on the resistive touchscreen or the two simultaneous touches on the resistive touchscreen during a first cycle;
detecting a second coordinate associated with the one touch or the two simultaneous touches during a second cycle;
detecting the first bias current during a third cycle; and
detecting the second bias current during a fourth cycle, wherein the first, second, third and fourth cycles are consecutive.
19. The method of claim 10, wherein when the two simultaneous touches are present on the resistive touchscreen, the method further comprising detecting the first and second bias currents without detecting first and second coordinates associated with the two simultaneous touches.
20. The method of claim 10, wherein a type of gesture is determined based on signal profiles of the first and second bias currents detected over time.