Software Patent of the Week: Google Earth vs. Skyline

by on June 16, 2006 · 36 comments

This week’s software patent is held by Skyline Software Systems, a “leading provider of network-based 3D Earth visualization software and service.” Naturally, Google Earth is one of its primary competitors. Google Earth was originally developed by Keyhole, which Google acquired in October 2004.

When Google acquired Keyhole, it inherited a legal spat with Skyline as well. Last week, the judge in the case declined to order Google Earth shut down pending the outcome of the litigation. But the case goes on.

According to CNet, the patent in question is this one. It describes:

A method of providing data blocks describing three-dimensional terrain to a renderer. The data blocks belong to a hierarchical structure which includes blocks at a plurality of different resolution levels. The method includes receiving from the renderer one or more coordinates in the terrain along with indication of a respective resolution level, providing the renderer with a first data block which includes data corresponding to the one or more coordinates, from a local memory, and downloading from a remote server one or more additional data blocks which include data corresponding to the one or more coordinates if the provided block from the local memory is not at the indicated resolution level.

Is this an obvious patent?


I think it clearly is. Organizing data hierarchically is a well-known computer science technique, and any reasonably smart programmer, if he were asked to write a flight simulator, would probably come up with a data structure like this to accomplish the task. If any of the geeks reading this think there’s a nuance I’m missing, please let me know.

But what I want to highlight about this patent is the bind it puts honest programmers in. Here’s one of the things claimed by the patent:

14. Apparatus for providing data blocks describing three-dimensional terrain to a render, the data blocks belonging to a hierarchical structure which includes blocks at a plurality of different resolution levels, the apparatus comprising: a local memory which stores data blocks corresponding to coordinates proximal to a current viewpoint of the renderer; a communication link, through which the memory receives the data blocks from a remote server; a processor which receives one or more specified coordinates along with indication of a respective resolution level from a renderer, provides the renderer with a first data block which includes data corresponding to the one or more specified coordinates from a local memory, and downloads over the communication link blocks of lower resolution levels before blocks of higher resolution levels which include data corresponding to the one or coordinates if the first block is not from the indicated level.

That’s one of 24 different claims, most of which are as long and complex as this one. Now, let’s say I was planning to write a flight simulator, and that I’d discovered this patent and wanted to avoid infringing it. (If I’m a hobbyist or startup, even finding the patent is implausible, given that I probably don’t have the resources to hire a patent lawyer to do the patent search, but let’s say I’ve done that) The question is: how different does my algorithm have to be to avoid infringing on Skyline’s patent?

After all, every flight simulator is going to have most of the elements claimed in this patent. Storing data about your terrain in “data blocks” and passing it to the renderer as needed is just the logical way to build this kind of program. And storing pre-rendered data blocks hierarchically at different resolutions is an obvious optimization trick. Are those elements broad enough to infringe the patent? If so, this patent effectively gives Skyline a monopoly on the creation of realistic flight simulators. Which seems weird, since there were lots of flight simulators on the market prior to Skyline’s patent filing.

If the fit has to be closer than that, how close does it have to be? Can I tweak some minor details of the design (say, having the “blocks” be hexagonal instead of rectangular) and avoid liability? If I don’t actually use a hierarchical data structure, but simulate one using some other data structure, does that make me safe? Most importantly, how would I know? The language of the patent is vague enough that it’s not clear what most of the terms mean.

In short, even if a programmer knows about this patent, he has no clear guidance on what counts as infringement. He could invest a great deal of time and effort coming up with weird ways to implement the same functionality without using “blocks” and “hierarchies,” but because those terms haven’t been defined clearly, he really has no way of knowing how a future judge might interpret them. As a result, he’s probably better off ignoring the patent, implementing the software in a straightforward manner, and hoping that his company will get bought out by a company with a good legal team by the time Skyline gets around to suing them.

