Re: [Server-devel] ToDO: Write up Proxy Strategy

2009-01-13 Thread Martin Langhoff
On Tue, Jan 13, 2009 at 11:42 AM, Caroline Meeks
carol...@solutiongrove.com wrote:
 rproxy - write down what needs to be done and how much.

Caroline and others pointed out today at xocamp that the rproxy notes
were never fully documented. There are some emails on this list about
it - but nothing complete. I've now put it in the wiki
http://wiki.laptop.org/go/XS_Blueprints:rproxy - here's the initial
version for discussion...

Notes on an rproxy implenentation for the XS.

We want to have an optional, easy to switch on rproxy setup on the XS.
rproxy can replace or complement the main XS http proxy - if we have a
stable, efficient, high quality http proxy on the XS, pairing it with
rproxy would be a good idea.

As long as we are using Squid, it's not such a good idea :-(

=Rationale=

rproxy is a proxy that expends HTTP 1.1 proxying and provides much
better performance over very bandwidth constrained linkes. It requires
an upstream rproxy to match the downstream rproxy. For deployments
where the schools are connected to the internet with very limited
uplinks, rproxy can be a huge win.

Modern internet is made of moderately dynamic content --- the content
is mostly static but un-cacheable due to rotating banners or latest
news boxes on the side. Even when content changes, the template for
the content is often 80% of the HTML downloaded. rproxy provides huge
gains with such content.

More about what rproxy is
* http://rproxy.samba.org/
* http://ozlabs.org/~rusty/rproxy.html

=How it would work=

For a deployment with limited connectivity into the schools

 - setup a co-located rproxy server at the ISP
 - enable rproxy on the XSs deployed, pointing to the ISP

Note: the rproxy server at the ISP must only accept requests from
valid clients - either from a defined netblock or whitelisted IP
addresses. An open rproxy is an open proxy!

=Issues with rproxy=

* The working version uses an old version of librsync - which may have
odd bugs and is generally unsupported, untouched, unknown
* There's a half-finished port to the new librsync. Martin Poole
started it a while ago, and abandoned it.
* Does not stream the content through - blocks until the content is
fully fetched before delivery to requester.
* Unknown performance and memory footprint when hit by many users concurrently
* Needs packaging, init scripts, etc...
* Unclear if it behaves reasonably well with ajax streamed requests
- it may break or add problematic latencies, etc

=TO DO=

* Test and ensure it works with modern internet usage patterns. Gmail,
youtube, etc...
* package, configuration, init scripts...
* Test under load, paired with a conventional http proxy - may need
performance / memory trimming
* Port to modern librsync
* Make it work with streamed content (possibly the hardest task!)


...

cheers,



martin
-- 
 martin.langh...@gmail.com
 mar...@laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff
___
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel


Re: [Server-devel] ToDO: Write up Proxy Strategy

2009-01-13 Thread Martin Langhoff
On Tue, Jan 13, 2009 at 5:59 PM, Martin Langhoff
martin.langh...@gmail.com wrote:
 http://wiki.laptop.org/go/XS_Blueprints:rproxy -

and lest I forget - http://dev.laptop.org/ticket/7815

cheers,


m
-- 
 martin.langh...@gmail.com
 mar...@laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff
___
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel


[Server-devel] interest in new proxy

2009-01-13 Thread Vivek Pai
Hi,

My name is Vivek Pai and I'm new to the list. Forgive
me if I'm missing anything relating to this query.

A long time ago, I visited OLPC to discuss HTTP proxy
needs for the schools, and our research group at Princeton
had a project that looked like it might be a good fit. In
particular, it's a Web proxy that scales to large storage
sizes without requiring large memory consumption. It can,
for example, use a 1TB USB drive as a store, while requiring
only a XO-class laptop to drive it.

Is there interest in something like this for the XS server?
We're also working on a WAN accelerator that uses this
proxy, providing transparent compression of content, even
for dynamic Web sites.

The original ticket for this was
https://dev.laptop.org/ticket/6#comment:8

-Vivek

___
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel


Re: [Server-devel] interest in new proxy

2009-01-13 Thread Reuben K. Caron
Vivek,

This sounds very interesting. Could you provide us with more information?

Regards,
Reuben

Vivek Pai wrote:
 Hi,

 My name is Vivek Pai and I'm new to the list. Forgive
 me if I'm missing anything relating to this query.

 A long time ago, I visited OLPC to discuss HTTP proxy
 needs for the schools, and our research group at Princeton
 had a project that looked like it might be a good fit. In
 particular, it's a Web proxy that scales to large storage
 sizes without requiring large memory consumption. It can,
 for example, use a 1TB USB drive as a store, while requiring
 only a XO-class laptop to drive it.

 Is there interest in something like this for the XS server?
 We're also working on a WAN accelerator that uses this
 proxy, providing transparent compression of content, even
 for dynamic Web sites.

 The original ticket for this was
 https://dev.laptop.org/ticket/6#comment:8

 -Vivek

 ___
 Server-devel mailing list
 Server-devel@lists.laptop.org
 http://lists.laptop.org/listinfo/server-devel
   

___
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel


Re: [Server-devel] interest in new proxy

2009-01-13 Thread Martin Langhoff
On Tue, Jan 13, 2009 at 6:39 PM, Vivek Pai vi...@cs.princeton.edu wrote:
 A long time ago, I visited OLPC to discuss HTTP proxy
 needs for the schools, and our research group at Princeton
 had a project that looked like it might be a good fit.

Hi Vivek,

is it your original hashcache or related to it? There was discussion a
while ago of using hashcache - jg was very excited about it, and I was
too. We're pretty disappointed with Squid's performance and memory
usage.

 Is there interest in something like this for the XS server?

Yes yes yes. It'd be fantastic. What is the licensing status?

cheers,



martin
-- 
 martin.langh...@gmail.com
 mar...@laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff
___
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel


Re: [Server-devel] interest in new proxy

2009-01-13 Thread Vivek Pai
Hi Reuben,

The system is called HashCache, and it's a relatively recent development.
We'd been corresponding with Jim Gettys and trying to get the license
worked out with Eben Moglen.

Jim knows the details, but it's basically a proxy built on a new storage
engine that's optimized to reduce memory consumption. In its most
minimal form, it uses no RAM for the object index, which is what
allows us to do the 1TB disk / 256MB RAM configuration. Its
performance in this configuration is comparable to Squid, since
HashCache has a custom user-level filesystem.

It doesn't compete on features with Squid, but it should be possible
to integrate the necessary set of features.

-Vivek

Reuben K. Caron wrote:
 Vivek,

 This sounds very interesting. Could you provide us with more information?

 Regards,
 Reuben

 Vivek Pai wrote:
   
 Hi,

 My name is Vivek Pai and I'm new to the list. Forgive
 me if I'm missing anything relating to this query.

 A long time ago, I visited OLPC to discuss HTTP proxy
 needs for the schools, and our research group at Princeton
 had a project that looked like it might be a good fit. In
 particular, it's a Web proxy that scales to large storage
 sizes without requiring large memory consumption. It can,
 for example, use a 1TB USB drive as a store, while requiring
 only a XO-class laptop to drive it.

 Is there interest in something like this for the XS server?
 We're also working on a WAN accelerator that uses this
 proxy, providing transparent compression of content, even
 for dynamic Web sites.

 The original ticket for this was
 https://dev.laptop.org/ticket/6#comment:8

 -Vivek

 ___
 Server-devel mailing list
 Server-devel@lists.laptop.org
 http://lists.laptop.org/listinfo/server-devel
   
 

 ___
 Server-devel mailing list
 Server-devel@lists.laptop.org
 http://lists.laptop.org/listinfo/server-devel
   

___
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel


Re: [Server-devel] Notes about XS on XO...

2009-01-13 Thread Jerry Vonau
On Thu, 2009-01-08 at 19:05 -0500, Martin Langhoff wrote:

 
  OK lets backup a second, I'm thinking that the OS could be on a SD
  disk/NAND with an external USB harddrive holding most of the write
  intensive directories. thoughts?
 
 My plan is to use a high quality SD card, not NAND (jffs2 complexity,
 slow, small, etc). And the USB hd holding the _large_ directories.
 Some stuff in /var is somewhat write intensive but very small, so a
 lazy commit policy will be just the ticket -- I think all of /var on
 usb might be harder.
 

Just a question, would we be needing a do-it-yourself explanation of the
steps involved, or are we just going to distribute an image that you
could write to a partition? Both?

I have a XO using a 4gig SD card, started life out as
xo-1-olpc-stream-8.2.1-devel_ext3.img, with the XS repos added, yum
installing xs-pkgs, xs-config now... I've ran into some funny dep issues
but brute forced my way round them. I have some notes around, will try
to add them to the wiki at some point. I've excluded the kernel from
being updated at this point, I'll try a newer kernel at some point
later, just waiting for yum to finish and try rebooting this puppy.
Woohoo reboot time... rats network is broken...  

Time to dig/fix,

Jerry 



___
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel


Re: [Server-devel] interest in new proxy

2009-01-13 Thread Ed McNierney
Vivek -

Jim Gettys passed on your information to me (he left OLPC last week) and I'd
be happy to pick up the conversation with you.  Thanks!

- Ed

Ed McNierney
CTO / VP of Engineering
One Laptop per Child
e...@laptop.org
+1 (978) 761-0049


On 1/13/09 9:32 PM, Vivek Pai vi...@cs.princeton.edu wrote:

 Martin Langhoff wrote:
 On Tue, Jan 13, 2009 at 6:39 PM, Vivek Pai vi...@cs.princeton.edu wrote:
   
 A long time ago, I visited OLPC to discuss HTTP proxy
 needs for the schools, and our research group at Princeton
 had a project that looked like it might be a good fit.
 
 
 Hi Vivek,
 
 is it your original hashcache or related to it? There was discussion a
 while ago of using hashcache - jg was very excited about it, and I was
 too. We're pretty disappointed with Squid's performance and memory
 usage.
   
 The proxy part is HashCache. The WAN accelerator doesn't have a name at
 the moment, but it's probably a few months away from beta.
 
 Is there interest in something like this for the XS server?
 
 
 Yes yes yes. It'd be fantastic. What is the licensing status?
   
 I think we'd reached agreement with Eben on something, but
 we're just waiting at this point. Assuming someone on your end
 tells him that you're interested in forging ahead, I guess he'll
 write up the necessary license. It was basically Affero GPL + patent
 license for the GPL version.
 
 -Vivek
 
 ___
 Server-devel mailing list
 Server-devel@lists.laptop.org
 http://lists.laptop.org/listinfo/server-devel


___
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel


Re: [Server-devel] interest in new proxy

2009-01-13 Thread Martin Langhoff
On Tue, Jan 13, 2009 at 9:32 PM, Vivek Pai vi...@cs.princeton.edu wrote:
 write up the necessary license. It was basically Affero GPL + patent
 license for the GPL version.

That sounds like it'd be workable for us. Fantastic news!



m
-- 
 martin.langh...@gmail.com
 mar...@laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff
___
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel


Re: [Server-devel] Notes about XS on XO...

2009-01-13 Thread Martin Langhoff
On Tue, Jan 13, 2009 at 9:31 PM, Jerry Vonau jvo...@shaw.ca wrote:
 Just a question, would we be needing a do-it-yourself explanation of the
 steps involved, or are we just going to distribute an image that you
 could write to a partition? Both?

I'd say both ;-)

 I have a XO using a 4gig SD card, started life out as
 xo-1-olpc-stream-8.2.1-devel_ext3.img, with the XS repos added, yum
 installing xs-pkgs, xs-config now... I've ran into some funny dep issues
 but brute forced my way round them. I have some notes around, will try
 to add them to the wiki at some point. I've excluded the kernel from
 being updated at this point, I'll try a newer kernel at some point
 later, just waiting for yum to finish and try rebooting this puppy.
 Woohoo reboot time... rats network is broken...

Cool. Another bit of good news is that I tackled JKatz and he
confessed to having (probably) backported the fixes onto the F9
kernel. So maybe a plain XS install to SD may work too...

cheers,



martin
-- 
 martin.langh...@gmail.com
 mar...@laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff
___
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel