Slashdot Mirror


Microsoft's 'IsNot' Patent Continued...

An anonymous reader writes " According to the patent application--filed in mid-November by Paul Vick, lead architect for Visual Basic .Net at Microsoft; Amanda Silver, a program manager on the Visual Basic team; and an individual in Bellevue, Wash., named Costica Barsan--the IsNot operator is described as a single operator that allows a comparison of two variables to determine if the two point to the same location in memory." This article continues the tale started last november, and here is an eWeek story on the same subject.

36 of 566 comments (clear)

  1. Oh please! by BWJones · · Score: 5, Insightful

    the IsNot operator is described as a single operator that allows a comparison of two variables to determine if the two point to the same location in memory.

    Oh please. I remember our programming instructor in sixth grade teaching us about this logic operator is BASIC. This is simply an effort (albeit transparent) for Microsoft to continue to duplicate pre-existing code for Microsoft specific code to ensure that programs written with Microsoft specific tools will maintain future market share for the company. In other words, the creation of a Microsoft specific "equals" means that code years down the road will require Microsoft specific tools to edit/change/run this code. I call shenanigans! This is not innovation in any technical sense and indeed is not even innovation in a business sense.

    --
    Visit Jonesblog and say hello.
    1. Re:Oh please! by luvirini · · Score: 4, Insightful

      But it application of a basic law of monopolies: Lock in customers.

    2. Re:Oh please! by ravenspear · · Score: 4, Insightful

      This is not innovation in any technical sense and indeed is not even innovation in a business sense.

      On the contrary, it seems that being able to slip surious patents through the system is an important business skill these days. If something isn't done to clean up the USPTO it might even become an essential skill for any business's survival.

    3. Re:Oh please! by luvirini · · Score: 4, Insightful

      The business plan of this decade:
      1) Find something that is well known and patent it.
      2) Sue some big company for using your patent.

    4. Re:Oh please! by ArsenneLupin · · Score: 5, Insightful
      "IsNot" is different from "Not equal to"

      But it is the same as "Not equal to" applied to the address of the variable:

      a isNot b
      is equivalent to:
      &a != &b

      So, it's still a pretty trivial concept...

    5. Re:Oh please! by shenanigans · · Score: 5, Funny

      In other words, the creation of a Microsoft specific "equals" means that code years down the road will require Microsoft specific tools to edit/change/run this code. I call shenanigans!

      Well I can't help you. Stop calling me!

    6. Re:Oh please! by janoc · · Score: 5, Informative
      Well all LISP variants have at least four comparison predicates (and LISP predates Visual Basic by ages):

      From Lisp primer:

      = (= x y) is true if and only x and y are numerically equal.

      equal As a rule of thumb, (equal x y) is true if their printed representations are the same (i.e. if they look the same when printed). Strictly, x and y are equal if and only if they are structurally isomorphic, but for present purposes, the rule of thumb is sufficient.

      eq (eq x y) is true if and only if they are the same object (in most cases, this means the same object in memory).

      eql (eql x y) is true if and only if they are either eq or they are numbers of the same type and value.

      So what Microsoft is trying to patent is known in LISP as (not (eq a b)) for a long time already :(

    7. Re:Oh please! by WillerZ · · Score: 5, Informative

      The IsNot operator described in the patent also differentiates between objects with the same address in different memory spaces. They mentioned running a cluster-aware program which could manage objects on multiple machines simultaneously.

      So, it's equivalent to:

      ((&a != &b) && (a.host != b.host))

      Which is yet more complex but still not worth patenting a simplification on.

      --
      I guess today is a passable day to die.
    8. Re: Oh please! by Black+Parrot · · Score: 4, Informative


      > But it is the same as "Not equal to" applied to the address of the variable [...] So, it's still a pretty trivial concept...

      There's also single-operator prior art in the Scheme neq? operator.
      (I don't know whether it's standard, but it is provided by some interpreters.)

      --
      Sheesh, evil *and* a jerk. -- Jade
    9. Re:Oh please! by gstoddart · · Score: 5, Informative
      a isNot b
      is equivalent to:
      &a != &b


      Well, in C, if a and b are strings, structures, or arrays, then the variable name is the same as the address.

      Therefore a != b when you're testing if the 'two variables point to the same location in memory' is covered by friggin' PDP-11 architechture. It's basically a comparison of two integers and a BNZ (branch non-zero) instruction.

      They can make all the claims they want about how they've done all sorts of innovative stuff to make the link novel, it's still comparing a pointer reference in a programming language as far as I can seem.

      What's next, start patenting the AND, NOT, OR family of operations? I hope not!

      --
      Lost at C:>. Found at C.
    10. Re:Oh please! by Richard+W.M.+Jones · · Score: 4, Insightful

      The business plan of this decade:
      1) Find something that is well known and patent it.
      2) Sue some big company for using your patent.

      Actually, the business plan for several decades has been:

      1. Get a patent of dubious merit.
      2. Find lots and lots of companies who are too small to defend themselves, but large enough to pay out a few thousand $$, and send them a demand for royalties.
      3. Profit.

      See Patent Nonsense for an example of how this happened to Autodesk just before they went public.

      Rich.

    11. Re:Oh please! by BabyDave · · Score: 5, Funny

      They're only calling you 'cause they're too polite to call the person they really want.

    12. Re:Oh please! by Frymaster · · Score: 4, Funny
      of course, refactoring ms source code to elminate isnot should be easy.

      sed -e 's/isNot/!=/g' msCode.c > ./gnuCode.c>

    13. Re:Oh please! by Vicegrip · · Score: 4, Insightful

      I'm willing to guess that the reason Microsoft doesn't have to actually take anyone to court is that a cease-and-desist letter from a company with enough cash to sue your company, your board, your friends, your children and all your future generations without blinking even a little bit at the cost is sufficient to scare the bejezuus outta most people.

      Ask the Virtual Dub guy what he did when he got his cease-and-desist letter in the mail from Microsoft.

      --
      Do not spread "09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0" over the internet, thank you.
  2. 101101 + basic context by Council · · Score: 4, Funny

    So what's the smallest pattern of bits that Microsoft can fairly claim to hold a patent on?

    --
    xkcd.com - a webcomic of mathematics, love, and language.
    1. Re:101101 + basic context by The-Bus · · Score: 4, Funny
      --

      Small potatoes make the steak look bigger.

  3. Also today... by Thyamine · · Score: 4, Funny

    MS announced today their plans to patent the string object, the ampersand, coffee, comfy chairs, and the letter 'T'.

    --
    I will shred my adversaries. Pull their eyes out just enough to turn them towards their mewing, mutilated faces. Illyria
  4. Uh, oh. by WebMasterJoe · · Score: 5, Funny

    I'd better finish filing out my patent application for "Is" before MS finds out. It's pretty brilliant, if I do say so. "Is" compares two pointers and returns "true" if they contain the same value.

    --
    I really hate signatures, but go to my website.
  5. as was testified under oath by Anonymous Coward · · Score: 5, Funny

    It all depends on what the meaning of the word IsNot, is not.

  6. Thats nothing! by CrazyTalk · · Score: 4, Funny

    I used to work for a company that trademarked the word "xor" (that was the name of the company, now defunct, 450 souls at the height of the dot-com boom). BTW no one (outside of the computer industry) knew how to prononunce xor, so they ran a full-page ad in the Wall Street Journal explaining that it is prononuced "X like the letter, or like the word"

    1. Re:Thats nothing! by chrisvdb · · Score: 5, Funny

      "X like the letter, or like the word"

      But not both?

  7. Microsoft Patenting Non-Existence? by WombatControl · · Score: 4, Funny

    Rumor has it that Santa Claus, the Easter Bunny, the Honest Politicians Society and Slashdotters with girlfriends are all filing suit claiming that they're proof of prior art...

    In all seriousness, the fact that a patent like this is even entertained is a more than a bit disturbing. How in the world one can patent a logical operator is simply beyond me...

  8. Wow, nice bias by rabtech · · Score: 5, Informative

    I like how the submitter conveniently left out Paul's blog entry on the subject:

    http://www.panopticoncentral.net/archive/2004/11 /2 0/2321.aspx

    He says, among other things that software patents are a "bad idea" and that he did not "feel particularly proud of my involvement in the patent process in this case".

    So there you have it, from the horse's mouth.

    --
    Natural != (nontoxic || beneficial)
  9. Sue the Patent Office? by wren337 · · Score: 4, Interesting


    Let's pretend this patent goes through; could RealSoftware Inc. sue the patent office for failing in it's duty? I mean, there has to be some liability here. If Microsoft can start patenting any crazy thing with their immense resources, and then everyone else has to scramble to get these patents knocked down, something has really gone wrong. Raise the patent fees so the USPO can really examine these patents. Make them liable for costs when a patent gets stricken for being obvious.

  10. Prior art? by mrogers · · Score: 4, Funny

    Can anyone explain why IsNot != !=?

  11. I'm all for it! by Weaselmancer · · Score: 5, Insightful

    Go IsNot patent, go!

    The sooner the industry is choked with these obvious lock-out bullshit patents, the sooner development will grind to a total stop for fear of litigation. And as soon as that happens, the system will have to be reformed.

    Well, either that or we all give up tech completely and be farmers. It's in the court's hands now.

    --
    Weaselmancer
    rediculous.
  12. All we need now by ch-chuck · · Score: 5, Funny

    is for the Linux Corporation to patent the IsTo operator and the competition can devolve to a completely childish level.

    --
    try { do() || do_not(); } catch (JediException err) { yoda(err); }
  13. For all the people complaining.. by phuturephunk · · Score: 4, Insightful

    It is up to YOU the people to elect at least half-way savvy human beings who can change the system. Whining about it on /. isn't going to solve shit. For all the complaining that geek types do, I see scant few of us actually organizing and trying to make a difference.

    Do I think Microsoft should be able to patent this? Absolutely not, because I don't believe the basic core functions of the computer should be patentable. Now taking those functions and tying them together into a cohesive program should definitely be copyrightable, but patenting a computer adding two numbers together (This will happen eventually, I'll bet a C note on it) is ridiculus.

  14. Re:Ridiculous IP claims have been the death of SCO by Black+Parrot · · Score: 5, Funny


    > When they're resorting to patenting what appear to me to be boolean operations with an object-oriented twist, that's a bad sign about what real plans the company doesn't have.

    Yes, but think how useful it could be in their advertising campaign:

    IsNot reliable
    IsNot secure
    IsNot a good idea
    ...

    --
    Sheesh, evil *and* a jerk. -- Jade
  15. Prior art by hey! · · Score: 4, Informative
    OK, as others point out, *ptr != *ptr2 tests if what the ptrs point to is equal (e.g. if they both point to the value 3). Now arguably, ptr1 != ptr2 is not the same concept either, because we are testing whether two addresses have the same value. But suppose I have a C program with two structs.

    // don't try this if you want to work for me...
    struct foo {
    int x;
    int y;
    }

    struct foobar {
    int x;
    int y;
    int z;
    } // ... later on we see

    struct foobar fb;
    struct foobar *fbptr;
    struct foo *fptr;

    fb.x=1;
    fb.y=2;
    fb.z=3;

    fbptr = &fb;
    // this is a bad idea, you'd better know your machibe representation
    // if you don't want a core dump, but you CAN do it.
    fb = & ((foo) fb);

    if (fbptr != fb)
    println("this should not be seen.");
    else
    println("the pointers are equal.");


    However, I think there is a closer parallel.

    Consider the following java snippet:

    String s1 = "this is a string";
    String s2 = "This is a string";

    if (s1 != s2) {
    System.out.println("s1 is NOT s2");
    } else {
    System.out.println("s1 IS s2");
    }

    if (!s1.equals(s2)) {
    System.out.println("s1 DOESN'T equal s2");
    } else {
    System.out.println("s1 EQUALS s2");
    }


    Of course, underneath it is probably implemented with pointers, but the semantics of the != operator on reference types is defined to be object identity non-equality.

    This prints out the following:
    s1 is NOT s2
    s1 EQUALS s2

    The comparison operators in Java, when applied to reference variable types (which is everything other than built in primitive3 types) tell you whether the objects have the same identity (==) or different (!=).

    Imagine, for example, instead of a conventional virtual memory architecture, we have an architecture where we have different kinds of memory with different speeds mapped to different address ranges; say that adresses under 1 million are fast memory and addresses 1 million or over are slow memory. This is not impossible to imagine for some kind of embedded device. Suppose, in addition, the runtime system understands this and caches copies of frequently used addresses in the below 1 million range to enhance performance.

    In that case suppose we have the java expression:

    if (objRef1 != objRef2)

    In this case, a correct java implementation on this hypotethetical platform could not use a simple address comparision. If the addresses were unequal, it would have to do a further check to see if one of them were a cached version of the other.

    Y'know, a news for nerds site really ought to make it possible to post code examples without resorting to stupid tricks like this: 2qy982uoiu 3o2iu4o23iuoi23u4 23o4uo23iu ou34oi 23oi4u o2i3u4o i234 lkasdfls llflawl fasdf ssdlllle asdf foo sdalkfl adlk;jlaskdf lsadf . as;ldkf ;lkasd lk dfllelaksdf lkasjdf lkasdjf lkajsdf lkkas df asdlfkj ealksdf . asaKJ SADF SADKFJ kj kajsdfh kjashdf kjas dfk aksdjf llk jasdlkjhs adflkjh asdf lkjhsad flkjadhsf lkjh j aldksjfh lsadkjfh lkj laksdjfh lkajsdfh lkasjdfh lakjsdf laksjdfh laskjdf laskjdfh lsadkjfh iuewriuy c,m.xzb wuoery oj lkjasdf ,
    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  16. Re:Ridiculous IP claims have been the death of SCO by mrtrumbe · · Score: 4, Insightful
    I disagree.

    I think SCO had been in decline for years before resorting to frivolous IP claims. It seems to me that their business model (sell a mediocre version of Unix on highly specialized machines to retailers) wasn't working well, their profits sank and they saw the writing on the wall. In comes a new CEO known for pushing IP litigation and *bang* they have a new business model overnight.

    MS is in a different place. I think they will probably go into decline eventually, but they have a long way to go before their business model fails the way SCO's did.

    Taft

  17. What about Europe? by argent · · Score: 5, Insightful

    Hold on, if Microsoft is just developing a patent arsenal in case someone else uses software patents against them, how come thay're pushing so hard for software patents in Europe? If this is just a matter of defense, Bill Gates should be asking European ministers to oppose the software patent process, not twisting their arms to push it through against the will of the European Parliament.

    What am I missing?

  18. hear, hear! by shis-ka-bob · · Score: 4, Insightful
    I think that this is one of several patent applications for software that should be used to shame the patent office and the corporations that apply for software patents on other people's work. Consider US Patent 6,775,781, with was filed by Microsoft on August 10, 2004. From the abstract:
    A computer such as a network appliance executes an administrative security process configured to run under an administrative privilege level. Having an administrative privilege level, the administrative security process can initiate administrative functions in an operating system function library. A user process executing under a non-administrative privilege level can initiate a particular administrative function that the process would not otherwise be able to initiate by requesting that the administrative security process initiate the function. In response to a request to initiate a particular function from a process with a non-administrative privilege level, the administrative security process determines whether the requesting process is authorized to initiate the particular administrative function based on information accessed in a data store. If the requesting process is authorized, the administrative security process initiates the particular administrative function. In this manner, the administrative security process facilitates access to specific administrative functions for a user process having a privilege level that does not permit the user process to access the administrative functions.
    This is a patent on their 'runas' command. But how is this different from the 'sudo' command that has been present on Unix-like systems since 1986. ( See http://www.courtesan.com/sudo/history.html for a history of sudo.) How dare Microsoft so blatantly steal the work of others, in this case the work of Bob Coggeshall, Cliff Spencer, Garth Snyder, Bob Manchek, Trent Hein and Todd Miller. Hypocracy must be opposed, it is immoral. This is not only 'money gurbbing' at its worst, it amount to a theft of other people's work. We must all complain loudly and often to our elected officials.
    --
    Think global, act loco
  19. Re:Python by snorklewacker · · Score: 4, Insightful

    Python's 'is' operator tests the address. As does its 'is not' operator (it's distinct from "x is (not y)", a mostly meaningless op). No law says you can't have a two-token operator.

    Maybe part of Microsoft's patent is spelling it with studlyCaps.

    --
    I am no longer wasting my time with slashdot
  20. Re:Now look here... by rben · · Score: 4, Insightful

    Unfortunately, the USPTO seems to have a large rubber approve stamp to use on all MS patent applications. Microsoft has already receieved several patents of dubious merit, many of which have been talked about here in the past.

    People are still getting too caught up on the wrong thing. The problem isn't even what MS is getting a patent on. The problem is a system that allows anyone to patent software at all. Software is already protected by copyright, it had no need for patent protection as well. By allowing people to patent software, we are shooting ourselves in the foot. Innovation will grind to a halt. Who wants to spend years reviewing a large program for potential patent violations? The only companies that will be able to write software will be those that have obtained cross-licensing agreements with one another. In other words, the big companies like MS and IBM. The day of the small programming shop are numbered.

    Very few companies innovate. Most have climates that stifle innovation rather than encourage it. Large companies are good at buying up small companies that have made innovations and then turning those innovations into money makers.

    If we eliminate the small start ups that are responsible for the majority of innovations in our country, we will be giving away even more of our jobs to other countries who have more rational approaches to intellectual property protection.

    In the event we manage to force everyone to acknowledge and enforce software patents throughout the world, we'll slow the pace of innovation in technology at a time when it is needed more than ever.

    --

    -All that is gold does not glitter - Tolkien
    www.ra