lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Wed, Nov 16, 2011 at 07:28, Stefan Reich <info@luaos.net> wrote:
> Mobile Lua 5 is here, featuring full mobility and now three public servers
> which are aware of each other.
>
> Project info & downloads at: http://luaos.net/pages/mobile-lua.php
>
> Every computation server now maintains a list of 'peers' (other computation
> servers) which form a sort of little cloud around that server. The concept
> will quite certainly be extended in the future, with servers belonging to
> multiple groups and so on.
>
> Also, hyperjumping will be made more robust in the face of server downtimes
> - comparable to email delivery.
>
> Hyperjumping itself already works great right now. :)
>
> Details on how to try the server are on the web page.
>
> I am hoping very strongly that the group of Mobile Lua enthusiasts will grow
> quickly.
>
> For what it's worth, I made an impression on a very interesting business guy
> in a local Starbucks yesterday. They have this designated table for computer
> freaks, you know. Guy took out his Macbook, his Macbook Air and his iPad
> (yes he carries all three). I was talking to my Lua servers in Lua OS and,
> well: One thing led to another and we began to talk.
>
> Turns out he's doing professional video and rendering. His question was: Can
> you render with your system? My Macbook alone is too slow for the task.
>
> I had to concede that that kind of application may be a little off with a
> Lua basis - but nothing is impossible with a healthy dose of development
> work, eh.
>
> Either way, he was impressed. "A cloud made by the people? - That rocks!"
>
> So...
>
> To finish up this mail, I'd like to present to you some Mobile Lua source
> code (also available as 'example 1' in the server). I hope it will give you
> a little impression of how my idea of Lua mobility works. Here goes!
>
> --Stefan
>
>
> *** Mobile Lua example 1 ***
>
> home = mb.hostname()
> peers = mb.peers()
> report = {}
>
> -- add home server to report
>
> table.insert(report, {server=home, status='online', version=mb.version()})
>
> -- travel to peers
>
> for _, peer in ipairs(peers) do
>   print('Jumping to: '..peer)
>   if mb.jump(peer) then
>     print('Jump OK')
>     table.insert(report, {server=mb.hostname(), status='online',
> version=mb.version()})
>   else
>     print('Jump failed')
>     table.insert(report, {server=peer, status='offline', version='?'})
>   end
> end
>
> -- return home and report
>
> if not mb.jump(home) then
>   error('Please return me to '..home..'!!')
> else
>   print('Report')
>   print('------')
>   print()
>   print(#report..' peers checked.')
>   for _, e in ipairs(report) do
>     print("  "..e.server..' '..e.status..'. Running '..e.version)
>   end
> end
>
> *** end of example 1 ***
>

Ahh, so mb.jump() is like fork()? If it succeeds you're now running on
a completely different machine?

-- 
Sent from my toaster.