Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Microsoft Patents 'IsNot', Enlists WTO

Posted by michael on Fri Nov 19, 2004 09:43 AM
from the sigh dept.
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."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Am too. (Score:5, Funny)

    by Raven42rac (448205) on Friday November 19 2004, @09:44AM (#10863781)
    I am going to patent "is too" and "nuh uh".
  • oblig (Score:4, Funny)

    by Anonymous Coward on Friday November 19 2004, @09:45AM (#10863784)
    Somehow, this IsNot funny.
  • by mfh (56) on Friday November 19 2004, @09:45AM (#10863786) Journal
    Hmmm Microsoft patents IsNot so we can't say Microsoft IsNot Linux or Mac, right? Maybe because they don't want us to say Microsoft IsNot good? IsNot fair? IsNot using best practice? I guess they are trying to surpress our complaining.
    • by kuwan (443684) on Friday November 19 2004, @10:00AM (#10863959) Homepage
      In other news... [villanova.edu] (From an old Onion article)

      REDMOND, WA--In what CEO Bill Gates called "an unfortunate but necessary step to protect our intellectual property from theft and exploitation by competitors," the Microsoft Corporation patented the numbers one and zero Monday.

      With the patent, Microsoft's rivals are prohibited from manufacturing or selling products containing zeroes and ones--the mathematical building blocks of all computer languages and programs--unless a royalty fee of 10 cents per digit used is paid to the software giant.

      "Microsoft has been using the binary system of ones and zeroes ever since its inception in 1975," Gates told reporters. "For years, in the interest of the overall health of the computer industry, we permitted the free and unfettered use of our proprietary numeric systems. However, changing marketplace conditions and the increasingly predatory practices of certain competitors now leave us with no choice but to seek compensation for the use of our numerals."


      Read More. [villanova.edu]

      --
      Sounds like a scam, but it works. [wired.com]
      Free Flat Screens [freeflatscreens.com] | Free iPod Photo [freephotoipods.com] |
      • by albalbo (33890) on Friday November 19 2004, @10:08AM (#10864038) Homepage
        UK patent application GB0312175.3 [patent.gov.uk], someone already tried:

        "The applicant appeared to be trying to protect the use of '0' and '1' in computer technology. [...] The applicant appeared to have completely misunderstood the patent system, and had not actually invented anything."

        Via softwarepatents.co.uk [softwarepatents.co.uk]. Well, at least *that* didn't get through. ARM's patent on the use of pointer arithmetic in CPU emulators *was* allowed, though.
    • by Iphtashu Fitz (263795) on Friday November 19 2004, @10:27AM (#10864206)
      My operating system of choice IsNot Microsoft Windows
      My favorite software company IsNot Microsoft
      My favorite internet company IsNot Microsoft
      My news site of choice IsNot MSN
      My webmail site of choice IsNot Microsoft Hotmail
      My game console IsNot a Microsoft XBox
      My favorite CEO IsNot Microsofts Steve Ballmar
      My... oh forget it....
      • by mindaktiviti (630001) on Friday November 19 2004, @12:16PM (#10865464)
        Well since IsNot is already patented, let me convert that to legal pseudo code:

        Microsoft Windows = sux0r
        Microsoft Inc = sux0r
        MSN news = sux0r
        Microsoft Hotmail = sux0r
        Microsoft XBox = sux0r
        Microsoft CEO Steve Ballmar = pwn3d.
  • Not Quite (Score:5, Informative)

    by RangerRick98 (817838) on Friday November 19 2004, @09:46AM (#10863797) Journal
    Unless I'm mistaken, they've only applied for a patent; it has not yet been granted. Sadly, given the state of the patent system nowadays, it would not surprise me if it is granted.
    • by southpolesammy (150094) on Friday November 19 2004, @09:54AM (#10863892) Homepage Journal
      Slashdot headline, July 23, 2006 -- Patent IsNot Granted.

      800 posts later, slashdotters still haven't deciphered the meaning of the headline.
    • Re:Not Quite (Score:5, Informative)

      by servoled (174239) on Friday November 19 2004, @10:09AM (#10864042)
      Yes, this is a publication of a pending patent application. The easy to tell is to look at the number: 20040230959.

      Published patent applications use the format of YYYY/####### to denote the Year and the number in which the application was received.

      Granted patents have the format of ####### with no year attached to denote the order in which the patent was granted. They are someone around 6,800,000 right now.
    • Re:Not Quite (Score:5, Insightful)

      by Zaiff Urgulbunger (591514) on Friday November 19 2004, @11:41AM (#10865055)
      If the purpose is to create uncertainty, then even the merest hint, of thinking about, possibly, applying for a patent, may actually be as effective as being granted one!
  • by scorp1us (235526) on Friday November 19 2004, @09:48AM (#10863810) Journal
    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.

  • by ravind (701403) on Friday November 19 2004, @09:49AM (#10863830)
    For future applications, the patent office will have to pay them to say "This IS NOT original".
  • by N Monkey (313423) on Friday November 19 2004, @09:49AM (#10863839)
    After a quick read of the patent, it seems to say that it is a test to see if two "variables" are actually the same entity, i.e. at the same address.

    That would seem to imply

    #define IsNot(A,B) (&(A) != &(B))

    infringes?

    Surely this is done in things like memmove() to prevent overwriting of data?

    • by Anonymous Coward on Friday November 19 2004, @09:56AM (#10863923)
      More to the point, the operator has existed in Lisp since at least the '60s:

      (neq a b)

      In Java the operator is simply !=, which tests for pointer equivalence in all non-numerical cases:

      a != b

      But ISNOT is likely a Bill Gates invention. It would seem the whole of the patent rests on a single claim, #2: the operator being in BASIC. Can this possibly stand up?

  • by TreadOnUS (796297) on Friday November 19 2004, @09:50AM (#10863843) Homepage
    If so, the 'IsNot' operator is obvious and therefore not a good candidate to be patented. Of course what MS is really trying to do here is patent a representation of logic.
    • by MarkEst1973 (769601) on Friday November 19 2004, @09:57AM (#10863927)
      It depends on what your definition of "is" is...
    • by albalbo (33890) on Friday November 19 2004, @10:03AM (#10863994) Homepage
      Actually, they specifically admit "Is" as prior art, the example they give is:

      If (Not(A Is B)) Then (Goto Z) End If

      By generating an IsNot operator, such that Not(A Is B)===(A IsNot B), you're re-ordering the sentance:

      If (A IsNot B) Then (Goto Z) End If

      That's what they're trying to patent. The use of a keyword rather than boolean logic. I rather hope and suspect this patent will fail for insufficient inventive step.
  • by kuwan (443684) on Friday November 19 2004, @09:53AM (#10863876) Homepage
    If ever there were an example of how completely broken and useless the current patent system is then this is it. This makes you think, what other obvious and trivial functions have been granted patents? Can I get a patent on strcmp? I'll just apply for a patent on my new, special function that I just recently came up with. It's called StringCompare!

    As I right this my colleagues are writing up patent applications for the !=, ==, &&, ||, &, and | operators. I expect these applications to be granted shortly, after which we'll own all your code and Microsoft will be my bitch.

    --
    Sounds like a scam, but it works. [wired.com]
    Free Flat Screens [freeflatscreens.com] | Free iPod Photo [freephotoipods.com] |
    • by N Monkey (313423) on Friday November 19 2004, @10:06AM (#10864016)
      If ever there were an example of how completely broken and useless the current patent system is then this is it.

      Before you burst a blood vessel, this appears to only be a patent application, not a granted patent.

      The USPTO "recently" changed its rules (to match the rest of the world) and no publishes applications before they are granted.
  • Elegance. (Score:5, Funny)

    by Moby Cock (771358) on Friday November 19 2004, @10:01AM (#10863970) Homepage
    There is a sublime although disturbing elegance in the fact that it is illogical to allow MS to patent a logic operator

    I am currently trying to patent multiplication so all of you owe me a nickel everytime you times.
  • by borkus (179118) on Friday November 19 2004, @10:04AM (#10864002) Homepage

    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!

  • by yeremein (678037) on Friday November 19 2004, @10:09AM (#10864046)
    I know some patent applications are obfuscated enough that USPTO workers can't tell whether they're patentable so they just rubber stamp them--but this is absurd. If it weren't on uspto.gov, I'd assume it was a hoax.

    The != operator does essentially the same thing in C++, and it's been around for decades. Why is applying a well-known, absolutely trivial concept to another domain patentable? Heads should roll at the USPTO for this.
  • by unfortunateson (527551) on Friday November 19 2004, @10:11AM (#10864069) Journal
    This really boils down to a RTFA, but I'll expound here:

    First off, the IsNot operator is not part of VB 6.0 or VB.net 2003 (I haven't checked 2005, which is still in Beta)

    Second, if you undestand VB's "Is" operator, IsNot makes more sense.

    "Is" is a memory location comparison commonly used to see if two variables point to the same object, e.g.
    objThisControl Is objTheControlICareAbout
    . It does not compare the values of the variables, only that they are pointers to the same object.

    Because there is no inverse version of this operator like there is with "=" and "", you end up with non-natural-language statements such as
    If Not (objThisControl Is objTheControlICareAbout) Then
    Much more natural looking is
    If objThisControl IsNot objTheControlICareAbout Then
    Whether this is patentable is another issue. But you can certainly patent a published idea -- it's the only way to protect it.
  • by serviscope_minor (664417) on Friday November 19 2004, @10:18AM (#10864144)
    10 DIM A 10
    15 REM this is equivalent to A=malloc(10)
    20 B=A ... ...
    100 IF BA THEN ...

    So this tests to see if two variables point to the same memory location, in a variant of Basic which has been in use since about 1982.

    BBC Basic supports pointers, proper indirection, indexed indirection and dynamic allocation.

  • by grungeman (590547) on Friday November 19 2004, @10:20AM (#10864154)
    http://www.panopticoncentral.net/archive/2003/11/1 7/243.aspx#Comments [panopticoncentral.net]

    And he writes that they "had requests for this in the past", so they did not even invent it, but some users suggested it.

    Finally check out the comments of the VB users below wetting their pants for this little feature. Now isn't that really sad?

  • by originalhack (142366) on Friday November 19 2004, @10:28AM (#10864233)

    So, just sent a registered letter to the patent examiner with a registered copy to the attorneys pointing out that there is prior art for claim one. this 1998 ISO comment [davros.org], this 1997 IBM document [umn.edu] or a few zillion others.

  • by de la mettrie (27199) on Friday November 19 2004, @11:06AM (#10864611)
    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.

    • by servoled (174239) on Friday November 19 2004, @10:15AM (#10864106)
      Each claims stands alone. So, only claim 2 would be limited to BASIC, while claims 1, 3 and 4 would apply to any programming language.

      The dependent claims (2, 3 and 4) are merely shorthand to avoid writing the entire claim out each time, but for purposes of what they cover, you should read the claims like this:
      1. 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.


      2. 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, wherein the compiler is a BASIC-derived programming language compiler.

      3. 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, wherein the operator is IsNot.

      4. 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, wherein the compiler comprises a scanner, a parser, an analyzer and an executable-generator.
    • by ajakk (29927) on Friday November 19 2004, @10:18AM (#10864143) Homepage
      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).

    • Re:Attention Europe (Score:5, Interesting)

      by Zocalo (252965) on Friday November 19 2004, @10:17AM (#10864137) Homepage
      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... :)

      • Re:Prior art (Score:5, Insightful)

        by Waffle Iron (339739) on Friday November 19 2004, @10:20AM (#10864155)
        Python also has this operator:

        a is not b

        Microsoft's incredible insight here seems to involve taking Python's 10-year old technology, porting it to BASIC, and heavily optimizing it by removing the whitespace sytactic sugar between 'is' and 'not'. (This saves over 16% space!)

        If anything was more worthy of patent protection, I don't know what it could be.

        Actually, it's pretty obvious that the motivation for such a stupid little patent that applies to one language is simply to prevent people from reimplementing the language as a whole. Nobody cares about IsNot itself, including Microsoft. However, since 100% code compatibility is required to do a full reimplementation, this essentially would grant them a 20-year monopoly on compatible implementations of VB.

        This is one of the worst things about the current patent system. Patent holders are allowed to use patents on small things to control access to huge things. Patents should somehow be changed to only protect the claims in the patent, they should not be allowed to use compatibility issues to amplify small patents into generalized barriers to entry of a whole industry.

        • Re:Prior art (Score:5, Interesting)

          by Phillup (317168) on Friday November 19 2004, @10:47AM (#10864428)
          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.