PATENT WARNING: Batch System Calls

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

PATENT WARNING: Batch System Calls

Post by Brendan »

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. :x

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.
Octocontrabass
Member
Member
Posts: 5587
Joined: Mon Mar 25, 2013 7:01 pm

Re: PATENT WARNING: Batch System Calls

Post by Octocontrabass »

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).
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: PATENT WARNING: Batch System Calls

Post by Brendan »

Hi,
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).
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.


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.
mallard
Member
Member
Posts: 280
Joined: Tue May 13, 2014 3:02 am
Location: Private, UK

Re: PATENT WARNING: Batch System Calls

Post by mallard »

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.)
Image
alexfru
Member
Member
Posts: 1112
Joined: Tue Mar 04, 2014 5:27 am

Re: PATENT WARNING: Batch System Calls

Post by alexfru »

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.
User avatar
Rusky
Member
Member
Posts: 792
Joined: Wed Jan 06, 2010 7:07 pm

Re: PATENT WARNING: Batch System Calls

Post by Rusky »

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.
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.
User avatar
Schol-R-LEA
Member
Member
Posts: 1925
Joined: Fri Oct 27, 2006 9:42 am
Location: Athens, GA, USA

Re: PATENT WARNING: Batch System Calls

Post by Schol-R-LEA »

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).
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.
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.
User avatar
drunkenfox
Member
Member
Posts: 46
Joined: Tue Mar 13, 2012 10:46 pm

Re: PATENT WARNING: Batch System Calls

Post by drunkenfox »

Rusky wrote:
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.
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.
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* [-X
;goodbye OS, hello BIOS
mov eax, FFFFFFF0h
jmp eax
tsdnz
Member
Member
Posts: 333
Joined: Sun Jun 16, 2013 4:09 am

Re: PATENT WARNING: Batch System Calls

Post by tsdnz »

What a rubbish patent, just basic performance stuff; batch processing.

Ali
User avatar
Sik
Member
Member
Posts: 251
Joined: Wed Aug 17, 2016 4:55 am

Re: PATENT WARNING: Batch System Calls

Post by Sik »

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.
They got you covered https://www.google.com/patents/US20130275997 (at least, it looks like it's the same idea >_>)
NunoLava1998
Member
Member
Posts: 273
Joined: Sun Oct 09, 2016 4:38 am
Libera.chat IRC: NunoLava1998

Re: PATENT WARNING: Batch System Calls

Post by NunoLava1998 »

sleazayfox wrote:
Rusky wrote:
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.
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.
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* [-X
Agree with you 100%.
Developing TRIODIUM OS. Or call it Dixium if you want. It doesn't matter.

https://github.com/NunoLava1998/DixiumOS
NunoLava1998
Member
Member
Posts: 273
Joined: Sun Oct 09, 2016 4:38 am
Libera.chat IRC: NunoLava1998

Re: PATENT WARNING: Batch System Calls

Post by NunoLava1998 »

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
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Re: PATENT WARNING: Batch System Calls

Post by Candy »

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?
User avatar
Schol-R-LEA
Member
Member
Posts: 1925
Joined: Fri Oct 27, 2006 9:42 am
Location: Athens, GA, USA

Re: PATENT WARNING: Batch System Calls

Post by Schol-R-LEA »

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?
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.

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)
{

}
I don't know if Brendan actually had something like this in mind, but it does give some flavor of how it might be used in a higher-level language's syntax. There's no specific reason to have a special syntax for it, though it could prove useful.
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.
User avatar
Ycep
Member
Member
Posts: 401
Joined: Mon Dec 28, 2015 11:11 am

Re: PATENT WARNING: Batch System Calls

Post by Ycep »

I want to patent buddy allocator!
Post Reply