Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch.embedded > #26401

Re: Dynamic upgrading/Hot-swapping a service

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>

Show all headers | View raw


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


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