Patent US 8370511 B2 appears to be primarily a copy and paste reference of the TDS documentation. The Claims presented also don't have any innovation, they just describe what the TDS protocol does. In fact, Claim 1 says:
- A server comprising:
a processor; and
a database having an interface for receiving database requests that are formatted according to a tabular data stream (TDS) protocol that comprises:
a multiple active result set (MARS) header that identifies that multiple active result sets are to be generated in response to the execution of queries in a number of pending requests received over a single database connection, and
a data field that is part of the MARS header that identifies the number of pending requests active over the single database connection known by a client to the server, wherein the server uses the MARS header to synchronize execution of queries from the pending active requests for communication between the client and the server, regardless of buffer size for the client and the server such that the client is enabled to send a plurality of active requests to the server using a single database connection to be executed concurrently,
wherein the server, while the database connection is open, receives a reset request from the client and thereafter resets the database connection;
wherein the server further receives a subsequent database request over the same database connection that has been reset; and
wherein the server uses the interface to receive the database requests, including the subsequent database request over the same database connection after the database connection has been reset.
To infringe on Claim 1, you would have to specifically implement the TDS protocol it would appear. It seems like this is what copyright is for.
It also appears the claims don't make any sense with regard to prior art:
Claim 2 states support for the Server to notify the client of changes. This is what PostgreSQL has supported from 2000 (well before this patent).
Claim 3 claims chucking data type within the stream. I fail to see innovation here.
Claims 4 and 5 are simply rudimentary server to client notifications that are present in many products.
Claim 6 just states the client has a method to stop the server from sending more data without dropping the connection. Like any full duplex network protocol has done for how long?
Claim 7 states the client can do RPC. The 1980s called, Hello?
Claim 8 is saying the client can make a requests that effects how the database query is executed. Nothing new here, just the same old.
Claim 9 dresses up database parameters without actually doing anything new.
Claim 10 says the protocol can change password on login. I again fail to see anything remotely innovative here.
Claim 11 says the protocol can handle multiple result sets sent to the client on the same TCP connection, each result set in a TDS format multiplexed using MARS. My SQL supports "more results" from around the same time as this patent. I'm sure there are other prior art for multiple things going through the same channel.
Claim 12 appears to say MARS can be used with query notification.
I don't see how any of these claims are new or innovative by themselves. And if this combination somehow makes it patent-able, then almost any piece of non-trivial software would be.
How did this get approved by the patent office?