Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.arch.embedded > #26401
| From | Don Y <blockedofcourse@foo.invalid> |
|---|---|
| Newsgroups | comp.arch.embedded |
| Subject | Re: Dynamic upgrading/Hot-swapping a service |
| Date | 2017-04-22 08:55 -0700 |
| Organization | A noiseless patient Spider |
| Message-ID | <odfu80$7i2$1@dont-email.me> (permalink) |
| References | (1 earlier) <etdjfc5q2f4kbi9pad0pk13jg8i7pvi0bo@4ax.com> <oddg5m$88a$1@dont-email.me> <a5okfc9mt5cflrtra0ejvc3graggco1od7@4ax.com> <ode98j$p8v$1@dont-email.me> <j0emfcllo3vu97a2voq4enig1lnbbnnuld@4ax.com> |
On 4/22/2017 4:09 AM, upsidedown@downunder.com wrote: > I still do not see what your actual problem is. Find a piece of software that is currently executing: your microwave oven controller, your PC (consider it a *collection* of software), your calculator, your .... Now, WHILE it is "solving some particular problem for which it was designed", pause the clock and replace all the INSTRUCTIONS in the program(s) with a new, revised program (it does <whatever> only "better" (the 8 digit calculator now handles 12 digits; the microwave oven now has 6 other types of cycles; the PC is now running Windows 11 instead of DOS 3.3; etc.) Let the clock resume. None of the actions that were running at the time the clock was PAUSED should have been affected by the upgrade. I.e., if the calculator was in the middle of computing "14!", it should continue to completion -- from wherever it happened to have been, at the time -- yielding the correct result. Note, however, that the result should now be displayed as 8.71782912*10^10 or 87178291200 and NOT as 8.7178291*10^10 to reflect the extra precision that it has internally as well as the extended "display"/reporting capability (assuming, of course, that the original executable was interrupted before any loss of precision). Put something in your microwave oven. Set the timer to X. After an arbitrary amount of time, pause the process (processor) and replace the ROMs. Resume the process. EXPECT the entire process -- start to finish -- to proceed exactly as it would have had you not replaced the ROMs! > Just swap the MAC addresses between the activating and passivating > server and the client nor the client application doesn't noticing > anything special. > > On the server side with stateless protocols such as UDP and LAT things > are quite straight forward. Communication protocols aren't the only places where state is involved. Start counting out loud. The next time you encounter a person, switch to another language. I.e., the algorithm by which you determine the next ordinal to speak has changed. But, you've still got to remember which was the *last* previously spoken! > With state full protocols like TCP, things get hairy, if the protocol > state is maintained in kernel mode, if it is not swapped out and in > into an other process with the user mode code. With the TCP stack in > user mode, this should not be a big problem. >
Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Dynamic upgrading/Hot-swapping a service Don Y <blockedofcourse@foo.invalid> - 2017-04-20 16:05 -0700
Re: Dynamic upgrading/Hot-swapping a service Don Y <blockedofcourse@foo.invalid> - 2017-04-20 16:11 -0700
Re: Dynamic upgrading/Hot-swapping a service upsidedown@downunder.com - 2017-04-21 10:45 +0300
Re: Dynamic upgrading/Hot-swapping a service Don Y <blockedofcourse@foo.invalid> - 2017-04-21 10:43 -0700
Re: Dynamic upgrading/Hot-swapping a service upsidedown@downunder.com - 2017-04-21 23:06 +0300
Re: Dynamic upgrading/Hot-swapping a service Don Y <blockedofcourse@foo.invalid> - 2017-04-21 17:51 -0700
Re: Dynamic upgrading/Hot-swapping a service upsidedown@downunder.com - 2017-04-22 14:09 +0300
Re: Dynamic upgrading/Hot-swapping a service Don Y <blockedofcourse@foo.invalid> - 2017-04-22 08:55 -0700
Re: Dynamic upgrading/Hot-swapping a service Phil Martel <pomartel@comcast.net> - 2017-04-23 13:01 -0400
Re: Dynamic upgrading/Hot-swapping a service Don Y <blockedofcourse@foo.invalid> - 2017-04-23 10:52 -0700
Re: Dynamic upgrading/Hot-swapping a service Phil Martel <pomartel@comcast.net> - 2017-04-24 10:48 -0400
Re: Dynamic upgrading/Hot-swapping a service Don Y <blockedofcourse@foo.invalid> - 2017-04-24 12:33 -0700
Re: Dynamic upgrading/Hot-swapping a service Phil Martel <pomartel@comcast.net> - 2017-04-24 22:02 -0400
Re: Dynamic upgrading/Hot-swapping a service Don Y <blockedofcourse@foo.invalid> - 2017-04-24 21:37 -0700
Re: Dynamic upgrading/Hot-swapping a service Phil Martel <pomartel@comcast.net> - 2017-04-25 12:19 -0400
Re: Dynamic upgrading/Hot-swapping a service Don Y <blockedofcourse@foo.invalid> - 2017-04-25 13:54 -0700
csiph-web