OSDev.org

The Place to Start for Operating System Developers
It is currently Sat Apr 27, 2024 6:50 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 20 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: PATENT WARNING: Batch System Calls
PostPosted: Wed Oct 26, 2016 3:27 am 
Offline
Member
Member
User avatar

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


Top
 Profile  
 
 Post subject: Re: PATENT WARNING: Batch System Calls
PostPosted: Wed Oct 26, 2016 3:37 am 
Offline
Member
Member

Joined: Mon Mar 25, 2013 7:01 pm
Posts: 5146
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).


Top
 Profile  
 
 Post subject: Re: PATENT WARNING: Batch System Calls
PostPosted: Wed Oct 26, 2016 4:04 am 
Offline
Member
Member
User avatar

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


Top
 Profile  
 
 Post subject: Re: PATENT WARNING: Batch System Calls
PostPosted: Wed Oct 26, 2016 4:16 am 
Offline
Member
Member

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


Top
 Profile  
 
 Post subject: Re: PATENT WARNING: Batch System Calls
PostPosted: Wed Oct 26, 2016 4:24 am 
Offline
Member
Member

Joined: Tue Mar 04, 2014 5:27 am
Posts: 1108
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.


Top
 Profile  
 
 Post subject: Re: PATENT WARNING: Batch System Calls
PostPosted: Wed Oct 26, 2016 9:17 am 
Offline
Member
Member
User avatar

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

_________________
[www.abubalay.com]


Top
 Profile  
 
 Post subject: Re: PATENT WARNING: Batch System Calls
PostPosted: Wed Oct 26, 2016 11:31 am 
Offline
Member
Member
User avatar

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


Top
 Profile  
 
 Post subject: Re: PATENT WARNING: Batch System Calls
PostPosted: Wed Oct 26, 2016 7:50 pm 
Offline
Member
Member
User avatar

Joined: Tue Mar 13, 2012 10:46 pm
Posts: 46
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


Top
 Profile  
 
 Post subject: Re: PATENT WARNING: Batch System Calls
PostPosted: Wed Oct 26, 2016 11:58 pm 
Offline
Member
Member

Joined: Sun Jun 16, 2013 4:09 am
Posts: 333
What a rubbish patent, just basic performance stuff; batch processing.

Ali


Top
 Profile  
 
 Post subject: Re: PATENT WARNING: Batch System Calls
PostPosted: Thu Oct 27, 2016 1:22 am 
Offline
Member
Member
User avatar

Joined: Wed Aug 17, 2016 4:55 am
Posts: 251
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 >_>)


Top
 Profile  
 
 Post subject: Re: PATENT WARNING: Batch System Calls
PostPosted: Thu Oct 27, 2016 1:24 am 
Offline
Member
Member

Joined: Sun Oct 09, 2016 4:38 am
Posts: 273
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


Top
 Profile  
 
 Post subject: Re: PATENT WARNING: Batch System Calls
PostPosted: Thu Oct 27, 2016 1:27 am 
Offline
Member
Member

Joined: Sun Oct 09, 2016 4:38 am
Posts: 273
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


Top
 Profile  
 
 Post subject: Re: PATENT WARNING: Batch System Calls
PostPosted: Fri Oct 28, 2016 12:50 pm 
Offline
Member
Member
User avatar

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


Top
 Profile  
 
 Post subject: Re: PATENT WARNING: Batch System Calls
PostPosted: Fri Oct 28, 2016 3:09 pm 
Offline
Member
Member
User avatar

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


Top
 Profile  
 
 Post subject: Re: PATENT WARNING: Batch System Calls
PostPosted: Fri Oct 28, 2016 3:19 pm 
Offline
Member
Member
User avatar

Joined: Mon Dec 28, 2015 11:11 am
Posts: 401
I want to patent buddy allocator!


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 20 posts ]  Go to page 1, 2  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: Bing [Bot], deblokc, eekee, Google [Bot] and 24 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group