If I design a new process for synthesizing a chemical, I can patent it. The patent does not describe the implementation, only the abstract process. A chemical engineer may design an implementation of that process, which is protected by copyright. Similarly, an algorithm (which is a process) may be patented but there may be several implementations of that algorithm that have a copyright.
There is an unfortunate myth that an implementation of a patented process being protected by copyright is unique to software. It most certainly isn't. In the chemical process patent area it is quite common to license a patent from one party and license a copyright for an implementation from another. In fact, this is generally how all patents work.
Someone mentioned that having one syscall that sends multiple udp messages is patented. That is ridiculous IMO. It meets the guideline you lay out: you can define the abstract process of calling a method of an API then that itself sends out UDP messages. However, it's blatantly obvious to all programmers. But probably not to lawyers. Pretty much all software is blatantly obvious and trivial to implement. Microsoft's patent on long filenames is another example. Software is trivial to implement. Want long filenames? A high school student can do it.
However, with chemistry, it is nontrivial. It is not a matter of writing code that a CPU runs instantaneously. You have to devise a method on paper, try it(sorry, a cpu won't mix chemicals), go back to the drawing board. Vs software, where it's trivial so millions of people have probably already coded what you thought was novel.
That happens often with software: I come up with an imaginative awesome new algorithm, only to learn, it has been done before. that's because I work in a line of work that is trivial. We're glorified code monkeys, and we don't deserve to be awarded patents by any means.