Skip to main content

knights and kings design pattern

keywords: competitive uptime, evolution, shared nothing, aws, amazon, ai, skynet, terminator, replication, cloning, survival of the fittest, fantasy, a song of ice and fire, eragon, server, hosting, cloud computing, wintermute, neuromancer

quote: big visions / great dreams / little tiny living space

wish: i started working on this design pattern 2009/11/09. i would like to it grow.

facts:
- simple rules are needed to govern an evolving system that is expected to live for many generations
- all virtual machines are knights
- all kings are knights
- only 1 king may live
- only the king may wear the crown
- the crown is the public ip or eip
- each knight operates autonomously
- uses existing tools / code
- each court / kingdom (knight / king set) uses it's own USER ACCOUNT to identify / query / census citizens
- example. ec2-keys are stored in knights so they can query for citizenship

PATTERNS:

knight pattern - should i take the crown?
first do i have it already?
who is the king?
then is the king fit? does the king survive my attack? is the king fit to serve?
kill the king!
take the crown!
make a clone

knight pattern - should i kill you?
can you survive my attack? are you fit to serve?
then die!
make a clone

knight pattern - should i make a clone?
if i am the oldest is there no one younger than me?
make a clone

these 3 rules seem to handle all failure states

Comments

Popular posts from this blog

How to change default calendar for new events in Lightning

https://getsatisfaction.com/mozilla_messaging/topics/how_set_default_calendar_for_new_events_in_lightning Edited version Open Tools > Options > Advanced tab, and click Config Editor button. In the "Filter:" box enter "calendar.registry"  Find a .calendar-main-default key - it will be set to true Other calendars either won't have a .calendar-main-default key (or it will be set to false) Right click on the value of the .calendar-main-default key that goes with the calendar that currently shows up by default in new events to toggle the value to false Click on the .calendar-main-in-composite key that goes with the calendar you want as default Right click on the same key and choose Copy Name from the menu that appears. Now right click on the key again and select New > Boolean Paste the name of the key and Use the backspace key to erase "in-composite" and type "default" Click OK and Choose true and click OK Now exit out of