[squeak-dev] ESqueak :: Re: SqueakEazy Plans

rabbit rabbit at callistohouse.org
Thu Oct 13 16:27:03 UTC 2022


Andsoi must wrap this up to the Top and establish 3 clear objectives, for ESqueak. 

Build the following distributed replicated fail-safe services
1) ESqueakMap
2) 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)
3) SqueakEazy Social Media (text, audio, video, friends, DMs, userWall)

———-

In other aspects, there are 2 styles of replication assets and strategy ::

1) 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 >

2) 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 at callistohouse.org> wrote:
> 
> 1) Get ASN1 working
> 2) Update ASN1 tags
> 3) Remote Promises
> 4) Use E-API #identityHash & #becomeForwards:preserveIdentity
> 5) Start using E-SSE -> Eventual-Sending Style Evals
> 6) Persistent SubspaceTreeArrays with matchingStrategies <Linda. RegEx. Prolog.> for #at: and #detect:,
> 7) Tree processing with parent and imports…see ASN1Module. How to implement #do:? How to go to disk? 
> 8) Serve up a directory tree of Monticello packages from/to a file system of files, replicated on #update detection? 
> 9) Go-Wide Persistent Block Replication Protocol…a la Hadoop.
> 10) How to do a #replicaDo:?/#replicaDetect:?
> 
> 
>> Have a good one; keep it, light.
> Kindly,
> langohr
> . .. … ‘…^,^
> 🐇🐇🐇🐇🐇🐇
> 
> —————
> 
> 𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 
> :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
> 
> —————
> 
>>> On Oct 12, 2022, at 12:10, rabbit <rabbit at 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 at 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
>>> 
>>> ———-
>>> 
>>> 1) Get ASN1 working
>>> 2) Update ASN1 tags
>>> 3) Remote Promises
>>> 4) Use E-API #identityHash & #becomeForwards:preserveIdentity
>>> 5) 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 at 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%20repaired.pdf?dl=0
>>>> 
>>>> <image.jpg>
>>>> 
>>>>>>>> Have a good one; keep it, light.
>>>> Kindly,
>>>> rabbit
>>>> . .. … ‘…^,^
>>>> 🐇🐇🐇🐇🐇🐇
>>>> 
>>>> <𝙃𝙖𝙨𝙝𝙏𝙖𝙜: #𝙎𝙦𝙪𝙚𝙖𝙠𝙀𝙖𝙯𝙮𝙎𝙦𝙒𝙖𝙮𝙎𝙦𝙒𝙚𝙎𝙦𝙒𝙖𝙡𝙡>
>>>> ———-
>>>> #SqueakEazy “(…𝙛𝙤𝙧𝙩𝙝𝙘𝙤𝙢𝙞𝙣𝙜 𝙢𝙚𝙩𝙖𝙫𝙚𝙧𝙨𝙚…)”
>>>> - - - - - -
>>>> “ 𝐁𝐨𝐨𝐭𝐬𝐚𝐭𝐫𝐚𝐩”
>>>> <#𝐒𝐪𝐮𝐞𝐚𝐤𝐄𝐚𝐳𝐲𝗜𝗶𝗻𝘀𝘁𝗮𝗻𝘁𝗜𝗶𝗮𝘁𝗜𝗶𝗻𝗴𝗣𝗲𝗻𝗱𝗜𝗶𝗻𝗴>
>>>> “𝗥𝗲𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗻𝗴 𝘁𝗵𝗲 𝗦𝗶𝘀𝘁𝗲𝗿𝘀”
>>>> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 .  ..   ….   ‘…^,^>
>>>> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 .  ..   ….   ‘…^,^>
>>>> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 .  ..   ….   ‘…^,^> 
>>>> —————
>>>> 
>>>> 𝙒𝙝𝙚𝙧𝙚’𝙨 𝙒𝙤𝙤𝙙𝙮 𝙛𝙧𝙤𝙢 𝙢𝙖𝙧𝙠𝙚𝙩𝙞𝙣𝙜?
>>>> ^,^
>>>> 
>>>> —————
>>>> 
>>>> 𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 
>>>> :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
>>>> 
>>>> —————
>>>> 
>>>>>> On Oct 10, 2022, at 23:33, rabbit <rabbit at 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….
>>>>> 
>>>>> ———-
>>>>> 
>>>>> 1) Get ASN1 working
>>>>> 2) Update ASN1 tags
>>>>> 3) Remote Promises
>>>>> 4) Use E-API #identityHash & #becomeForwards:preserveIdentity
>>>>> 
>>>>> 5) 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.
>>>>> 
>>>>> 6) Work up ELinda (ELindaSubspaceArray)
>>>>> 7) Provide #asTuple and #asTupleMatcher
>>>>> 
>>>>> 8) Switch … to use ELinda
>>>>>     - eventualize internally (ESubspaceArray)
>>>>>     - a) VatZ
>>>>>     - b) ASN1Module
>>>>>     - c) ThunkStack
>>>>>     - d) SecureServers!!!
>>>>>     - e) StateMachine
>>>>>     - f) Scope
>>>>> 
>>>>> 9) 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 <———
>>>>> 
>>>>> 10) 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
>>>>> 
>>>>> 
>>>>> 11) Matching strategies
>>>>> - Linda
>>>>> - RegEx
>>>>> - Prolog
>>>>> 12) SqueakMap head & release
>>>>> 13) Caching strategies
>>>>> 
>>>>> 
>>>>>>>>>> Have a good one; keep it, light.
>>>>> Kindly,
>>>>> rabbit
>>>>> . .. … ‘…^,^
>>>>> 🐇🐇🐇🐇🐇🐇
>>>>> 
>>>>> <𝙃𝙖𝙨𝙝𝙏𝙖𝙜: #𝙎𝙦𝙪𝙚𝙖𝙠𝙀𝙖𝙯𝙮𝙎𝙦𝙒𝙖𝙮𝙎𝙦𝙒𝙚𝙎𝙦𝙒𝙖𝙡𝙡>
>>>>> ———-
>>>>> #SqueakEazy “(…𝙛𝙤𝙧𝙩𝙝𝙘𝙤𝙢𝙞𝙣𝙜 𝙢𝙚𝙩𝙖𝙫𝙚𝙧𝙨𝙚…)”
>>>>> - - - - - -
>>>>> “ 𝐁𝐨𝐨𝐭𝐬𝐚𝐭𝐫𝐚𝐩”
>>>>> <#𝐒𝐪𝐮𝐞𝐚𝐤𝐄𝐚𝐳𝐲𝗜𝗶𝗻𝘀𝘁𝗮𝗻𝘁𝗜𝗶𝗮𝘁𝗜𝗶𝗻𝗴𝗣𝗲𝗻𝗱𝗜𝗶𝗻𝗴>
>>>>> “𝗥𝗲𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗻𝗴 𝘁𝗵𝗲 𝗦𝗶𝘀𝘁𝗲𝗿𝘀”
>>>>> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 .  ..   ….   ‘…^,^>
>>>>> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 .  ..   ….   ‘…^,^>
>>>>> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 .  ..   ….   ‘…^,^> 
>>>>> —————
>>>>> 
>>>>> 𝙒𝙝𝙚𝙧𝙚’𝙨 𝙒𝙤𝙤𝙙𝙮 𝙛𝙧𝙤𝙢 𝙢𝙖𝙧𝙠𝙚𝙩𝙞𝙣𝙜?
>>>>> ^,^
>>>>> 
>>>>> —————
>>>>> 
>>>>> 𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 
>>>>> :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
>>>>> 
>>>>> —————
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20221013/84d3823a/attachment.html>


More information about the Squeak-dev mailing list