Fortunately, there’s a much clearer language available for describing computer algorithms. It’s called source code. And, as luck would have it, our intellectual property system already has a robust mechanism for protecting source code: it’s called copyright. If Skyline’s “invention” is truly novel and non-obvious, then the copyright on its source code should prevent anyone from making unauthorized copies. On the other hand if I’m right that this is just the logical, obvious way to write a flight simulator, then lots of companies will independently “invent” the same data structure. That’s too bad for Skyline, but if lots of companies are independently “inventing” the same data structure, it’s probably too obvious to patent anyway!

  • http://www.WhatToFix.com Daniel Markham

    Interesting post. As a software architect who has recently had to learn a lot about patents in order to get one, the patent system is broken, no doubt. Having said that, there is a place for the truly non-obvious and useful software patents. The problem is that making the decision of what works and what doesn’t is a tough call. That’s what your lawyer is supposed to be for, to keep you from polluting the system.

    You asked a question about how to program a flight simulator — “After all, every flight simulator is going to have most of the elements claimed in this patent”

    Well. I think you answered your own question. Since Flight Simulators have been around for more than a dozen years, there’s really nothing to worry about, is there?

    Scanning the patent, it’s not just hierarchical data structures, which ARE trivial. It’s also the ability to project from a random 3-D point and it’s the process of caching and processing the blocks that are also unique.

    It looks somebody did a a lot of hard work to put together this patent, to be honest. That amount of work is not trivial at all, and no, I don’t think any CS grad would logically come up with what they have. Personally I don’t think it rises to the level it needs to be anywhere near valid, but obviously somebody must think differently or there wouldn’t be a court case, right? I mean the FS prior art alone throws out a lot of the claims. And you can claim anything, after all. (that’s why you shouldn’t read the claims, btw. They’re all total BS) The enabling text must have some meat in there somewhere — I’m betting it’s the caching mechanism.

    I remember when I first started reviewing patents as part of my prior art seach. Reading the claims, it was a wonder that people could program at all! But my attorney pointed out that it is the enabling text that really describes what the patent is, not the claims. The claims are just stakes that the applicant tries to stick in the ground to identify his property. People claim all kinds of silly nonsense.

  • Anonymous

    Surprise. Another shaky software patent. In response to the previous comment: I’m quite sure neither the caching nor streaming are novel.

    Streaming and caching have been around for years and are standard practice and method to get a large quantity of data through a small pipe or for getting a portion of a much larger data set into a small area of memory. Of course, caching has been used for years since it’s PART OF COMPUTING and not the purview of one company.

    Is the adaptiveness unique? Of course not. Hello? Are They Serious? [VOMIT] To the previous poster: I’m sure you sleep better at night, Mr. Patent. Maybe the inventor of the data structure should have patented his or her invention. That way you could pay him or her royalties. How would you like that? You should get down on your knees and thank god for the generosity of people who didn’t patent their work. Have you ever used an array? How about a linked list? Software patents are going to seriously damage the software industry.

  • http://www.WhatToFix.com Daniel Markham

    I said that the patent didn’t rise to the level of non-obviousness. Get a grip and switch to decaf.

    The peculiar combination of caching a hierarchical data structure is something I haven’t seen before. It’s all ones and zeros, so no matter what, people will say it is obvious. If I came back from a thousand years in the future and told you how to make artificial intelligence, the minute I explained it, somebody would be whining about how obvious it was. That’s just the way it’s always going to work with computer technology.

    Learn. Read up some. Arguing at extremes is always stupid.

  • http://www.WhatToFix.com Daniel Markham

    Interesting post. As a software architect who has recently had to learn a lot about patents in order to get one, the patent system is broken, no doubt. Having said that, there is a place for the truly non-obvious and useful software patents. The problem is that making the decision of what works and what doesn’t is a tough call. That’s what your lawyer is supposed to be for, to keep you from polluting the system.

    You asked a question about how to program a flight simulator — “After all, every flight simulator is going to have most of the elements claimed in this patent”

    Well. I think you answered your own question. Since Flight Simulators have been around for more than a dozen years, there’s really nothing to worry about, is there?

    Scanning the patent, it’s not just hierarchical data structures, which ARE trivial. It’s also the ability to project from a random 3-D point and it’s the process of caching and processing the blocks that are also unique.

    It looks somebody did a a lot of hard work to put together this patent, to be honest. That amount of work is not trivial at all, and no, I don’t think any CS grad would logically come up with what they have. Personally I don’t think it rises to the level it needs to be anywhere near valid, but obviously somebody must think differently or there wouldn’t be a court case, right? I mean the FS prior art alone throws out a lot of the claims. And you can claim anything, after all. (that’s why you shouldn’t read the claims, btw. They’re all total BS) The enabling text must have some meat in there somewhere — I’m betting it’s the caching mechanism.

    I remember when I first started reviewing patents as part of my prior art seach. Reading the claims, it was a wonder that people could program at all! But my attorney pointed out that it is the enabling text that really describes what the patent is, not the claims. The claims are just stakes that the applicant tries to stick in the ground to identify his property. People claim all kinds of silly nonsense.

  • Anonymous

    Surprise. Another shaky software patent. In response to the previous comment: I’m quite sure neither the caching nor streaming are novel.

    Streaming and caching have been around for years and are standard practice and method to get a large quantity of data through a small pipe or for getting a portion of a much larger data set into a small area of memory. Of course, caching has been used for years since it’s PART OF COMPUTING and not the purview of one company.

    Is the adaptiveness unique? Of course not. Hello? Are They Serious? [VOMIT] To the previous poster: I’m sure you sleep better at night, Mr. Patent. Maybe the inventor of the data structure should have patented his or her invention. That way you could pay him or her royalties. How would you like that? You should get down on your knees and thank god for the generosity of people who didn’t patent their work. Have you ever used an array? How about a linked list? Software patents are going to seriously damage the software industry.

  • http://www.WhatToFix.com Daniel Markham

    I said that the patent didn’t rise to the level of non-obviousness. Get a grip and switch to decaf.

    The peculiar combination of caching a hierarchical data structure is something I haven’t seen before. It’s all ones and zeros, so no matter what, people will say it is obvious. If I came back from a thousand years in the future and told you how to make artificial intelligence, the minute I explained it, somebody would be whining about how obvious it was. That’s just the way it’s always going to work with computer technology.

    Learn. Read up some. Arguing at extremes is always stupid.

  • http://www.techliberation.com/ Tim

    It looks somebody did a a lot of hard work to put together this patent, to be honest. That amount of work is not trivial at all, and no, I don’t think any CS grad would logically come up with what they have. Personally I don’t think it rises to the level it needs to be anywhere near valid, but obviously somebody must think differently or there wouldn’t be a court case, right? I mean the FS prior art alone throws out a lot of the claims. And you can claim anything, after all. (that’s why you shouldn’t read the claims, btw. They’re all total BS) The enabling text must have some meat in there somewhere — I’m betting it’s the caching mechanism.

    I don’t claim there’s nothing meritorious about Skylink’s software–I’m sure it’s great software that deserves to do very well in the marketplace. But I don’t think every worthwhile product deserves a patent monopoly. In this case, I think the protections of copyright law are quite sufficient to ensure that no Skyline has the opportunity to make a profit on their investment. And it avoids squelching competition if another company (say, Keyhole) independently discovers the same techniques.

  • Ted

    The patent is obviously a bad one.

    And it isn’t clear what could possibly be a good software patent. No one has been able to show me one yet. The best that proponents of software patents have been able to muster is that specific software patents must be good if they helped create some company or revenue stream (such as RSA), but such an argument is clearly circular and absurd — equivalent to Ed Felten’s Pizzaright argument (http://www.freedom-to-tinker.com/?p=902)

    That isn’t to say that everyone who has a software patent is a loon. The truth is that many employers aggresively encourage patenting of obvious, trivial, and overly broad patents. And there are many other reasons to play by the current rules (which encourage the same). BUT, it does say alot about the validity of the system itself, and that’s what we are debating here.

    So, anyone, care to point out what you think is a rock-solid good software patent?

    Here’s what you’d have to argue: 1) it isn’t obvious: the detail of the patent couldn’t have possibly been independently re-discovered within the 20-year monopoly time frame, since grant, 2) it isn’t overly broad: the patent carves out a specific, well-defined border between its discoveries and the discoveries of other patents, 3) it isn’t trivial: others couldn’t have discovered the same invention if given the same problem, 4) it is without prior art: none of the claims have been practiced by others in the industry.

    Any takers?

  • Ted

    It looks somebody did a a lot of hard work to put together this patent, to be honest.

    Work done putting together a patent application shouldn’t be considered. The quality of a patent should be determined by the cleverness invovled and the difficulty in discovering the invention, not the number of hours logged by the patent attorney and the applicant on honing the definitions, nor the hours spent doing the back-n-forth with the patent examiner.

    The entire purpose of the patent system is to benefit the public through disclosure of the invention, to provide and incentive against just locking it up indefinitely as a trade secret. If the invention couldn’t have achieved protection through trade secret in the first place, the invention doesn’t deserve patent protection.

    (I’m not talking about reverse engineering or inadvertent disclosure of the invention, through, for example, production of an end product — I’m talking about the idea itself. If the discovery couldn’t have been squirelled away for at least 20 years with no one else discovering it, it doesn’t deserve patent protection. Period).

  • http://www.techliberation.com/ Tim

    It looks somebody did a a lot of hard work to put together this patent, to be honest. That amount of work is not trivial at all, and no, I don’t think any CS grad would logically come up with what they have. Personally I don’t think it rises to the level it needs to be anywhere near valid, but obviously somebody must think differently or there wouldn’t be a court case, right? I mean the FS prior art alone throws out a lot of the claims. And you can claim anything, after all. (that’s why you shouldn’t read the claims, btw. They’re all total BS) The enabling text must have some meat in there somewhere — I’m betting it’s the caching mechanism.

    I don’t claim there’s nothing meritorious about Skylink’s software–I’m sure it’s great software that deserves to do very well in the marketplace. But I don’t think every worthwhile product deserves a patent monopoly. In this case, I think the protections of copyright law are quite sufficient to ensure that no Skyline has the opportunity to make a profit on their investment. And it avoids squelching competition if another company (say, Keyhole) independently discovers the same techniques.

  • Ted

    The patent is obviously a bad one.

    And it isn’t clear what could possibly be a good software patent. No one has been able to show me one yet. The best that proponents of software patents have been able to muster is that specific software patents must be good if they helped create some company or revenue stream (such as RSA), but such an argument is clearly circular and absurd — equivalent to Ed Felten’s Pizzaright argument (http://www.freedom-to-tinker.com/?p=902)

    That isn’t to say that everyone who has a software patent is a loon. The truth is that many employers aggresively encourage patenting of obvious, trivial, and overly broad patents. And there are many other reasons to play by the current rules (which encourage the same). BUT, it does say alot about the validity of the system itself, and that’s what we are debating here.

    So, anyone, care to point out what you think is a rock-solid good software patent?

    Here’s what you’d have to argue: 1) it isn’t obvious: the detail of the patent couldn’t have possibly been independently re-discovered within the 20-year monopoly time frame, since grant, 2) it isn’t overly broad: the patent carves out a specific, well-defined border between its discoveries and the discoveries of other patents, 3) it isn’t trivial: others couldn’t have discovered the same invention if given the same problem, 4) it is without prior art: none of the claims have been practiced by others in the industry.

    Any takers?

  • Ron

    In response to Daniel’s post, regardless of how much work someone did to write up the patent I have to disagree as to prior art and obviousness;

    “It’s also the ability to project from a random 3-D point and it’s the process of caching and processing the blocks that are also unique.”

    Nonsense. The ability to project from a random 3D point is a function of ANY 3D renderer, and there have been many that predate this patent. As to caching and processing at different resolutions, that is not only necessarily obvious, but is routinely implemented in many games, and indeed, almost any program that needs to optimize 3D data for speed.

  • Ted

    It looks somebody did a a lot of hard work to put together this patent, to be honest.

    Work done putting together a patent application shouldn’t be considered. The quality of a patent should be determined by the cleverness invovled and the difficulty in discovering the invention, not the number of hours logged by the patent attorney and the applicant on honing the definitions, nor the hours spent doing the back-n-forth with the patent examiner.

    The entire purpose of the patent system is to benefit the public through disclosure of the invention, to provide and incentive against just locking it up indefinitely as a trade secret. If the invention couldn’t have achieved protection through trade secret in the first place, the invention doesn’t deserve patent protection.

    (I’m not talking about reverse engineering or inadvertent disclosure of the invention, through, for example, production of an end product — I’m talking about the idea itself. If the discovery couldn’t have been squirelled away for at least 20 years with no one else discovering it, it doesn’t deserve patent protection. Period).

  • Ron

    In response to Daniel’s post, regardless of how much work someone did to write up the patent I have to disagree as to prior art and obviousness;

    “It’s also the ability to project from a random 3-D point and it’s the process of caching and processing the blocks that are also unique.”

    Nonsense. The ability to project from a random 3D point is a function of ANY 3D renderer, and there have been many that predate this patent. As to caching and processing at different resolutions, that is not only necessarily obvious, but is routinely implemented in many games, and indeed, almost any program that needs to optimize 3D data for speed.

  • Steve R.

    I think that one aspect of what can be patented has fallen by the wayside; the requirement for a working model. My vague memories of what can be patented limited patents to a tangible item, such as a water pump. You could design and patent a water pump. But others could still design and sell their own water pumps provided that they did not use your actual design.

    Patents today seem to be an abstract discussion of a vague concept. The water pump patent in this case is “for a device that intakes water and then ejects the water using a variety of mechanical methods”. Based on this type of language, patent holder’s now assert that no one else has a legitimate right to build a water pump without paying them a royalty.

    I would advocate that patents only be granted for “working models”. Some companies may protest that they would have to disclose trade secrets, but then again you don’t have seek a patent. Patents, to a degree, are a means protecting the patent holder when trade secrets accidently enter the public domain or are otherwise discovered by others doing similar research.

  • Steve R.

    I think that one aspect of what can be patented has fallen by the wayside; the requirement for a working model. My vague memories of what can be patented limited patents to a tangible item, such as a water pump. You could design and patent a water pump. But others could still design and sell their own water pumps provided that they did not use your actual design.

    Patents today seem to be an abstract discussion of a vague concept. The water pump patent in this case is “for a device that intakes water and then ejects the water using a variety of mechanical methods”. Based on this type of language, patent holder’s now assert that no one else has a legitimate right to build a water pump without paying them a royalty.

    I would advocate that patents only be granted for “working models”. Some companies may protest that they would have to disclose trade secrets, but then again you don’t have seek a patent. Patents, to a degree, are a means protecting the patent holder when trade secrets accidently enter the public domain or are otherwise discovered by others doing similar research.

  • Anonymous

    “The peculiar combination of caching a hierarchical data structure is something I haven’t seen before. It’s all ones and zeros, so no matter what, people will say it is obvious.”

    Uh. Mr. Patent, I think you need to read up some more. A lot more. Combining a hierarchical data structure and caching the results? Peculiar???Unique??? ARE YOU SERIOUS?

    How’s this for obvious.

    Hmm. I wonder if, perhaps in 1980 or so, a programmer working for a bank ever decided that instead of searching every name in their database for their customer named John Roberts, that they might start with last names beginning with R. That would require them to create a hierarchical list of names. Then perhaps someone decided to cache those names so that the server didn’t have to spit them out again each time the bank teller checked a name.

    You do a great job illustrating your own ignorance. Yes, this graphics patent is specialized and it could very well exceed the scope of your experience. Fine. I get that. But the techniques involved have been done FOR YEARS. It’s just not novel. It’s ridiculous to suggest that it’s novel, or even partially novel, or even peculiar. At any rate, I could make a very long list of prior art, but perhaps check out Performer, on the Silicon Graphics web site. Performer and/or OpenFlight had this functionality in the middle or late 80′s. YES. There was prior art at least TEN years before this worthless patent was issued. [And probably a lot longer.]

    Yet you are part of the patent crowd, so I have to assume that you’re saying this simply to justify your own bad behavior. [Bad behavior = patenting software when your work is based on the work of others.] You still haven’t answered my question on how you would feel if the person who invented the linked list had patented his idea and charged everyone who wanted to use a linked list. Or an array. Or a compiler. Or a pointer.

    I bet there’s a lot of prior art for your patent as well. What…did you invent a “Buy Right Now” feature that lets people instantly purchase an item by dragging a selection rectangle around the item they wish to purchase. No doubt, your “unique” feature is that the user can terminate the process by moving the mouse so that a fence is not drawn around the item. OOOH. NEAT. Then, you decided that taking advantage of the overworked patent office would be cool.

    Your ability to develop software and “patent it” is supported by the *generous* work of thousands of individuals. People like you should simply hang up your keyboard. The industry would be better off without you.

  • Anonymous

    “The peculiar combination of caching a hierarchical data structure is something I haven’t seen before. It’s all ones and zeros, so no matter what, people will say it is obvious.”

    Uh. Mr. Patent, I think you need to read up some more. A lot more. Combining a hierarchical data structure and caching the results? Peculiar???Unique??? ARE YOU SERIOUS?

    How’s this for obvious.

    Hmm. I wonder if, perhaps in 1980 or so, a programmer working for a bank ever decided that instead of searching every name in their database for their customer named John Roberts, that they might start with last names beginning with R. That would require them to create a hierarchical list of names. Then perhaps someone decided to cache those names so that the server didn’t have to spit them out again each time the bank teller checked a name.

    You do a great job illustrating your own ignorance. Yes, this graphics patent is specialized and it could very well exceed the scope of your experience. Fine. I get that. But the techniques involved have been done FOR YEARS. It’s just not novel. It’s ridiculous to suggest that it’s novel, or even partially novel, or even peculiar. At any rate, I could make a very long list of prior art, but perhaps check out Performer, on the Silicon Graphics web site. Performer and/or OpenFlight had this functionality in the middle or late 80′s. YES. There was prior art at least TEN years before this worthless patent was issued. [And probably a lot longer.]

    Yet you are part of the patent crowd, so I have to assume that you’re saying this simply to justify your own bad behavior. [Bad behavior = patenting software when your work is based on the work of others.] You still haven’t answered my question on how you would feel if the person who invented the linked list had patented his idea and charged everyone who wanted to use a linked list. Or an array. Or a compiler. Or a pointer.

    I bet there’s a lot of prior art for your patent as well. What…did you invent a “Buy Right Now” feature that lets people instantly purchase an item by dragging a selection rectangle around the item they wish to purchase. No doubt, your “unique” feature is that the user can terminate the process by moving the mouse so that a fence is not drawn around the item. OOOH. NEAT. Then, you decided that taking advantage of the overworked patent office would be cool.

    Your ability to develop software and “patent it” is supported by the *generous* work of thousands of individuals. People like you should simply hang up your keyboard. The industry would be better off without you.

  • Anonymous

    As a software architect who has recently had to learn a lot about patents in order to get one

    As a Software Architect you should appreciate the efforts of those before you who have enabled you to achieve what you have thusfar, you should not be deluging the software industry with more useless patents that prohibit the innovation of other Architects who are builing on the same foundations that you are.

    it’s not just hierarchical data structures, which ARE trivial. It’s also the ability to project from a random 3-D point

    Frustrum projection is the cornerstone of 3D programming. Without it, there IS NO 3D programming since the 3D effect is achieved by the projection of a Scene onto a 2D plane (your screen) from an arbitrary 3D point (the Camera viewpoint).

    E.g. all first person shooters (and pretty much everything else as well), from Wolfenstein 3D that was released in the 80s to Doom 3 that was released a few years ago, use this concept.

    and it’s the process of caching and processing the blocks that are also unique.

    The process of caching and processing data blocks is a basic pattern in all programming, you are not a programmer unless you can apply a technique to accomplish read, buffer, write cycle. Unless Skyline has a very unintuitive manner in which they have accomplished this, and they have described this in their patent, I really can`t fathom how such a thing can be patentable. Since it is so elemental to programming.

    The peculiar combination of caching a hierarchical data structure is something I haven’t seen before.

    Ummm… I hope I am misunderstanding you, because any Software Architect should be able to design software that utilizes a cached data structure. N way set associative cache for example. Or how about a hashtable of bsp trees? Come on, if somebody patented this principle then I`m out of a job.

    And as Ron noted:

    As to caching and processing at different resolutions, that is not only necessarily obvious, but is routinely implemented in many games, and indeed, almost any program that needs to optimize 3D data for speed.

    One such technique is called mip-mapping and is a graphics technique that has been in use for almost 2 decades.

  • Anonymous

    As a software architect who has recently had to learn a lot about patents in order to get one

    As a Software Architect you should appreciate the efforts of those before you who have enabled you to achieve what you have thusfar, you should not be deluging the software industry with more useless patents that prohibit the innovation of other Architects who are builing on the same foundations that you are.

    it’s not just hierarchical data structures, which ARE trivial. It’s also the ability to project from a random 3-D point

    Frustrum projection is the cornerstone of 3D programming. Without it, there IS NO 3D programming since the 3D effect is achieved by the projection of a Scene onto a 2D plane (your screen) from an arbitrary 3D point (the Camera viewpoint).

    E.g. all first person shooters (and pretty much everything else as well), from Wolfenstein 3D that was released in the 80s to Doom 3 that was released a few years ago, use this concept.

    and it’s the process of caching and processing the blocks that are also unique.

    The process of caching and processing data blocks is a basic pattern in all programming, you are not a programmer unless you can apply a technique to accomplish read, buffer, write cycle. Unless Skyline has a very unintuitive manner in which they have accomplished this, and they have described this in their patent, I really can`t fathom how such a thing can be patentable. Since it is so elemental to programming.

    The peculiar combination of caching a hierarchical data structure is something I haven’t seen before.

    Ummm… I hope I am misunderstanding you, because any Software Architect should be able to design software that utilizes a cached data structure. N way set associative cache for example. Or how about a hashtable of bsp trees? Come on, if somebody patented this principle then I`m out of a job.

    And as Ron noted:

    As to caching and processing at different resolutions, that is not only necessarily obvious, but is routinely implemented in many games, and indeed, almost any program that needs to optimize 3D data for speed.

    One such technique is called mip-mapping and is a graphics technique that has been in use for almost 2 decades.

  • http://wookware.org/ Wookey

    The meat of this patent has been well-covered above, but I will just remark on the disconnect between what most of us would describe as a ‘good’ software patent, and the way the patent system actually works.

    Ted said:

    Here’s what you’d have to argue: 1) it isn’t obvious: the detail of the patent couldn’t have possibly been independently re-discovered within the 20-year monopoly time frame, since grant,

    That’s not how the patent system works. There is no presumption that ‘not obvious’ has anything to do with the 20 year term. This is not specific to software. You will find that the ‘obviousness’ (or ‘inventive step’) hurdle is tiny in all fields. Because even a clever invention may look ‘obvious’ after you are shown it, patent examiners feel obliged to assume that almost anything might be non-obvious. The only way to properly deal with this problem is to ask some actual experts in the field ‘how would you solve this problem’, and see if they come up with the solution in say, a few days.

    There are some moves towards this in the US, at least for software, and it could make a big difference to how broken things are in the future, depending on how the USPTO actually uses the info.

    I realise you are specifying how things _should_ be, not how they are, but the gulf is currently absolutely enormous, which is why I too have never seen a software patent that was actually a net benefit to society. The more I see of the patent system the more I am inclined to believe that the whole thing is broken, not just software.

    4) it is without prior art: none of the claims have been practiced by others in the industry.

    Again, in practice it is extrememly difficult to get the USPTO, or a court, to accept any prior art that is not in the form of a patent or a published paper. And it is no good showing that each element of a claim has been used or published somewhere before. You have to show that _all_ the elements have been practised before in one bit of software, or published in two papers _that reference each other_.

    The bent wire is a good example. Patent people believe that a bent wire used for lighting boilers is a totally new invention even if bent wires for egg extraction were well-known. So the egg extractor will not be deemed prior art in a boiler-lighter case. To software people, where the idea of abstraction is fundamental, this makes no sense, as it is quite obvious that a concept can be use for an infinite number of purposes and in a multitude of fields.

    This ‘old idea in new field’ concept is a fundamental tenet of the patent system, and when you apply it to software means that using a whole load of obvious stuff together in an area where that particular combo has not been used before _is_ a patentable invention, and that it is remarkably hard to find ‘prior art’ because you can probably only find all the same software used for something slightly different, or a slightly different set of software used for this thing. Neither of those are good enough.

    The way that software is created from a set of often well-known concepts to do a new job is antithetical to the tenets of the patent system, at least as it has come to be practised. This is a good part of the reason why programmers and patent lawyers find each other incomprehensible. They both find it very hard to understand where the other is coming from.

    Fortunately the world is slowly coming to see what a mess the patent system is in. The US is a poster child for the rest of the world, and it is beginning to look possible that the rest of the world will be saved from at least tthe worst excesses of the US system. This still leaves a great deal of room for improvement in terms of getting the rules somewhere a bit closer to the ideal that Ted posted, from the current appalling reality.

  • http://wookware.org/ Wookey

    The meat of this patent has been well-covered above, but I will just remark on the disconnect between what most of us would describe as a ‘good’ software patent, and the way the patent system actually works.

    Ted said:

    Here’s what you’d have to argue: 1) it isn’t obvious: the detail of the patent couldn’t have possibly been independently re-discovered within the 20-year monopoly time frame, since grant,

    That’s not how the patent system works. There is no presumption that ‘not obvious’ has anything to do with the 20 year term. This is not specific to software. You will find that the ‘obviousness’ (or ‘inventive step’) hurdle is tiny in all fields. Because even a clever invention may look ‘obvious’ after you are shown it, patent examiners feel obliged to assume that almost anything might be non-obvious. The only way to properly deal with this problem is to ask some actual experts in the field ‘how would you solve this problem’, and see if they come up with the solution in say, a few days.

    There are some moves towards this in the US, at least for software, and it could make a big difference to how broken things are in the future, depending on how the USPTO actually uses the info.

    I realise you are specifying how things _should_ be, not how they are, but the gulf is currently absolutely enormous, which is why I too have never seen a software patent that was actually a net benefit to society. The more I see of the patent system the more I am inclined to believe that the whole thing is broken, not just software.

    4) it is without prior art: none of the claims have been practiced by others in the industry.

    Again, in practice it is extrememly difficult to get the USPTO, or a court, to accept any prior art that is not in the form of a patent or a published paper. And it is no good showing that each element of a claim has been used or published somewhere before. You have to show that _all_ the elements have been practised before in one bit of software, or published in two papers _that reference each other_.

    The bent wire is a good example. Patent people believe that a bent wire used for lighting boilers is a totally new invention even if bent wires for egg extraction were well-known. So the egg extractor will not be deemed prior art in a boiler-lighter case. To software people, where the idea of abstraction is fundamental, this makes no sense, as it is quite obvious that a concept can be use for an infinite number of purposes and in a multitude of fields.

    This ‘old idea in new field’ concept is a fundamental tenet of the patent system, and when you apply it to software means that using a whole load of obvious stuff together in an area where that particular combo has not been used before _is_ a patentable invention, and that it is remarkably hard to find ‘prior art’ because you can probably only find all the same software used for something slightly different, or a slightly different set of software used for this thing. Neither of those are good enough.

    The way that software is created from a set of often well-known concepts to do a new job is antithetical to the tenets of the patent system, at least as it has come to be practised. This is a good part of the reason why programmers and patent lawyers find each other incomprehensible. They both find it very hard to understand where the other is coming from.

    Fortunately the world is slowly coming to see what a mess the patent system is in. The US is a poster child for the rest of the world, and it is beginning to look possible that the rest of the world will be saved from at least tthe worst excesses of the US system. This still leaves a great deal of room for improvement in terms of getting the rules somewhere a bit closer to the ideal that Ted posted, from the current appalling reality.

  • http://www.brownianemotion.org Avi Bar-Ze’ev

    Since I was involved with the development of Keyhole’s original technology, I won’t comment on the claims that anyone “stole” anything.

    But I will say that I feel the skyline patent, though containing a few fairly well-known techniques, isn’t sufficient to do what the patent claims for the scales we’re talking about.
    Besides non-obviousness and novelty, a good patent needs to actually disclose a usable invention.

    Whether or not they knew how to really solve the problems in a scalable way, they didn’t put enough of it in the patent, IMO, for anyone to copy, licensed or otherwise. My feeling is that using what they seem to describe as their IP would not save a knowlegable engineer any time, but lead a less knowledgable one to an inefficient system that might not scale up to a continent, let alone the whole earth for thousands of simultaneous users.

    I feel it says a lot that they apparently haven’t yet launched a truly global rendering system like Google Earth (they apparently have something in beta — the patent was filed in 1999).

    I have more on this on my blog (see link below).

  • http://www.brownianemotion.org Avi Bar-Ze’ev

    Since I was involved with the development of Keyhole’s original technology, I won’t comment on the claims that anyone “stole” anything.

    But I will say that I feel the skyline patent, though containing a few fairly well-known techniques, isn’t sufficient to do what the patent claims for the scales we’re talking about.
    Besides non-obviousness and novelty, a good patent needs to actually disclose a usable invention.

    Whether or not they knew how to really solve the problems in a scalable way, they didn’t put enough of it in the patent, IMO, for anyone to copy, licensed or otherwise. My feeling is that using what they seem to describe as their IP would not save a knowlegable engineer any time, but lead a less knowledgable one to an inefficient system that might not scale up to a continent, let alone the whole earth for thousands of simultaneous users.

    I feel it says a lot that they apparently haven’t yet launched a truly global rendering system like Google Earth (they apparently have something in beta — the patent was filed in 1999).

    I have more on this on my blog (see link below).

  • Ed

    The problem with software patents is that there are no ideas which will be discovered by any single individual, and not be discovered independantly by someone else before the week is out, let alone 20 years. The industry moves *far* too fast for patents to be useful to the industry.

    Useful to people trying to make money off the industry, certainly – but at the cost of slowing the pace of the industry.

  • Ed

    The problem with software patents is that there are no ideas which will be discovered by any single individual, and not be discovered independantly by someone else before the week is out, let alone 20 years. The industry moves *far* too fast for patents to be useful to the industry.

    Useful to people trying to make money off the industry, certainly – but at the cost of slowing the pace of the industry.

  • MidNight Mapper

    Yikes patented method… always a problem when those who follow, follow. Once someone shows you the way, it “always” seems so obvious?

    It is not always the obvious claim but rather the tautology that resides in the claims and their linkages. All claims do not need to be unique; their merit may lie in how they relate to the “real” patented method(s). You are likely barking up the wrong tree… in this case the wrong claim? The patent likely resides elsewhere away from the obvious?

    To beat a patent what has to happen is for each claim to be knocked off in order to discover the real patentable portions. Back when I was foolish to suggest a patent was invalid, it used to be around $25,000 per claim or for 28 claims that makes at a minimum a $700,000 battle. I understand in today’s patent courts, the cost per claim is running around $130,000+ each give-or-take. Can’t knock out the “key” claims in the tautology – whoops looks like you loose?

    What may be more difficult is the extension of licensed OEM of the Skyline patent. That endorses the patent-holder’s position of validity… why would anyone pay a license if the “patent” was obvious? Unless they provide for recovery of the license fees if the patent is found not to be valid. The choice then becomes do we license the code or do we license the patent and compete on an efficiency level?

    Some have called patent challenges “the sport of Kings” and if there are 28 claims to knock-out at even $100,000 per, then be prepared for a three million dollar patent challenge. Chances of winning? Last I saw the rule of thumb on knocking down an awarded patent was less than one out of twenty… Doesn’t seem like a good gamble unless you are going after Google… unless they too have asked to license the patent rather than the code? What is a problem then is once you agree to provide a patented method by license, if anyone else wants to license and the patent holder will not provide favored-nation like terms, then the patent holder can quickly find themselves up the proverbial “dung” creek? Just ask John Deere about this one… I believe it was J Deere versus White?

  • MidNight Mapper

    Yikes patented method… always a problem when those who follow, follow. Once someone shows you the way, it “always” seems so obvious?

    It is not always the obvious claim but rather the tautology that resides in the claims and their linkages. All claims do not need to be unique; their merit may lie in how they relate to the “real” patented method(s). You are likely barking up the wrong tree… in this case the wrong claim? The patent likely resides elsewhere away from the obvious?

    To beat a patent what has to happen is for each claim to be knocked off in order to discover the real patentable portions. Back when I was foolish to suggest a patent was invalid, it used to be around $25,000 per claim or for 28 claims that makes at a minimum a $700,000 battle. I understand in today’s patent courts, the cost per claim is running around $130,000+ each give-or-take. Can’t knock out the “key” claims in the tautology – whoops looks like you loose?

    What may be more difficult is the extension of licensed OEM of the Skyline patent. That endorses the patent-holder’s position of validity… why would anyone pay a license if the “patent” was obvious? Unless they provide for recovery of the license fees if the patent is found not to be valid. The choice then becomes do we license the code or do we license the patent and compete on an efficiency level?

    Some have called patent challenges “the sport of Kings” and if there are 28 claims to knock-out at even $100,000 per, then be prepared for a three million dollar patent challenge. Chances of winning? Last I saw the rule of thumb on knocking down an awarded patent was less than one out of twenty… Doesn’t seem like a good gamble unless you are going after Google… unless they too have asked to license the patent rather than the code? What is a problem then is once you agree to provide a patented method by license, if anyone else wants to license and the patent holder will not provide favored-nation like terms, then the patent holder can quickly find themselves up the proverbial “dung” creek? Just ask John Deere about this one… I believe it was J Deere versus White?

  • http://http:/0zu.tw/ shorturl

    4fff49e6d3cf Good work shorturl shorturl

  • shorturl

    4fff49e6d3cf Good work shorturl shorturl

  • http://www.abc-acupuncture.com/baxqorav tramadol

    81e31de21f46 Hello! tramadol tramadol

  • http://www.abc-acupuncture.com/baxqorav tramadol

    81e31de21f46 Hello! tramadol tramadol

  • http://www.abc-acupuncture.com/baxqorav tramadol

    81e31de21f46 Great work tramadol tramadol

  • http://www.abc-acupuncture.com/baxqorav tramadol

    81e31de21f46 Great work tramadol tramadol

  • http://www.abc-acupuncture.com/juzjoste work at home

    81e31de21f46 Hi work at home work at home
    mortgage home loan mortgage home loan
    chase home mortgage chase home mortgage
    equity home loan equity home loan
    chase auto finance chase auto finance
    credit report credit report
    cic credit report cic credit report
    michigan lawyer michigan lawyer
    real estate agent real estate agent
    business voip business voip

  • http://www.abc-acupuncture.com/juzjoste work at home

    81e31de21f46 Hi work at home work at home
    mortgage home loan mortgage home loan
    chase home mortgage chase home mortgage
    equity home loan equity home loan
    chase auto finance chase auto finance
    credit report credit report
    cic credit report cic credit report
    michigan lawyer michigan lawyer
    real estate agent real estate agent
    business voip business voip

Previous post:

Next post: