Slashdot Mirror


Microsoft Patents 'IsNot', Enlists WTO

Milhouse102 writes "I was just reading an article on The Register about Microsoft's offshore patent war following Ballmer's recent outburst in Asia. I came across this little nugget, it seems MS has patented BASIC's IsNot operator."

16 of 720 comments (clear)

  1. Patents should be denied to convicted monopolists by scorp1us · · Score: 4, Interesting

    If the whole idea of sanctioning a company because it formed and mainatined a monopoly through anticompetitive practices is to restore competition in the industry, why do we continue to allow it to secure a temporary monopoly in that industry? PARTICULARLY WHEN THEY ARE STILL BEING SANCTIONED?

    I think it is a travesty that MS is allowed to aquire IP though the goverment that is sanctioning them. How does that restore competition? It is blatantly counter productive.

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
  2. GNU is_not Unix by TrueJim · · Score: 1, Interesting

    Since GNU's Not Unix, clearly this sets the stage for an assault on GNU.

    --
    I hope that after I die the one word people use to describe me is "resurrected."
  3. RTFA - Not that bad, but still bad. by borkus · · Score: 4, Interesting

    The patent isn't easy reading, but if you plow through enough of it you get to an example in code

    [0003] Class x
    [0004] Dim y As Integer
    [0005] End Class

    [0006] Class x in this case is defined to contain a member of type "Integer", which is to say that if the item stored at memory location 252 is a variable of class x, the contents of memory location 252 will comprise an Integer. Suppose now that the following code is executed:

    [0007] Dim a As x
    [0008] a=New x( )

    [0009] The first line of code defines variable a to be of class x while the second line creates a new instance of x 254 on the heap, a pointer to which is stored in variable a 256.

    It looks like their patenting using the Basic IsNot operator on object comparisons in Basic. It's a pretty limited patent.

    On the other hand, I'm baffled that you can patent overriding a specific operator in a specific language. There's considerable prior art in overrding operatorsin general.

    Of course, the problem with patent abuse by a few people is that it prompts others to do the same. Don't want someone to patent a piece of technology out from under you? Patent it first!

  4. Re:Prior art by rdc_uk · · Score: 3, Interesting

    Point 1:
    "evaluating to true when the first operand and the second operand point to different memory locations"

    The patent appears to cover a single operator (in BASIC, but that is an aside) which does JUST a comparison of whether the 2 operands in fact reside at the same memory address. (e.g. if they were 2 references to instances of the same class, it will tell you if they are in fact references to the same instance of that class)

    The C operator != in fact tells you if 2 operands share the same VALUE. This is a different concept, though in the case of pointers you could use it to perform the same test as above. != is NOT an operator with that use as its sole purpose.

    Point 2:
    "When I compare the value of pointers, I'm comparing what memory address they point to... got that? Ok, so when I compare two pointers using != I'm testing that they don't point to the same memory adddress... ok?"

    When you declare a pointer (to anything) in C, you in fact declare some form of integer; the exact type varies with your compiler and OS, but its just a NUMBER. When you use the != (or any other logical conparison operator) with that variable, you are in fact just comparing 2 numbers to each other. If you have written your program well, you may in fact be comparing 2 memory addresses, but consider that this is valid C code, and is using the != comparator on two "pointers":

    int x = 3000;
    void *a =
    void *b = x;

    int r = (a != b);

    Depending on your choice of number to put in x, you might even manage to get a "true" result from that.

    Your knowledge of how pointers actually work seems a tad lacking. You probably think there are no pointers in Java too...

  5. Re:Attention Europe by Anonymous Coward · · Score: 1, Interesting

    Thankfully, for now at least, the Poles have decided that software and business method patents would be a threat to their economy and so the whole affairs back to the legislators, where we can but hope it will stay...

  6. Re:Attention Europe by Zocalo · · Score: 4, Interesting
    Oh I think our governments are starting to see what's going on alright. Poland just this week removed its support for the EU patent directive which means it no longer has enough support to pass. France and the UK have stated that FOSS is a viable alternative for government deployment and should be considered alongside commerical alternatives, Germany is already using it in Munich of course. Given Steve Ballmer's recent comments in Malaysia about "use Linux and get sued", do you really think these governments are going to to pass legislation to enable themselves to be sued?

    Kinda ironic that Microsoft should provide the anti-IP patent lobby with one of their strongest arguments to date, but it just goes to show that Microsoft doesn't understand *NIX. Certainly not the parts about *NIX making it really easy to shoot yourself in the foot at any rate... :)

    --
    UNIX? They're not even circumcised! Savages!
  7. Re:Only pertains to BASIC by ajakk · · Score: 4, Interesting
    First, this is a patent application, thus it has not yet been granted by the patent office. Even though they have let some stupid stuff through, there is no way that the PTO will let something this bad be granted a patent.

    On the other hand, this patent does not apply only to the BASIC language. Each claim of a patent is treated as a seperate patent. Thus claim one covers any system that does the particular operation. Claim two covers a system where the compiler is a BASIC compiler. Claim three covers any system where the operator used is "IsNot" regardless of whether or nor the language is BASIC. Claim four covers any system wherein the compiler comprises a scanner, parser, analyzer, and executable generator (regardless of language).

  8. Re:Prior art by Phillup · · Score: 5, Interesting
    Here is the first claim:
    A system for determining if two operands point to different locations in memory, the system comprising: a compiler for receiving source code and generating executable code from the source code, the source code comprising an expression comprising an operator associated with a first operand and a second operand, the expression evaluating to true when the first operand and the second operand point to different memory locations.
    My understanding is that each and every claim stands on it's own.

    Now, some claims refer to other claims... so, you can kill multiple claims by killing the underlying claim.

    But, claim #1 says absolutely nothing about BASIC.

    Also, when I read it, I get the impression that BASIC is mentions for demonstration purposes only, that the claim is for everything like BASIC.

    For example, I see this:
    [0015] A system, method and computer-readable medium support the use of a single operator that allows a comparison of two variables to determine if the two variables point to different locations in memory, that is, the reverse of the existing "Is" operator in a BASIC programming language or a derivative of BASIC or BASIC-like programming language. In one embodiment of the invention, the memory locations represent objects. The new operator enables a user to determine if the left operand (e.g., a reference type) "is not" the same instance as the reference type listed as the right operand. The use of a single operand for this concept may increase the readability of the programming language.
    Which mentions derivitaves of BASIC and BASIC like languages. And, it mentions in one embodiment of the invention, the memory locations represent objects.. (Can you say dot net?)

    Here is another part that makes me think it isn't just BASIC:
    [0029] FIG. 2 and the following discussion are intended to provide a brief general description of a suitable computing environment in which the invention may be implemented. It should be understood, however, that handheld, portable, and other computing devices of all kinds are contemplated for use in connection with the present invention. While a general purpose computer is described below, this is but one example, and the present invention requires only a thin client having network server interoperability and interaction. Thus, the present invention may be implemented in an environment of networked hosted services in which very little or minimal client resources are implicated, e.g., a networked environment in which the client device serves merely as a browser or interface to the World Wide Web.
    Again, the mention of a browser and the web make me think of dot net.

    Then, in paragraph [0041] we see this sentence:
    One such design environment may be MICROSOFT VISUAL BASIC .NET, BORLAND DELPHI or the like.
    Which tags two non-BASIC languages (.net and delphi/pascal)

    I think that if you read it closely you start getting the impression that they are trying to patent an idea that is expressed in many programming languages.

    Not just an implementation in one language.
    --

    --Phillip

    Can you say BIRTH TAX
  9. There is no WTO issue here. by de+la+mettrie · · Score: 4, Interesting
    The article states: "If Microsoft can convince the TRIPS enforcers that massive patent infringement is taking place, it doesn't need to convince a court.".

    It so happens that IAMAITL (I am an international trade lawyer). I can assure you that the article, in that regard, is utter bullshit on various levels:

    • First, the "TRIPS enforcers" are the national courts. The TRIPS provision the article links to specifically requires the WTO Member nations to provide for courts to review alleged patent violations. The WTO by itself does not (directly) enforce anything.
    • Second, it is very much open to academic debate whether WTO Members must recognise software patents at all under the TRIPS. Most WTO Members still don't, and there is no WTO case law on this issue.
    • Third, the TRIPS (like most national patent laws) excludes from patentability inventions that are not new, useful and non-obvious. These safeguards can still be invoked to protect one's software against fraudulent patents.
    • And finally, nowhere in the article is there any mention that MS does in fact want to use the WTO in any way to enforce their patents. It only links to the WTO provisions at issue and goes on to ramble on how bad it would be if MS could indeed press the WTO into its service in the way the author imagines.

  10. Re:Attention Europe by 16K+Ram+Pack · · Score: 2, Interesting
    The big question is how governments perceive this in terms of things like jobs. If they see that patents will mean that there will be less jobs in the UK and France, they'll not go for them.

    I think that a big reason that people in governments in europe are choosing FOSS over proprietary is as a way of giving more jobs to local companies and workers instead of typically US owned software companies.

  11. claim 1 is so broad is even .. by josepha48 · · Score: 2, Interesting
    ... covers C and COBOL, and any language.
    #define TRUE -1
    #define FALSE 0
    if ( TRUE ) {} fals under this, as well as Java code.

    Its time to start writing the patent office and challenge this patent.

    --

    Only 'flamers' flame!
    Does slashdot hate my posts?

  12. Re:So am I infringing if... by radish · · Score: 2, Interesting

    Or in Java:


    public boolean isNot(Object a, Object b) {
    return a!=b;
    }


    Which is even more absurd.

    --

    ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

  13. Re:Am too. by Ctrl-Z · · Score: 3, Interesting

    That could be useful for Smell-O-Vision. The future is here... today!

    --
    www.timcoleman.com is a total waste of your time. Never go there.
  14. Patent IsNot SoStrange by Anonymous Coward · · Score: 1, Interesting

    It looks like "IsNot" is a new, albeit small, feature of Visual Basic 2005 to simplify the syntax of comparing object references:

    http://msdn.microsoft.com/vbasic/default.aspx?pu ll =/library/en-us/dnvs05/html/vbnet2005_preview.asp# vbnet2005_preview_topic15

  15. Frivilous patents by jgoemat · · Score: 2, Interesting
    The government has a serious problem. The USPTO is overwhelmed with patent applications and it cannot keep up. Because of this, they are likely to just issue a patent for whatever someone asks for, they don't have time to review them all. This is frivilous, it borders on insane. This same operator under a different name has been in other programming languages such as C since their creation (!= will do that for pointers). It is able to be done in basic by simply writing it as "Not (a Is b)". It is not a new invention worthy of patent protection by any stretch of the imagination.

    To get the USPTO back in working order, congress should institude a fine for frivilous patent applications. They should increase their staff and review each patent carefully and be able to throw them out. I recommend a tiered system. Your first frivilous patent application is just the cost of a normal patent application, but it doubles for each frivilous application after the first. If patents cost $1000 to apply for, the 10th frivilous application would cost $1 million. The 16th would cost you $65 million, and the 24nd would cost you $16 billion.

  16. Re:Prior art: the D Programming Language by tricorn · · Score: 2, Interesting

    That may limit the patent, but not knock it out. After all, the patent is on the implementation of IsNot in BASIC. This is obviously intended to prevent work-alike BASIC languages from being compatible. They really don't care if you create a macro in C to #define IsNot to !=.

    Java by itself is prior art for almost all of the claims, except for naming an operator "IsNot", being BASIC, and having an operator that gives an error unless both operands are pointers. An object method probably doesn't qualify as an "operator", and I can't think offhand of a language where there's a pointer-specific not-equal operator, different from any other not-equal operator. So a few of the claims might not have clear prior art. They should still fail on obviousness. For example, there's an obvious parallel to "isa" and "isnota". Smalltalk has == and ~~ (vs. = and ~=) (Smalltalk might have difficulties with the "generate an error" claims, since everything in Smalltalk is a pointer reference).

    Looking for the discussion of "isnot" in D, it looks like that was discussed earlier this year. It needs to be about two years earlier to be clear prior art for this one (filed May 2003).

    I note that this is a standard Microsoft patent, wherein they patent the software method, then patent putting software that implements the method on a "computer readable medium".