PATENT WARNING: Batch System Calls
PATENT WARNING: Batch System Calls
Hi,
Starting from 2007 (I think - I couldn't find anything earlier), on multiple occasions I've suggested the use of "batch system calls"; where the caller creates a list of kernel API functions, calls the kernel once, and the kernel processes this list (mostly to avoid "CPL=3 -> CPL=0 -> CPL=3" switching overheads).
It turns out that Redhat Inc. patented this idea in 2012, and it was granted.
If you've used my idea in some way and your kernel is open source; then you should be covered by Redhat's "patent promise" (at least for the foreseeable future, until/unless they change their mind and/or sell the patent to someone else).
However, if (like me) your work is not open source, then you aren't covered by the "patent pledge", and (like me) you're screwed and can't use my idea.
Note: I am not claiming to be the only person to have thought of this idea; and (because it really is quite obvious) multiple people could have thought of it before I did. I'm mostly only warning people that following my suggestion might not be wise in hindsight.
Cheers,
Brendan
Starting from 2007 (I think - I couldn't find anything earlier), on multiple occasions I've suggested the use of "batch system calls"; where the caller creates a list of kernel API functions, calls the kernel once, and the kernel processes this list (mostly to avoid "CPL=3 -> CPL=0 -> CPL=3" switching overheads).
It turns out that Redhat Inc. patented this idea in 2012, and it was granted.
If you've used my idea in some way and your kernel is open source; then you should be covered by Redhat's "patent promise" (at least for the foreseeable future, until/unless they change their mind and/or sell the patent to someone else).
However, if (like me) your work is not open source, then you aren't covered by the "patent pledge", and (like me) you're screwed and can't use my idea.
Note: I am not claiming to be the only person to have thought of this idea; and (because it really is quite obvious) multiple people could have thought of it before I did. I'm mostly only warning people that following my suggestion might not be wise in hindsight.
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
-
- Member
- Posts: 5587
- Joined: Mon Mar 25, 2013 7:01 pm
Re: PATENT WARNING: Batch System Calls
Your forum posts may be detailed enough to be considered prior art and invalidate their patent. Contact a patent lawyer (if you can afford it).
Re: PATENT WARNING: Batch System Calls
Hi,
Cheers,
Brendan
I'd assume (I really don't know) that after the patent is granted it's much harder to challenge, and that because I'm able to edit posts (including other people's posts) the evidence probably isn't strong enough.Octocontrabass wrote:Your forum posts may be detailed enough to be considered prior art and invalidate their patent. Contact a patent lawyer (if you can afford it).
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
Re: PATENT WARNING: Batch System Calls
To be realistic, it's pretty much impossible to create a substantial OS with treading on somebody's patent toes. Much of the basic technology (filesystems, memory management, security, user interfaces, etc.) has been implemented (and patented) so many times before that you're very unlikely to build anything truly "new" that's never been thought of. Even the big players who have been in the business for decades (Microsoft, Apple, IBM, Google, etc.) regularly face legal threats and they have entire departments dedicated to avoiding patent infringement.
The good news, however, is that patent trolls are in it to make money. They're not going to waste theirs perusing someone who doesn't have any to give them. Unless you're making significant money selling your OS or related products, you won't attract their attention. Just to be sure, if you are selling your OS, make sure you're doing it through your jurisdiction's version of a "private limited company"; this will ensure that if you do get into legal trouble you can fold up the company with the minimum of personal liability. (This advice constitutes the personal opinion of someone who claims no expertise in the field, consult a lawyer before taking any action.)
The good news, however, is that patent trolls are in it to make money. They're not going to waste theirs perusing someone who doesn't have any to give them. Unless you're making significant money selling your OS or related products, you won't attract their attention. Just to be sure, if you are selling your OS, make sure you're doing it through your jurisdiction's version of a "private limited company"; this will ensure that if you do get into legal trouble you can fold up the company with the minimum of personal liability. (This advice constitutes the personal opinion of someone who claims no expertise in the field, consult a lawyer before taking any action.)
Re: PATENT WARNING: Batch System Calls
I vaguely remember someone proposing on alt.os.development the idea of not apps calling system calls, but the OS calling app's routines. That was years ago, not sure when exactly. I wonder how much different that idea is.
Re: PATENT WARNING: Batch System Calls
To the contrary, the EFF has a whole program going to challenge already-granted patents: https://www.eff.org/patent-busting You might be able to get help there.Brendan wrote:I'd assume (I really don't know) that after the patent is granted it's much harder to challenge, and that because I'm able to edit posts (including other people's posts) the evidence probably isn't strong enough.
- Schol-R-LEA
- Member
- Posts: 1925
- Joined: Fri Oct 27, 2006 9:42 am
- Location: Athens, GA, USA
Re: PATENT WARNING: Batch System Calls
So would Massalin's 1989 paper, as batching system calls (along with short-circuiting them) was an integral part of Synthesis. I doubt it was new even then, however. It is the sort of thing that they would have used as far back as CTSS and ITS in the 1960s (two of the first operating systems on hardware with separate privilege rings), and I would be astonished if it weren't used in Multics. It seems like less a matter of 'prior art' than of 'common lore' - something so basic no one bothered to document it, at least until someone thought there was money to be made from it.Octocontrabass wrote:Your forum posts may be detailed enough to be considered prior art and invalidate their patent. Contact a patent lawyer (if you can afford it).
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
- drunkenfox
- Member
- Posts: 46
- Joined: Tue Mar 13, 2012 10:46 pm
Re: PATENT WARNING: Batch System Calls
I'm glad something like this exists. Software patents are an absolute cancer. But the real cancer is thing like simple shapes being patented. *cough*apple*cough*Rusky wrote:To the contrary, the EFF has a whole program going to challenge already-granted patents: https://www.eff.org/patent-busting You might be able to get help there.Brendan wrote:I'd assume (I really don't know) that after the patent is granted it's much harder to challenge, and that because I'm able to edit posts (including other people's posts) the evidence probably isn't strong enough.
;goodbye OS, hello BIOS
mov eax, FFFFFFF0h
jmp eax
mov eax, FFFFFFF0h
jmp eax
Re: PATENT WARNING: Batch System Calls
What a rubbish patent, just basic performance stuff; batch processing.
Ali
Ali
Re: PATENT WARNING: Batch System Calls
They got you covered https://www.google.com/patents/US20130275997 (at least, it looks like it's the same idea >_>)alexfru wrote:I vaguely remember someone proposing on alt.os.development the idea of not apps calling system calls, but the OS calling app's routines. That was years ago, not sure when exactly. I wonder how much different that idea is.
-
- Member
- Posts: 273
- Joined: Sun Oct 09, 2016 4:38 am
- Libera.chat IRC: NunoLava1998
Re: PATENT WARNING: Batch System Calls
Agree with you 100%.sleazayfox wrote:I'm glad something like this exists. Software patents are an absolute cancer. But the real cancer is thing like simple shapes being patented. *cough*apple*cough*Rusky wrote:To the contrary, the EFF has a whole program going to challenge already-granted patents: https://www.eff.org/patent-busting You might be able to get help there.Brendan wrote:I'd assume (I really don't know) that after the patent is granted it's much harder to challenge, and that because I'm able to edit posts (including other people's posts) the evidence probably isn't strong enough.
Developing TRIODIUM OS. Or call it Dixium if you want. It doesn't matter.
https://github.com/NunoLava1998/DixiumOS
https://github.com/NunoLava1998/DixiumOS
-
- Member
- Posts: 273
- Joined: Sun Oct 09, 2016 4:38 am
- Libera.chat IRC: NunoLava1998
Re: PATENT WARNING: Batch System Calls
I've seen Microsoft and 3 other companies have had this patent or tried to claim this patent before, the oldest being in October 2007. However, your thread links to a August 2007 thread, so possibly you can reclaim this or remove this patent.
Developing TRIODIUM OS. Or call it Dixium if you want. It doesn't matter.
https://github.com/NunoLava1998/DixiumOS
https://github.com/NunoLava1998/DixiumOS
Re: PATENT WARNING: Batch System Calls
How is this idea not just a display list, like OpenGL used to have before 2.0 - ie, it's been deprecated already! - or like any window manager since Windows 2.0 or so? Or like TCL/TK? Or dozens of other examples?
- Schol-R-LEA
- Member
- Posts: 1925
- Joined: Fri Oct 27, 2006 9:42 am
- Location: Athens, GA, USA
Re: PATENT WARNING: Batch System Calls
I don't think you get the idea here. This isn't a list in the sense of a pulldown menu; it wouldn't be visible to the user at all. It is a list in the sense of a collection such as an array or linked list.Candy wrote:How is this idea not just a display list, like OpenGL used to have before 2.0 - ie, it's been deprecated already! - or like any window manager since Windows 2.0 or so? Or like TCL/TK? Or dozens of other examples?
Basically, the idea is that if an application is making several system calls (e.g., reading data from several configuration files), the program (or, more likely, the underlying library) would batch the system calls into a single call which would pass the list containing entries for each operation and its arguments, rather than making several calls in succession. The OS could then perform the series of operations without the overhead of repeated privilege and context switches.
By way of analogy, consider buffered I/O streams. Most I/O libraries buffer their operations in the application space, and will merge output operations on a single source into a single write until either the buffer is full, the application flushes or forces the buffer, or some operation dependent on the write is performed. Similarly, input functions will read a full buffer in on the first system call and pass data from that buffer until it is exhausted.
However, what Brendan is talking about is a more general facility which could be applied to any series of system calls, 'buffering' the calls themselves rather than the input or output. It is also less amenable to a purely automatic approach, but it can be at least partly automated, as Massalin showed.
A semi-manual version of this which could be exposed to the application developer might consist of creating a kind of 'system call transaction frame' in which system calls would be kept in abeyance until the last one is ready, similar to a transaction in some database systems, and could even be rolled back if some problem arose, in a way similar to an exception.
Code: Select all
transaction
{
system_call_x();
system_call_y();
if (foo)
{
system_call_z();
}
if (bar)
{
rollback bar_rollback();
else if (quux)
{
rollback quux_rollback();
}
else
{
system_call_w();
}
}
catch_rollback(rollback_bar)
{
}
catch_rollback(rollback_quux)
{
}
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
Re: PATENT WARNING: Batch System Calls
I want to patent buddy allocator!