1

Apple did not invent multithreading and this patent seems to be too general. In today's computing this is an omnipresent practice so this patent is like trying to reserve rights to use wheel exclusively and charge royalties to everyone who tries to draw circles.

It's been used to block WebCL, and this looks like an abuse of patent system https://www.khronos.org/files/ip-disclosures/webcl/Apple-WebCL-Disclosure-Jan14_clean.pdf

In reference to the patent: US8276164

2
  • What exactly is your question? I'd agree that this patent seems broad, however I haven't read it completly and the claims are hard to read without the specification in this case. You could also check the prosecution history (click on the google patents link, espacenet and then global dossier) to see which prior art was cited against the patent and which parts of the claims the examiner deemed inventive. It is possible to invalidate patents (with some money) so if it was really as broad as you imply, maybe somebody would be doing that already.
    – DonQuiKong
    Mar 9 '17 at 10:54
  • 1
    Don't assess he broadness of a patent based on the title, base it on the claims. The independent claims in this case are pretty long and detailed. Overly broad claims tend to be short.
    – Eric S
    Mar 9 '17 at 15:20
1

You shouldn't base the "broadness" of a patent on how general the title is. What is covered by the patent is limited by what is in the claims (especially the independent claims). The longer and more detailed any individual claim is, generally the narrower the protection. In this case the first claim is:

  1. A computer implemented method comprising: receiving, during runtime of an application program, a capability requirement via arguments of an API (Application Programming Interface) request specified in source code of the application program for one or more processing devices to execute one or more threads of the application program, wherein the capability requirement includes one or more of: attributes associated with a dedicated texturing hardware support, a double precision floating point arithmetic capability, a dedicated local memory, a stream variable cache, a stream image cache, or synchronization primitives; and in response to the API request, generating one or more compute identifiers during the runtime for use by the one or more threads, at least one of the one or more compute identifiers specifying the processing devices capable of executing the threads according to the capability requirement, wherein the generating comprises matching the capability requirement with a device capability of the one or more processing devices, and determining one or more matched processing devices according to the matching.

Thats a lot of text including requiring "dedicated texturing hardware support, a double precision floating point arithmetic capability, a dedicated local memory, a stream variable cache, a stream image cache, or synchronization primitive".

I'm not skilled in this field, but this doesn't necessarily seem to be a broad patent covering all implementations of multi-threading.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.