Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
Patents GUI Microsoft Programming Software IT Technology Your Rights Online

You Might Be a Microsoft Patent Infringer 102

theodp writes "Do you use drop-down menus, alphanumerical input boxes, check boxes, radio buttons or sliders to allow client side-processing of data? Utilize SQL, HTML, ActiveX, Java, Perl, JavaScript or JScript to do so? Employ arrays, stacks, queues, linked lists, or decision trees to organize things? Well Bunky, you might be infringing on Microsoft's new patent for Dynamically adjusting data values and enforcing valid combinations of the data in response to remote user input, which the USPTO granted Tuesday after 6+ years and two rejections."
This discussion has been archived. No new comments can be posted.

You Might Be a Microsoft Patent Infringer

Comments Filter:
  • by jack's wasted liver ( 821583 ) on Wednesday October 13, 2004 @03:09PM (#10515944)
    "Microsoft Patents 1, 0"
    • as seen in The Onion (but cached elsewhere [])
      • Best quote from the Onion "article":
        "Think of this as a partnership," Gates said. "Like the ones and zeroes of the binary code itself, we must all work together to make the promise of the computer revolution a reality. As the world's richest, most powerful software company, Microsoft is number one. And you, the millions of consumers who use our products, are the zeroes."
    • MS's 5 steps plan, (c) 1984 by Bill Gates:

      1- If you can't patent oxygen, patent its use. If you can't patent its use, patent its use at a remote location - deny any prior art.

      2- Get a restraining order for astronauts on Mars not to use oxygen in remote locations without being owned by MS first; the patent will be invalidated in less than 5 minutes. If the astronauts manage to survive, patent their heating system for the next 5 minutes after that. If that doesn't work, patent Mars rock analysis to make the
  • by Nagatzhul ( 158676 ) on Wednesday October 13, 2004 @03:13PM (#10515988)
    will be hard to prove on this one. Good grief. What is next, a patent on oxygen?
    • > Good grief. What is next, a patent on oxygen?

      Of course not, silly! You can't patent a thing... But do keep your eyes out for my patent on my new process for "using oxygen in a reaction with hydrocarbon compounds via enzymatic biological processes to generate energy to perpetuate living tissue."

      God will have to license my patent, or I'll sue...

      - Peter
    • Well... someone patented the 37 hour work-week, and got it.. so who knows.
  • wow (Score:4, Funny)

    by GeoffKerr ( 821626 ) <slash@geoffker r . com> on Wednesday October 13, 2004 @03:14PM (#10516000)
    That's the biggest load of crap I've ever heard. They might as well try patenting the advanced, new technology called "thought"... that way they don't have to file a patent for anything new in the future when they want to take control over any new ideas. Next thing we know, they will be trying to take credit for writing Romeo and Juliet and say that it's been embedded in the Windows source since before Shakespeare was born.
    • Re:wow (Score:1, Funny)

      by Methlin ( 604355 )
      Next thing we know, they will be trying to take credit for writing Romeo and Juliet and say that it's been embedded in the Windows source since before Shakespeare was born.
      Well Microsoft's Windows programmers are the proverbial infinite number of monkeys banging away at typewriters (keyboards), so I don't see why not.
    • this is a sad commentary on our patent system.

      It may seem that there's loads of prior art against this patent but I don't think Microsoft's goal is to actually win a patent lawsuit against FOSS. They would get just as good results by making sure that FOSS organizations are buried in legal battles for a very long time. For that reason alone, I'm still scared for Free/Open Source software...

    • Next thing we know, they will be trying to take credit for writing Romeo and Juliet

      Don't worry, Willy Wagglestick didn't write Romeo and Juliet himself either (he was illiterate) so there's prior art. :-)

  • Prior Art? (Score:4, Insightful)

    by Bonewalker ( 631203 ) on Wednesday October 13, 2004 @03:14PM (#10516006)
    Isn't there a plethora of prior art out there to disprove that this is a "new" idea that Microsoft, of all companies, came up with?

    And look at this quote from the abstract: As such, the user can dynamically adjust the set of results and sub-items from a remote location. The system and method of the present invention preferably utilizes client-side processing to achieve real time interaction.

    How can it be from a remote location if it is happening on the client-side? That would seem very local to me. But what do I know?

  • So the idea behind this password is basically input checking over the web, the twist on it appears to be that in order to get around bandwidth limitations the input checking code is downloaded to the client, this way the client can change the options around without having to communicate with the server every time an option is changed.

    OK, perhaps there isn't prior art for this specific implementation but I remember learning about the concept of checking for valid user input and adjusting things accordingly

    • Anybody who knows even the first thing about web-based applications knows you still have to do every bit as much validation on the server-side, regardless of what validation you do on the client-side, because the client can never be trusted to send back valid input. Client-side validation is a convenience for the client. Nothing more.
  • by Vaevictis666 ( 680137 ) on Wednesday October 13, 2004 @03:18PM (#10516059)
    from the patent application:

    What is claimed is:
    1. A method for dynamically displaying pricing data on a client display device...

    Note that that's a 1, meaning that's the patent request at its broadest. Once you get past the abstract, according to claim 1 there is required to be client-server communication, a price list, and rules for combining them.

    This patent would likely apply to a typical linux distro installation package manager (handling dependencies etc) that was (a) run online, (b) charged prices, and (c) did dependency checking on the form itself before submission.

    Hell, I doubt that even Linspire's Click'n'Run violates it...

  • Slash FUD (Score:5, Insightful)

    by ahknight ( 128958 ) * on Wednesday October 13, 2004 @03:23PM (#10516139)
    That's just a stupid, stupid interpretation of the patent. After reading the patent you will notice that it's about using client-side scripting to enable or disable conflicting form component values based on the current values of other components all specifically in the context of "pricing information" retrieved from the server. After reading the full description it's basically something they thought of when designing Carpoint (now []) so that after each selection (year, model, etc.) you didn't hit the server for the values for the next item. Very popular these days, but not so much in 1998 when this was filed.

    One such system is a server database with a used car price guide for access by a remote user. First, the remote user makes an initial request to access results, such as pricing information for a particular car. After the remote user makes the initial request, the server collects sub-items, such as options relating to the particular car, and transmits the options to the remote user. The remote user is then required to select options for building an option configuration. If the option selections are invalid or conflict, the server notifies the user that the selections are invalid and then retransmits the options to the user. This validation step is repeated until the remote user submits valid option selections and an option configuration without conflicts. When the selection is valid, the server collects pricing information based on the option selections and overall configuration. The pricing information built from the selected options is then transmitted to the remote user.


    Specifically, first, a user requests information from a remote computer and then results of the requested information are collected at a host computer. Second, the results, sub-items and rules of enforcement of the sub-items relating to the request are transmitted from the host to the remote computer in a format that is preferably encoded and transparent to the remote user. Third, the results are remotely processed in response to user interaction of the results and sub-item selection and configuration. The processed results are dynamically adjusted and displayed as the user interacts with the results and the sub-items. Sub-item conflicts are prevented by enforcement of the transmitted rules of sub-item combinations and predefined interactive options. Graphical user interface control devices are used to allow user interaction and adjustment of the results. For example, alphanumerical boxes, drop-down menus, check boxes, radio buttons or the like can be used. The system and method of the present invention preferably utilizes client side-processing of the results instead of server-side processing. This enables the user to quickly access and adjust information dynamically and in real time without server delays.

    Still a crappy thing to patent, I totally agree, but hardly every damned control widget in every damned language in the known fucking universe as the author hints at.

    FUD sucks, no matter who spews it.
    • disabling component depending on the value of other was some thing I did regulary in PowerBuilder using calculated attribute in datawindows around 1996. It was client/server, so it was remote. And in a datawindow, you can have a calculated attribute debending on a PowerBuilder function (using dwModify. Oh it's old, 7 years I didn't touch it), so local treatment is obvious.

      Remember, for years and years and years, SUN communication was based on : "The network is the computer".
      With such a commun slogan, how o
      • Ok, it was client/server, but were the logical rules for the enabling and disabling sent to the client over the network connection and the client trusted to enforce them for the return data? Are you sure there was -zero- network activity when you changed selections? Oh, and was this related to pricing information with incompatible data values and did it enable and disable form elements (all client-side code sent over the wire now) as you made selections?

        If so, great, that works. Honestly, I hope there i
        • I'm sure there was zero network during the update, but rereading your post (and not the F... article),
          you say the patent cover when the client is trusted to control the data. What does it mean when the patent cover bad practice ? Aren't patent suposed to be for the advancement of the arts and sciences ?

          I say it is great news for OSS. Let have Microsoft patent this and be the only one to use it. They can also patent and be the only one to use all other bad practices.
    • Sorry, it's not just a crappy thing to patent. Nor is prior art the issue here. It is so OBVIOUS to anyone versed in the art as to be ludicrous. This is the major failing of the USPTO not to have these reviewed by someone who knows the subject matter.
      • I think we worry too much. It isn't like thousands of other patents haven't been enforceable for the same reason. It's just that Micro$oft did it this time. If they were to sue someone, which it would be hard to pick just one product out of the fray, the case would get so much attention that it would be the greatest business boon that person could ever hope for. Plus, the EFF will help, I wager, so relax and hope they sue for something so silly!
    • 7. A method for dynamically displaying data values on a client computer, comprising:

      I'll paraphrase the result of (7):

      1. Request a result set
      2. Result set returned with a "control module" and "rules of enforcement of ... combinations"
      3. In response to user adjustments the control module applies the rules on the client-side in real time and dynamically displays the "processed data values"

      Claim (7) is independent of claim (1), and pertains to "data values" not just to "pricing information".

    • It would appear that there is now a patent for the statement taught in just about every software engineering school for the last 30+ years. It goes something like, "Edit Your Inputs, Build Your Outputs."

      Or in the wording of the Patent, "...enforcing valid combinations of the data in response to remote user input..., ...for dynamically adjusting data values...".

      Now if Microsoft is NOT impling "Editing", then maybe if a User errors, Microsoft will come over and use some type of, 'violence'? To "'Enforce'
    • "Very popular these days, but not so much in 1998 when this was filed."

      I say the following with all due respect: Baloney.

      I agree that the write-up for this article is pure fabrication, but it doesn't follow that Microsoft is making a claim that is even remotely valid.

      This behaviour was blindingly obvious to web application developers well before 1998. The very first question you ask when you're developing a stateless, client-server application is, 'How do I divide the work?' Updating onscreen informat

  • is interesting, an online used car lot. Microsoft has a plug-in for IE that you can download if you use their Carpoint [] website. It allows you to select a model and then change the trim and options on it and get a price. I wonder if there is code in the plugin that relates to this patent.

  • by MarkGriz ( 520778 ) on Wednesday October 13, 2004 @03:36PM (#10516337)
    which the USPTO granted Tuesday after 6+ years and two rejections

    They've successfully reduced Patent Examiner incompetence to 1 out of 3
  • by Eric Smith ( 4379 ) * on Wednesday October 13, 2004 @03:49PM (#10516537) Homepage Journal
    Digital Equipment Corporation (the remains of which are now part of HP) had an online customer ordering system in the early 1990s that did everything described in claim 1 of the patent. I'm pretty sure there were other systems in operation more than a year before the patent filing that did this as well.
  • Or doing thick-client things on a thin-client (i.e. browser).

    Send a 'large' chunk of data down to the client -- more than what will be displayed currently, including the navigation rules (graph edges) between blocks of the chunk of data, so that the client itself can enable / remove available pathways (i.e. screen controls) to navigate through the data. This saves having to perform a server round trip per each choice the user makes.

    The example use of such a novelty is their online car shopping site use. B
  • bu**sh** (Score:3, Insightful)

    by dtfinch ( 661405 ) * on Wednesday October 13, 2004 @03:58PM (#10516680) Journal
    They've patented using client side script for what exactly it was designed to be used for. Like purchasing a bicycle and then patenting the act of riding it in the normal, intended fashion.
  • Good news (Score:5, Funny)

    by vijaya_chandra ( 618284 ) on Wednesday October 13, 2004 @04:24PM (#10517013)

    Employ arrays, stacks, queues, linked lists, or decision trees to organize things?

    Finally some gain for not learning anything at school.
    Everyone loses I gain.

    • Employ arrays, stacks, queues, linked lists, or decision trees to organize things?

      Finally some gain for not learning anything at school.
      Everyone loses I gain.

      I can see that by "not learning anything" you mean also spelling. It's "Everyone loses again."

  • Fascinating... (Score:4, Insightful)

    by ratboy666 ( 104074 ) <fred_weigel AT hotmail DOT com> on Wednesday October 13, 2004 @04:26PM (#10517020) Journal
    Back in the mid-80's, I wrote a program in PROLOG. Rule sets for a character based "GUI" entry screen components were sent, based on the current task to be performed. Data validation, control layout and control enabling was done by executing the PROLOG predicates.

    Simple idea... worked well (we only had 2400 baud modems, 9600 baud was the upper end; sending only entry rules and the PROLOG was a reasonable choice).

    Took a 512K machine (at the time, a very big micro).

    This was *never* used for "pricing" -- it was used to specify typographic instruction (a slightly more advanced task, IMNSHO).

    Obviously, can be used for "pricing", "estimating", &etc. (estimating would have been the next logical use).

    Still stands as my only commercial PROLOG program.

    And the wheel goes around...

    I would think that there are other examples -- the IBM 3270 field control protocol is almost there (and I bet that it has been extended to cover this use as well). Other interesting conflicts are with Smalltalk/Squeak, and even the TCL/TK toolkit.

    So I don't think that Microsoft will dare enforce this one.


  • by ENOENT ( 25325 ) on Wednesday October 13, 2004 @04:36PM (#10517130) Homepage Journal
    Just so you know. It's not a matter of maybe.
  • .. Ford has patented the steering wheel, seats, tires, exhaust pipe,the gear shifter and red paint.
  • I'm going for a patent on a "method for utilizing a consolidated broad base of network resources to issue corrective action against a publicly accessible database of information utilized by an entity that abuses any system for legally obtaining protection on intellectual property."
  • Look on the bright side. Patents are only for 20 years and then they run out. After that it is freely duplicatable. Copyrights are forever, if the RIAA and it's obsequious servant, Congress, has its way.
  • Like this one []
  • Misintepreted? (Score:3, Informative)

    by Torienalis ( 819094 ) on Wednesday October 13, 2004 @07:23PM (#10518818)
    1."Do you use drop-down menus, alphanumerical input boxes, check boxes, radio buttons or sliders to allow client side-processing of data?" Yes, but thats not what the patent covers. It involves the use of these things, but is not a patent on them or for them.

    2."Utilize SQL, HTML, ActiveX, Java, Perl, JavaScript or JScript to do so" As above, none of these are being patented by microsoft

    3."Employ arrays, stacks, queues, linked lists, or decision trees to organize things" Again this is not what is being patented here.

    4."Microsoft's new patent for Dynamically adjusting data values and enforcing valid combinations of the data in response to remote user input Oooh, so close, but you missed again.

    The patent refers to items 1, 2 and 3, imlicitly or explicitly in their patent as things that are used to achieve the 'invention' they have 'created'
    However number 4 is the opposite. They dont adjust data values and enforce valid combinations "in response" to remote user input. They use a process that causes the remote user to apply the rules themselves in an effort to decrease the load on the server to improve the speed of access to the page.

    Also, although items 1, 2 and 3 are implicitly or explicitly mentioned in the patent, the use of them is only restricted by this patent if you do the following:

    -Use them in such a way that the infrastructure of rules and options you are interacting with is WHOLLY RUN on the client side.

    -Use them in a system that is used in relation to pricing for one or more items.

    -Returns the result to the server After the client has validated it.

    This is my interpretation of the patent after reading it. I assume that someone will soon read it even more carefully than I and debunk what I have said, but it would be nice to see the people posting articles read what they are posting about.

    Dont get me wrong, its still too broad and overreaching, but its not as broad as it has been made out to be

    Disclaimer: I am not a lawyer and this does not constitute legal advice. Nor will I accept responsibility if you are caught infringing on this patent after reading what I have typed here.
    • Okay so based on your analysis this patent covers any e-commerce form that only uses client side scripting to prompt the user to validate their entries.

      Its finally happened, Microsoft has patented shitty coding practices.

      • Re-reading the patent application It would seem that there is no provision for e-commerce in it.

        Actually paying attention to the claim statement indicates that the patent only specifies a system that assists in the selection of the data, not in returning the selected options to the server.

        For Example:
        Lets say There are a group of drop-down boxes on my page, the first is the TYPE, second is SUB-TYPE, third is SUB-TYPE2, and the fourth is OPTIONS. below these drop down boxes is a field for the display of a
  • This post is completely misleading. Whenever you look at a patent, you have to read the "What is claimed" section. In this case the patent very specifically states that in infringing system must be a client-server system involving pricing data, with loadable modules transferred across the network. Patents are only enforceable if ALL of the claimed ideas are infringed on, not ANY of them. So we are safe to continue using linked lists.
  • 1. Process in which individual cells internetwork between themselves in such a fashion that complex data structures can be stored, modified, transmitted to other cells either directly or indirectly linked, via either electrical impulses or chemical compound exchanges.
    2. Method of using process outlined in 1 to develop additional methods and or processes to create new, or expand upon existing methods and or processes.


    That should cover the basic premise of thought, thinking.

    All your IDEAS are belong
  • I mean, really, I don't have "a system and method" for doing what is described, but the browser sure does. Hell, I'm not even sure what "remote user input" means. Sounds like they're trying to apply it to something as simple as loading a new page when you click a link (e.g., note the change in "pricing data" when I offer up: Select your system: PC [] or Mac [] ). Thank goodness for their freedom to innovate, or they never could have patented the web!
  • This patent seems to cover every computer program ever written.

    Adjusting data values? Dynamically? Isn't that what all of our computers are doing right now!!

    Enforcing valid combinations? If else anyone. Sounds like input checking to me.

    Don't let all that remote stuff fool you. Remember teletypes. Remember how far away they were.

    And of course user input. Well I think MOST programs have SOME kind of user input. :E

    I mean what happens in 3482 when some archeologist digs this trash up and asserts that Micro

"I have not the slightest confidence in 'spiritual manifestations.'" -- Robert G. Ingersoll