Well, let us see…objectives #1 and #2 are the same, are they not? So what’s a third? …
Hmmm. Suggestions from the audience?
— Have a good one; keep it, light. Kindly, langohr . .. … ‘…^,^ 🐇🐇🐇🐇🐇🐇
—————
𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
—————
On Oct 13, 2022, at 12:27, rabbit rabbit@callistohouse.org wrote:
Andsoi must wrap this up to the Top and establish 3 clear objectives, for ESqueak.
Build the following distributed replicated fail-safe services
- ESqueakMap
- Code Distribution System (ESqueakSource) {push-on-change | on-demand} BlockClosure pass-by-copy scope-encoded in ASN1, for distributed local computations querying distributed block/partition persistence (map/reduce)
- SqueakEazy Social Media (text, audio, video, friends, DMs, userWall)
———-
In other aspects, there are 2 styles of replication assets and strategy ::
- With 4 actors: Top and 3 crew mates. For Sessions. Policy:
1.a) msgNumber := increment msgCounter 1.b) Build tuple: < ———> ApplicationID ! ———> TeaTime stamp ! ———> msgNumber ! ———> receiverID ! ———> selector ! ———> archivedEncryptedMessage >
- With 3 actors, the Sisters. No coordinator, no ordering, concurrentMessaging, only-once. Exception on previous conversation established for orderly failure.
—-
Retry strategy uses PromiseSets and #anySatisfy: to throw an exception on global failure. Then RetryStrategy may close all sessions/services down, request another replication factors worth from the Broker’s DistributorService.
—-
The Broker is running each of these services with serviceClassID and serviceID…
< 0 ! brokerServID ! esse3Broker > < 1 ! namingServID ! esseNaming3Service > < 2 ! distributionServID ! esseDistribution3Service > < 3 ! teaTimeServID ! esseTeaTime3Service > < 4 ! persistenceServID ! essePersistence3Service > < 5 ! monitorServID ! esseMonitor3Service < 6 ! ! bankingServID ! esseBanking3Service > < 7 ! marketServID ! esseMarket3Service > < 8 ! bridgeServID ! esseBridge3Service < < 8.1 ! esseBridge> ! < 8.2 ! esseBridge> ! < 8.3 ! esseBridge> > >
— Have a good one; keep it, light. Kindly, langohr . .. … ‘…^,^ 🐇🐇🐇🐇🐇🐇
—————
𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
—————
On Oct 12, 2022, at 12:38, rabbit rabbit@callistohouse.org wrote:
- Get ASN1 working
- Update ASN1 tags
- Remote Promises
- Use E-API #identityHash & #becomeForwards:preserveIdentity
- Start using E-SSE -> Eventual-Sending Style Evals
- Persistent SubspaceTreeArrays with matchingStrategies <Linda. RegEx. Prolog.> for #at: and #detect:,
- Tree processing with parent and imports…see ASN1Module. How to implement #do:? How to go to disk?
- Serve up a directory tree of Monticello packages from/to a file system of files, replicated on #update detection?
- Go-Wide Persistent Block Replication Protocol…a la Hadoop.
- How to do a #replicaDo:?/#replicaDetect:?
— Have a good one; keep it, light. Kindly, langohr . .. … ‘…^,^ 🐇🐇🐇🐇🐇🐇
—————
𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
—————
On Oct 12, 2022, at 12:10, rabbit rabbit@callistohouse.org wrote:
Prior email the image result from the scenario doc, I call promise shortin’.
———
Seven Message PriorityVatZ $Y -> ##EZO -> #EmergenZOverride $Z -> ##EZ -> #EmergenZ $P -> ##PRIO -> #Priority $W -> ##WELL -> #Welfare $R -> ##ROUT -> #Routine $E -> ##EMO -> #Emote $O -> ##ENDO -> #Endocrine
— Have a good one; keep it, light. Kindly, langohr . .. … ‘…^,^ 🐇🐇🐇🐇🐇🐇
—————
𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
—————
On Oct 12, 2022, at 11:54, rabbit rabbit@callistohouse.org wrote:
Which MatchinStrategy would be cross-platform?
—//||\— Make a Trait for replication state machine. Use a VatZ’ ELinda-stored stateMachine SubspaceTree for each host object’s #iHash keyed -> stateMachine tuple.
StateMachine holds the keys, currentState and mapping from initialState. #Eventualize the StateMachine controlling all eventual event processing. #DieAnführerKontrolliertAlles #EKeyMasters
———- Seven Message PriorityVatZ #Y - #EmergenZOverride #Z - #EmergenZ #P - #Priority #W - #Welfare #R - #Routine #E - #Emote #O -> #Endocrine
———-
- Get ASN1 working
- Update ASN1 tags
- Remote Promises
- Use E-API #identityHash & #becomeForwards:preserveIdentity
- Start using E-SSE -> Eventual-Sending Style Evals
……. ‘..^,^
— Have a good one; keep it, light. Kindly, langohr . .. … ‘…^,^ 🐇🐇🐇🐇🐇🐇
—————
𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
—————
On Oct 10, 2022, at 23:40, rabbit rabbit@callistohouse.org wrote:
Oh yes the GalaxyObjectScenario [1] of eventually introducing a third party and the flow of references and messages, cutting out the middle man as no longer needed with remoteGCs sent back. The final result:
[1] GalaxyObjectScenario - https://www.dropbox.com/s/cu3lxzdxk4rq9yx/The%20GalaxyObject%20scenario%20re...
<image.jpg>
— Have a good one; keep it, light. Kindly, rabbit . .. … ‘…^,^ 🐇🐇🐇🐇🐇🐇
<𝙃𝙖𝙨𝙝𝙏𝙖𝙜: #𝙎𝙦𝙪𝙚𝙖𝙠𝙀𝙖𝙯𝙮𝙎𝙦𝙒𝙖𝙮𝙎𝙦𝙒𝙚𝙎𝙦𝙒𝙖𝙡𝙡> ———- #SqueakEazy “(…𝙛𝙤𝙧𝙩𝙝𝙘𝙤𝙢𝙞𝙣𝙜 𝙢𝙚𝙩𝙖𝙫𝙚𝙧𝙨𝙚…)”
“ 𝐁𝐨𝐨𝐭𝐬𝐚𝐭𝐫𝐚𝐩” <#𝐒𝐪𝐮𝐞𝐚𝐤𝐄𝐚𝐳𝐲𝗜𝗶𝗻𝘀𝘁𝗮𝗻𝘁𝗜𝗶𝗮𝘁𝗜𝗶𝗻𝗴𝗣𝗲𝗻𝗱𝗜𝗶𝗻𝗴> “𝗥𝗲𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗻𝗴 𝘁𝗵𝗲 𝗦𝗶𝘀𝘁𝗲𝗿𝘀” <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 . .. …. ‘…^,^> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 . .. …. ‘…^,^> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 . .. …. ‘…^,^> —————
𝙒𝙝𝙚𝙧𝙚’𝙨 𝙒𝙤𝙤𝙙𝙮 𝙛𝙧𝙤𝙢 𝙢𝙖𝙧𝙠𝙚𝙩𝙞𝙣𝙜? ^,^
—————
𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
—————
> On Oct 10, 2022, at 23:33, rabbit rabbit@callistohouse.org wrote: > Some changes below…
Between both (9) and (10) now the abstract superclasses for user-defined ApplicationServices using auto-generated ShadowGalaxies and ShadowERefs.
more changes within….
———-
Get ASN1 working
Update ASN1 tags
Remote Promises
Use E-API #identityHash & #becomeForwards:preserveIdentity
Start using E-SSE -> Eventual-Sending Style Evals
See (10)! Generate from subject objects, which are published remotely and send a generated subclass of ResolvedERef with the subject’s subclass’ protocol for all its methods. All of which are implemented as forwarding to the Far/Near ERef subject. Also generate Galaxy subclasses for the concrete service subclasses that replicate their service.
Work up ELinda (ELindaSubspaceArray)
Provide #asTuple and #asTupleMatcher
Switch … to use ELinda
- eventualize internally (ESubspaceArray)
- a) VatZ
- b) ASN1Module
- c) ThunkStack
- d) SecureServers!!!
- e) StateMachine
- f) Scope
Sessions, Services & Galaxies | The Sisters
- build Specs (rename Configs)
- ChannelSession <SingleCrypto>
- ReplicaSession(3 channels) <SingleCrypto>
- BridgeSession <DoubleCrypto>
- SisterSession <DoubleCrypto>
“ReplicatorService subs concrete Services” “A ReplicatorService on a for each concrete triple service”
- ConcreteService
—-> SisterService —-> NamerService —-> DistributorService —-> ConcentratorService —-> TeaTimerService —-> ApplicationService ———> other concrete user-defined services <——— —-> ShadowGalaxy(3 services) ———> SisterServiceCauldren ———> NamerServiceGalaxy ———> DistributorServiceGalaxy ———> ConcentratorServiceGalaxy ———> TeaTimerServiceGalaxy ———> other auto-generated Galaxies for concrete user-defined services above <———
- Generated ForwardingERefs subs for each concrete subject’s class.
- ERef
—-> ResolvedERef —-—-> LocalERef —-—-> FarERef ———> ShadowERef (target is eventual Local\FarERef) —-———> SisterERef —-———> NamerERef —-———> DistributorERef —-———> ConcentratorERef ————-> other auto-generated concrete user-defined ERefs <————-
- browsable
- method overrides
- remote discovery
- immediate push updates on changes
- Matching strategies
- Linda
- RegEx
- Prolog
- SqueakMap head & release
- Caching strategies
— Have a good one; keep it, light. Kindly, rabbit . .. … ‘…^,^ 🐇🐇🐇🐇🐇🐇
<𝙃𝙖𝙨𝙝𝙏𝙖𝙜: #𝙎𝙦𝙪𝙚𝙖𝙠𝙀𝙖𝙯𝙮𝙎𝙦𝙒𝙖𝙮𝙎𝙦𝙒𝙚𝙎𝙦𝙒𝙖𝙡𝙡> ———- #SqueakEazy “(…𝙛𝙤𝙧𝙩𝙝𝙘𝙤𝙢𝙞𝙣𝙜 𝙢𝙚𝙩𝙖𝙫𝙚𝙧𝙨𝙚…)”
“ 𝐁𝐨𝐨𝐭𝐬𝐚𝐭𝐫𝐚𝐩” <#𝐒𝐪𝐮𝐞𝐚𝐤𝐄𝐚𝐳𝐲𝗜𝗶𝗻𝘀𝘁𝗮𝗻𝘁𝗜𝗶𝗮𝘁𝗜𝗶𝗻𝗴𝗣𝗲𝗻𝗱𝗜𝗶𝗻𝗴> “𝗥𝗲𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗻𝗴 𝘁𝗵𝗲 𝗦𝗶𝘀𝘁𝗲𝗿𝘀” <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 . .. …. ‘…^,^> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 . .. …. ‘…^,^> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 . .. …. ‘…^,^> —————
𝙒𝙝𝙚𝙧𝙚’𝙨 𝙒𝙤𝙤𝙙𝙮 𝙛𝙧𝙤𝙢 𝙢𝙖𝙧𝙠𝙚𝙩𝙞𝙣𝙜? ^,^
—————
𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
—————