You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@trafficserver.apache.org by "Madhava Gaikwad (madgaikw)" <ma...@cisco.com> on 2015/08/06 09:29:44 UTC

partial object caching

Hello experts,

I have legacy forward proxy used in enterprise network facing to internet behind firewall. Unfortunately it cannot do partial object caching. I am looking if I can get an alternate proxy to do this.
My requirement is:

1.       Partial object caching so updates by apple etc. can be cached. Also video caching will just work.

2.       Streaming to multiple client at same time should be possible from single server connection.

It seems varnish can do above stuff. But it works effectively as reverse proxy, so I have to position it before my proxy, as it cannot work as upstream proxy directly. Also its cache seems gets vanished after restart(Everything in cache is from heap).
Do you guys know if ATS can do this functionality? I believe it is not possible, but I thought just ask if we achieve this by any means. A pointing to how to would be really appreciated.


Thank you from Newbie,
Madhava

RE: partial object caching

Posted by "Madhava Gaikwad (madgaikw)" <ma...@cisco.com>.
That’s cool Sudheer. Let me go through the code and understand if I can control the drawback (wasting bandwidth) based on resource URL. Say for apple update download it makes sense to download it completely so handheld devices are served well. Even resources containing pdf etc can be served similarly.

For streaming the resources to multiple clients, I can setup varnish to do it. For video links, again varnish should be OK, Losing videos on restarts should not be big issue as they have lesser cache hits unless they are viral ones.

Thanks a lot for your help and inputs.
Madhava

From: Sudheer Vinukonda [mailto:sudheerv@yahoo-inc.com]
Sent: Thursday, August 06, 2015 9:14 PM
To: Madhava Gaikwad (madgaikw); users@trafficserver.apache.org
Subject: Re: partial object caching

Background Fetch<https://docs.trafficserver.apache.org/en/latest/reference/plugins/background_fetch.en.html> plugin takes care of that issue for you and won't allow more than one download for the same object (cache key) at a time. We use that in production (and I think/know a few other significant deployments do as well) and don't see any issues with fd exhaustion or multiple downloads for the same file.

The only drawback (if you can call it so) with the solution is that, you may potentially waste bandwidth/cache space for a really large object which may not be requested by clients often.

Thanks,

Sudheer



On Thursday, August 6, 2015 8:24 AM, Madhava Gaikwad (madgaikw) <ma...@cisco.com>> wrote:

Thanks Sudhir for the response. If too many clients starts doing range requests or even a single client starts sending multiple range requests, using background fetch, may cause multiple downloads to start, reason being downloads will not be sharable. Keeping rest of the client connection  idle till, first download completes also not useful as it may cause FD exhaustion for smaller footprint devices. I may be talking too much without knowing much about implementation details.

Thank you.
Madhava

From: Sudheer Vinukonda [mailto:sudheerv@yahoo-inc.com]
Sent: Thursday, August 06, 2015 8:36 PM
To: users@trafficserver.apache.org<ma...@trafficserver.apache.org>
Subject: Re: partial object caching

As of v6.0, ATS does not support Partial object caching (ala byte range caching).

However, ATS does support returning partial byte range responses if the whole object is already cached. Background Fetch<https://docs.trafficserver.apache.org/en/latest/reference/plugins/background_fetch.en.html> plugin takes advantage of this fact, by initiating a full object download in the background on receiving a byte range request for an object that's not in the cache yet. Once the full object is downloaded and populated into the cache, subsequent byte range requests are directly served from the cache.


Thanks,

Sudheer


On Thursday, August 6, 2015 12:34 AM, Madhava Gaikwad (madgaikw) <ma...@cisco.com>> wrote:

Hello experts,

I have legacy forward proxy used in enterprise network facing to internet behind firewall. Unfortunately it cannot do partial object caching. I am looking if I can get an alternate proxy to do this.
My requirement is:
1.       Partial object caching so updates by apple etc. can be cached. Also video caching will just work.
2.       Streaming to multiple client at same time should be possible from single server connection.

It seems varnish can do above stuff. But it works effectively as reverse proxy, so I have to position it before my proxy, as it cannot work as upstream proxy directly. Also its cache seems gets vanished after restart(Everything in cache is from heap).
Do you guys know if ATS can do this functionality? I believe it is not possible, but I thought just ask if we achieve this by any means. A pointing to how to would be really appreciated.


Thank you from Newbie,
Madhava



Re: partial object caching

Posted by Sudheer Vinukonda <su...@yahoo-inc.com>.
Background Fetch plugin takes care of that issue for you and won't allow more than one download for the same object (cache key) at a time. We use that in production (and I think/know a few other significant deployments do as well) and don't see any issues with fd exhaustion or multiple downloads for the same file.
The only drawback (if you can call it so) with the solution is that, you may potentially waste bandwidth/cache space for a really large object which may not be requested by clients often.
Thanks,
Sudheer
 


     On Thursday, August 6, 2015 8:24 AM, Madhava Gaikwad (madgaikw) <ma...@cisco.com> wrote:
   

 #yiv9500072116 #yiv9500072116 -- _filtered #yiv9500072116 {font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;} _filtered #yiv9500072116 {font-family:Tahoma;panose-1:2 11 6 4 3 5 4 4 2 4;} _filtered #yiv9500072116 {panose-1:0 0 0 0 0 0 0 0 0 0;}#yiv9500072116 #yiv9500072116 p.yiv9500072116MsoNormal, #yiv9500072116 li.yiv9500072116MsoNormal, #yiv9500072116 div.yiv9500072116MsoNormal {margin:0in;margin-bottom:.0001pt;font-size:12.0pt;}#yiv9500072116 a:link, #yiv9500072116 span.yiv9500072116MsoHyperlink {color:blue;text-decoration:underline;}#yiv9500072116 a:visited, #yiv9500072116 span.yiv9500072116MsoHyperlinkFollowed {color:purple;text-decoration:underline;}#yiv9500072116 p.yiv9500072116msolistparagraph, #yiv9500072116 li.yiv9500072116msolistparagraph, #yiv9500072116 div.yiv9500072116msolistparagraph {margin-right:0in;margin-left:0in;font-size:12.0pt;}#yiv9500072116 p.yiv9500072116msonormal, #yiv9500072116 li.yiv9500072116msonormal, #yiv9500072116 div.yiv9500072116msonormal {margin-right:0in;margin-left:0in;font-size:12.0pt;}#yiv9500072116 p.yiv9500072116msochpdefault, #yiv9500072116 li.yiv9500072116msochpdefault, #yiv9500072116 div.yiv9500072116msochpdefault {margin-right:0in;margin-left:0in;font-size:12.0pt;}#yiv9500072116 span.yiv9500072116msohyperlink {}#yiv9500072116 span.yiv9500072116msohyperlinkfollowed {}#yiv9500072116 span.yiv9500072116emailstyle17 {}#yiv9500072116 p.yiv9500072116msonormal1, #yiv9500072116 li.yiv9500072116msonormal1, #yiv9500072116 div.yiv9500072116msonormal1 {margin:0in;margin-bottom:.0001pt;font-size:11.0pt;}#yiv9500072116 span.yiv9500072116msohyperlink1 {color:blue;text-decoration:underline;}#yiv9500072116 span.yiv9500072116msohyperlinkfollowed1 {color:purple;text-decoration:underline;}#yiv9500072116 p.yiv9500072116msolistparagraph1, #yiv9500072116 li.yiv9500072116msolistparagraph1, #yiv9500072116 div.yiv9500072116msolistparagraph1 {margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;font-size:11.0pt;}#yiv9500072116 span.yiv9500072116emailstyle171 {color:windowtext;}#yiv9500072116 p.yiv9500072116msochpdefault1, #yiv9500072116 li.yiv9500072116msochpdefault1, #yiv9500072116 div.yiv9500072116msochpdefault1 {margin-right:0in;margin-left:0in;font-size:12.0pt;}#yiv9500072116 span.yiv9500072116EmailStyle29 {color:#1F497D;}#yiv9500072116 .yiv9500072116MsoChpDefault {font-size:10.0pt;} _filtered #yiv9500072116 {margin:1.0in 1.0in 1.0in 1.0in;}#yiv9500072116 div.yiv9500072116WordSection1 {}#yiv9500072116 Thanks Sudhir for the response. If too many clients starts doing range requests or even a single client starts sending multiple range requests, using background fetch, may cause multiple downloads to start, reason being downloads will not be sharable. Keeping rest of the client connection  idle till, first download completes also not useful as it may cause FD exhaustion for smaller footprint devices. I may be talking too much without knowing much about implementation details.    Thank you. Madhava    From: Sudheer Vinukonda [mailto:sudheerv@yahoo-inc.com]
Sent: Thursday, August 06, 2015 8:36 PM
To: users@trafficserver.apache.org
Subject: Re: partial object caching    As of v6.0, ATS does not support Partial object caching (ala byte range caching).    However, ATS does support returning partial byte range responses if the whole object is already cached.Background Fetch plugin takes advantage of this fact, by initiating a full object download in the background on receiving a byte range request for an object that's not in the cache yet. Once the full object is downloaded and populated into the cache, subsequent byte range requests are directly served from the cache.       Thanks,    Sudheer       On Thursday, August 6, 2015 12:34 AM, Madhava Gaikwad (madgaikw) <ma...@cisco.com> wrote:    Hello experts,   I have legacy forward proxy used in enterprise network facing to internet behind firewall. Unfortunately it cannot do partial object caching. I am looking if I can get an alternate proxy to do this. My requirement is: 1.      Partial object caching so updates by apple etc. can be cached. Also video caching will just work. 2.      Streaming to multiple client at same time should be possible from single server connection.   It seems varnish can do above stuff. But it works effectively as reverse proxy, so I have to position it before my proxy, as it cannot work as upstream proxy directly. Also its cache seems gets vanished after restart(Everything in cache is from heap). Do you guys know if ATS can do this functionality? I believe it is not possible, but I thought just ask if we achieve this by any means. A pointing to how to would be really appreciated.     Thank you from Newbie, Madhava    

  

RE: partial object caching

Posted by "Madhava Gaikwad (madgaikw)" <ma...@cisco.com>.
Thanks Sudhir for the response. If too many clients starts doing range requests or even a single client starts sending multiple range requests, using background fetch, may cause multiple downloads to start, reason being downloads will not be sharable. Keeping rest of the client connection  idle till, first download completes also not useful as it may cause FD exhaustion for smaller footprint devices. I may be talking too much without knowing much about implementation details.

Thank you.
Madhava

From: Sudheer Vinukonda [mailto:sudheerv@yahoo-inc.com]
Sent: Thursday, August 06, 2015 8:36 PM
To: users@trafficserver.apache.org
Subject: Re: partial object caching

As of v6.0, ATS does not support Partial object caching (ala byte range caching).

However, ATS does support returning partial byte range responses if the whole object is already cached. Background Fetch<https://docs.trafficserver.apache.org/en/latest/reference/plugins/background_fetch.en.html> plugin takes advantage of this fact, by initiating a full object download in the background on receiving a byte range request for an object that's not in the cache yet. Once the full object is downloaded and populated into the cache, subsequent byte range requests are directly served from the cache.


Thanks,

Sudheer


On Thursday, August 6, 2015 12:34 AM, Madhava Gaikwad (madgaikw) <ma...@cisco.com>> wrote:

Hello experts,

I have legacy forward proxy used in enterprise network facing to internet behind firewall. Unfortunately it cannot do partial object caching. I am looking if I can get an alternate proxy to do this.
My requirement is:
1.       Partial object caching so updates by apple etc. can be cached. Also video caching will just work.
2.       Streaming to multiple client at same time should be possible from single server connection.

It seems varnish can do above stuff. But it works effectively as reverse proxy, so I have to position it before my proxy, as it cannot work as upstream proxy directly. Also its cache seems gets vanished after restart(Everything in cache is from heap).
Do you guys know if ATS can do this functionality? I believe it is not possible, but I thought just ask if we achieve this by any means. A pointing to how to would be really appreciated.


Thank you from Newbie,
Madhava


Re: partial object caching

Posted by Sudheer Vinukonda <su...@yahoo-inc.com>.
As of v6.0, ATS does not support Partial object caching (ala byte range caching).
However, ATS does support returning partial byte range responses if the whole object is already cached. Background Fetch plugin takes advantage of this fact, by initiating a full object download in the background on receiving a byte range request for an object that's not in the cache yet. Once the full object is downloaded and populated into the cache, subsequent byte range requests are directly served from the cache.

Thanks,
Sudheer 


     On Thursday, August 6, 2015 12:34 AM, Madhava Gaikwad (madgaikw) <ma...@cisco.com> wrote:
   

  <!--#yiv5120356030 _filtered #yiv5120356030 {font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;}#yiv5120356030 #yiv5120356030 p.yiv5120356030MsoNormal, #yiv5120356030 li.yiv5120356030MsoNormal, #yiv5120356030 div.yiv5120356030MsoNormal {margin:0in;margin-bottom:.0001pt;font-size:11.0pt;font-family:"Calibri", "sans-serif";}#yiv5120356030 a:link, #yiv5120356030 span.yiv5120356030MsoHyperlink {color:blue;text-decoration:underline;}#yiv5120356030 a:visited, #yiv5120356030 span.yiv5120356030MsoHyperlinkFollowed {color:purple;text-decoration:underline;}#yiv5120356030 p.yiv5120356030MsoListParagraph, #yiv5120356030 li.yiv5120356030MsoListParagraph, #yiv5120356030 div.yiv5120356030MsoListParagraph {margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;font-size:11.0pt;font-family:"Calibri", "sans-serif";}#yiv5120356030 span.yiv5120356030EmailStyle17 {font-family:"Calibri", "sans-serif";color:windowtext;}#yiv5120356030 .yiv5120356030MsoChpDefault {font-family:"Calibri", "sans-serif";} _filtered #yiv5120356030 {margin:1.0in 1.0in 1.0in 1.0in;}#yiv5120356030 div.yiv5120356030WordSection1 {}#yiv5120356030 _filtered #yiv5120356030 {} _filtered #yiv5120356030 {} _filtered #yiv5120356030 {} _filtered #yiv5120356030 {} _filtered #yiv5120356030 {} _filtered #yiv5120356030 {} _filtered #yiv5120356030 {} _filtered #yiv5120356030 {} _filtered #yiv5120356030 {} _filtered #yiv5120356030 {}#yiv5120356030 ol {margin-bottom:0in;}#yiv5120356030 ul {margin-bottom:0in;}-->Hello experts,    I have legacy forward proxy used in enterprise network facing to internet behind firewall. Unfortunately it cannot do partial object caching. I am looking if I can get an alternate proxy to do this. My requirement is: 1.      Partial object caching so updates by apple etc. can be cached. Also video caching will just work. 2.      Streaming to multiple client at same time should be possible from single server connection.    It seems varnish can do above stuff. But it works effectively as reverse proxy, so I have to position it before my proxy, as it cannot work as upstream proxy directly. Also its cache seems gets vanished after restart(Everything in cache is from heap). Do you guys know if ATS can do this functionality? I believe it is not possible, but I thought just ask if we achieve this by any means. A pointing to how to would be really appreciated.       Thank you from Newbie, Madhava 

  

Re: partial object caching

Posted by Sudheer Vinukonda <su...@yahoo-inc.com>.
Yes, background_fill allows ATS to continue the object download after the client that initiated the request aborts. However, this feature alone doesn't help in working around the byte range cache issue. AFAIK, you will need background_fetch plugin independent of background_fill.
In more detail, without background_fetch enabled, (on a cache miss) a byte range request would only result in ATS fetching the requested byte range from the Origin. Enabling background_fill will only help complete that partial byte range download and not the full object download. Whereas, with background_fetch enabled, (on a cache miss) a byte range request would result in two separate requests - one for the requested byte range and a second (independent) request for the full object.
Thanks,
Sudheer 


     On Thursday, August 6, 2015 12:18 PM, Mateusz Zajakala <za...@gmail.com> wrote:
   

 One question about the background fetch plugin. How does it relate (if at all) to configs
proxy.config.http.background_fill_completed_threshold
proxy.config.http.background_fill_active_timeout

If I understand correctly these configs instruct ATS to continue fetching file from origin even though the client may disconnect. I also understand that background fetch plugin does a similar thing when client issues a byte-range request.

The interesting thing is that when byte-range request comes from the client ATS reports in logs:
ERR_CLIENT_ABORT/206

So - is background_fill going to kick in? Or do I need the background fetch plugin?

Ps. The case is delivery (streaming / progressive download) of large (>1GB) video files with clients issueing range requests.


On Thu, Aug 6, 2015 at 6:00 PM, Madhava Gaikwad (madgaikw) <ma...@cisco.com> wrote:

This is a problem even with varnish. Let me assess where I can quickly fix this. We need one level of indirection(cache) to store the hashes of RR of same URLs and then need a correct coalesce operator. Thanks for the confirmation and help. Let me get back to you with my findings. Madhava From: Rushford, John [mailto:John_Rushford@cable.comcast.com]
Sent: Thursday, August 06, 2015 9:15 PM
To: users@trafficserver.apache.org
Subject: Re: partial object caching Yes, the requests may be served from cache only if the requested range was previously requested.  If you find that all clients are requesting the same ranges, the plugin would be of help. Thanks-- John J. RushfordIPCDN Engineering1400 Wewatta Street, Denver Colorado 80202John_Rushford@cable.comcast.com           From: "Madhava Gaikwad (madgaikw)" <ma...@cisco.com>
Reply-To: "users@trafficserver.apache.org" <us...@trafficserver.apache.org>
Date: Thursday, August 6, 2015 at 9:35 AM
To: "users@trafficserver.apache.org" <us...@trafficserver.apache.org>
Subject: RE: partial object caching Thanks for the response John. This really looks promising and it meets my first requirement. Yes, I wanted to talk about that too. If first client send RR for 1-10 bytes and another RR for 11-20 bytes. If second client comes and asks for 1-12 bytes, this will still cause a fresh fetch request, and cannot be served from cache. Thank you.Madhava From: Rushford, John [mailto:John_Rushford@cable.comcast.com]
Sent: Thursday, August 06, 2015 8:41 PM
To: users@trafficserver.apache.org
Subject: Re: partial object caching Madhava, I recently submitted a range request plugin for ATS.  If your analysis shows that clients are deterministic with range requests, my plugin may be of use to you.  See plugins/experimental/cache_range_requests/ Thanks-- John J. RushfordIPCDN Engineering1400 Wewatta Street, Denver Colorado 80202John_Rushford@cable.comcast.com           From: "Madhava Gaikwad (madgaikw)" <ma...@cisco.com>
Reply-To: "users@trafficserver.apache.org" <us...@trafficserver.apache.org>
Date: Thursday, August 6, 2015 at 1:29 AM
To: "users@trafficserver.apache.org" <us...@trafficserver.apache.org>
Subject: partial object caching Hello experts, I have legacy forward proxy used in enterprise network facing to internet behind firewall. Unfortunately it cannot do partial object caching. I am looking if I can get an alternate proxy to do this.My requirement is:1.      Partial object caching so updates by apple etc. can be cached. Also video caching will just work.2.      Streaming to multiple client at same time should be possible from single server connection. It seems varnish can do above stuff. But it works effectively as reverse proxy, so I have to position it before my proxy, as it cannot work as upstream proxy directly. Also its cache seems gets vanished after restart(Everything in cache is from heap).Do you guys know if ATS can do this functionality? I believe it is not possible, but I thought just ask if we achieve this by any means. A pointing to how to would be really appreciated.  Thank you from Newbie,Madhava



  

Re: partial object caching

Posted by Mateusz Zajakala <za...@gmail.com>.
One question about the background fetch plugin. How does it relate (if at
all) to configs
proxy.config.http.background_fill_completed_threshold
proxy.config.http.background_fill_active_timeout

If I understand correctly these configs instruct ATS to continue fetching
file from origin even though the client may disconnect. I also understand
that background fetch plugin does a similar thing when client issues a
byte-range request.

The interesting thing is that when byte-range request comes from the client
ATS reports in logs:
ERR_CLIENT_ABORT/206

So - is background_fill going to kick in? Or do I need the background fetch
plugin?

Ps. The case is delivery (streaming / progressive download) of large (>1GB)
video files with clients issueing range requests.


On Thu, Aug 6, 2015 at 6:00 PM, Madhava Gaikwad (madgaikw) <
madgaikw@cisco.com> wrote:

> This is a problem even with varnish. Let me assess where I can quickly fix
> this. We need one level of indirection(cache) to store the hashes of RR of
> same URLs and then need a correct coalesce operator.
>
>
>
> Thanks for the confirmation and help. Let me get back to you with my
> findings.
>
>
>
> Madhava
>
>
>
> *From:* Rushford, John [mailto:John_Rushford@cable.comcast.com]
> *Sent:* Thursday, August 06, 2015 9:15 PM
>
> *To:* users@trafficserver.apache.org
> *Subject:* Re: partial object caching
>
>
>
> Yes, the requests may be served from cache only if the requested range was
> previously requested.  If you find that all clients are requesting the same
> ranges, the plugin would be of help.
>
>
>
> *Thanks*
>
> --
>
> John J. Rushford
>
> IPCDN Engineering
>
> 1400 Wewatta Street, Denver Colorado 80202
>
> John_Rushford@cable.comcast.com
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *From: *"Madhava Gaikwad (madgaikw)" <ma...@cisco.com>
> *Reply-To: *"users@trafficserver.apache.org" <
> users@trafficserver.apache.org>
> *Date: *Thursday, August 6, 2015 at 9:35 AM
> *To: *"users@trafficserver.apache.org" <us...@trafficserver.apache.org>
> *Subject: *RE: partial object caching
>
>
>
> Thanks for the response John. This really looks promising and it meets my
> first requirement. Yes, I wanted to talk about that too. If first client
> send RR for 1-10 bytes and another RR for 11-20 bytes. If second client
> comes and asks for 1-12 bytes, this will still cause a fresh fetch request,
> and cannot be served from cache.
>
>
>
> Thank you.
>
> Madhava
>
>
>
> *From:* Rushford, John [mailto:John_Rushford@cable.comcast.com
> <Jo...@cable.comcast.com>]
> *Sent:* Thursday, August 06, 2015 8:41 PM
> *To:* users@trafficserver.apache.org
> *Subject:* Re: partial object caching
>
>
>
> Madhava,
>
>
>
> I recently submitted a range request plugin for ATS.  If your analysis
> shows that clients are deterministic with range requests, my plugin may be
> of use to you.  See plugins/experimental/cache_*range_*requests/
>
>
>
> *Thanks*
>
> --
>
> John J. Rushford
>
> IPCDN Engineering
>
> 1400 Wewatta Street, Denver Colorado 80202
>
> John_Rushford@cable.comcast.com
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *From: *"Madhava Gaikwad (madgaikw)" <ma...@cisco.com>
> *Reply-To: *"users@trafficserver.apache.org" <
> users@trafficserver.apache.org>
> *Date: *Thursday, August 6, 2015 at 1:29 AM
> *To: *"users@trafficserver.apache.org" <us...@trafficserver.apache.org>
> *Subject: *partial object caching
>
>
>
> Hello experts,
>
>
>
> I have legacy forward proxy used in enterprise network facing to internet
> behind firewall. Unfortunately it cannot do partial object caching. I am
> looking if I can get an alternate proxy to do this.
>
> My requirement is:
>
> 1.       Partial object caching so updates by apple etc. can be cached.
> Also video caching will just work.
>
> 2.       Streaming to multiple client at same time should be possible
> from single server connection.
>
>
>
> It seems varnish can do above stuff. But it works effectively as reverse
> proxy, so I have to position it before my proxy, as it cannot work as
> upstream proxy directly. Also its cache seems gets vanished after
> restart(Everything in cache is from heap).
>
> Do you guys know if ATS can do this functionality? I believe it is not
> possible, but I thought just ask if we achieve this by any means. A
> pointing to how to would be really appreciated.
>
>
>
>
>
> Thank you from Newbie,
>
> Madhava
>

RE: partial object caching

Posted by "Madhava Gaikwad (madgaikw)" <ma...@cisco.com>.
This is a problem even with varnish. Let me assess where I can quickly fix this. We need one level of indirection(cache) to store the hashes of RR of same URLs and then need a correct coalesce operator.

Thanks for the confirmation and help. Let me get back to you with my findings.

Madhava

From: Rushford, John [mailto:John_Rushford@cable.comcast.com]
Sent: Thursday, August 06, 2015 9:15 PM
To: users@trafficserver.apache.org
Subject: Re: partial object caching

Yes, the requests may be served from cache only if the requested range was previously requested.  If you find that all clients are requesting the same ranges, the plugin would be of help.

Thanks
--
John J. Rushford
IPCDN Engineering
1400 Wewatta Street, Denver Colorado 80202
John_Rushford@cable.comcast.com<ma...@cable.comcast.com>











From: "Madhava Gaikwad (madgaikw)" <ma...@cisco.com>>
Reply-To: "users@trafficserver.apache.org<ma...@trafficserver.apache.org>" <us...@trafficserver.apache.org>>
Date: Thursday, August 6, 2015 at 9:35 AM
To: "users@trafficserver.apache.org<ma...@trafficserver.apache.org>" <us...@trafficserver.apache.org>>
Subject: RE: partial object caching

Thanks for the response John. This really looks promising and it meets my first requirement. Yes, I wanted to talk about that too. If first client send RR for 1-10 bytes and another RR for 11-20 bytes. If second client comes and asks for 1-12 bytes, this will still cause a fresh fetch request, and cannot be served from cache.

Thank you.
Madhava

From: Rushford, John [mailto:John_Rushford@cable.comcast.com]
Sent: Thursday, August 06, 2015 8:41 PM
To: users@trafficserver.apache.org<ma...@trafficserver.apache.org>
Subject: Re: partial object caching

Madhava,

I recently submitted a range request plugin for ATS.  If your analysis shows that clients are deterministic with range requests, my plugin may be of use to you.  See plugins/experimental/cache_range_requests/

Thanks
--
John J. Rushford
IPCDN Engineering
1400 Wewatta Street, Denver Colorado 80202
John_Rushford@cable.comcast.com<ma...@cable.comcast.com>











From: "Madhava Gaikwad (madgaikw)" <ma...@cisco.com>>
Reply-To: "users@trafficserver.apache.org<ma...@trafficserver.apache.org>" <us...@trafficserver.apache.org>>
Date: Thursday, August 6, 2015 at 1:29 AM
To: "users@trafficserver.apache.org<ma...@trafficserver.apache.org>" <us...@trafficserver.apache.org>>
Subject: partial object caching

Hello experts,

I have legacy forward proxy used in enterprise network facing to internet behind firewall. Unfortunately it cannot do partial object caching. I am looking if I can get an alternate proxy to do this.
My requirement is:

1.       Partial object caching so updates by apple etc. can be cached. Also video caching will just work.

2.       Streaming to multiple client at same time should be possible from single server connection.

It seems varnish can do above stuff. But it works effectively as reverse proxy, so I have to position it before my proxy, as it cannot work as upstream proxy directly. Also its cache seems gets vanished after restart(Everything in cache is from heap).
Do you guys know if ATS can do this functionality? I believe it is not possible, but I thought just ask if we achieve this by any means. A pointing to how to would be really appreciated.


Thank you from Newbie,
Madhava

Re: partial object caching

Posted by "Rushford, John" <Jo...@cable.comcast.com>.
Yes, the requests may be served from cache only if the requested range was previously requested.  If you find that all clients are requesting the same ranges, the plugin would be of help.

Thanks
--
John J. Rushford
IPCDN Engineering
1400 Wewatta Street, Denver Colorado 80202
John_Rushford@cable.comcast.com











From: "Madhava Gaikwad (madgaikw)" <ma...@cisco.com>>
Reply-To: "users@trafficserver.apache.org<ma...@trafficserver.apache.org>" <us...@trafficserver.apache.org>>
Date: Thursday, August 6, 2015 at 9:35 AM
To: "users@trafficserver.apache.org<ma...@trafficserver.apache.org>" <us...@trafficserver.apache.org>>
Subject: RE: partial object caching

Thanks for the response John. This really looks promising and it meets my first requirement. Yes, I wanted to talk about that too. If first client send RR for 1-10 bytes and another RR for 11-20 bytes. If second client comes and asks for 1-12 bytes, this will still cause a fresh fetch request, and cannot be served from cache.

Thank you.
Madhava

From: Rushford, John [mailto:John_Rushford@cable.comcast.com]
Sent: Thursday, August 06, 2015 8:41 PM
To: users@trafficserver.apache.org<ma...@trafficserver.apache.org>
Subject: Re: partial object caching

Madhava,

I recently submitted a range request plugin for ATS.  If your analysis shows that clients are deterministic with range requests, my plugin may be of use to you.  See plugins/experimental/cache_range_requests/

Thanks
--
John J. Rushford
IPCDN Engineering
1400 Wewatta Street, Denver Colorado 80202
John_Rushford@cable.comcast.com<ma...@cable.comcast.com>











From: "Madhava Gaikwad (madgaikw)" <ma...@cisco.com>>
Reply-To: "users@trafficserver.apache.org<ma...@trafficserver.apache.org>" <us...@trafficserver.apache.org>>
Date: Thursday, August 6, 2015 at 1:29 AM
To: "users@trafficserver.apache.org<ma...@trafficserver.apache.org>" <us...@trafficserver.apache.org>>
Subject: partial object caching

Hello experts,

I have legacy forward proxy used in enterprise network facing to internet behind firewall. Unfortunately it cannot do partial object caching. I am looking if I can get an alternate proxy to do this.
My requirement is:

1.       Partial object caching so updates by apple etc. can be cached. Also video caching will just work.

2.       Streaming to multiple client at same time should be possible from single server connection.

It seems varnish can do above stuff. But it works effectively as reverse proxy, so I have to position it before my proxy, as it cannot work as upstream proxy directly. Also its cache seems gets vanished after restart(Everything in cache is from heap).
Do you guys know if ATS can do this functionality? I believe it is not possible, but I thought just ask if we achieve this by any means. A pointing to how to would be really appreciated.


Thank you from Newbie,
Madhava

RE: partial object caching

Posted by "Madhava Gaikwad (madgaikw)" <ma...@cisco.com>.
Thanks for the response John. This really looks promising and it meets my first requirement. Yes, I wanted to talk about that too. If first client send RR for 1-10 bytes and another RR for 11-20 bytes. If second client comes and asks for 1-12 bytes, this will still cause a fresh fetch request, and cannot be served from cache.

Thank you.
Madhava

From: Rushford, John [mailto:John_Rushford@cable.comcast.com]
Sent: Thursday, August 06, 2015 8:41 PM
To: users@trafficserver.apache.org
Subject: Re: partial object caching

Madhava,

I recently submitted a range request plugin for ATS.  If your analysis shows that clients are deterministic with range requests, my plugin may be of use to you.  See plugins/experimental/cache_range_requests/

Thanks
--
John J. Rushford
IPCDN Engineering
1400 Wewatta Street, Denver Colorado 80202
John_Rushford@cable.comcast.com<ma...@cable.comcast.com>











From: "Madhava Gaikwad (madgaikw)" <ma...@cisco.com>>
Reply-To: "users@trafficserver.apache.org<ma...@trafficserver.apache.org>" <us...@trafficserver.apache.org>>
Date: Thursday, August 6, 2015 at 1:29 AM
To: "users@trafficserver.apache.org<ma...@trafficserver.apache.org>" <us...@trafficserver.apache.org>>
Subject: partial object caching

Hello experts,

I have legacy forward proxy used in enterprise network facing to internet behind firewall. Unfortunately it cannot do partial object caching. I am looking if I can get an alternate proxy to do this.
My requirement is:

1.       Partial object caching so updates by apple etc. can be cached. Also video caching will just work.

2.       Streaming to multiple client at same time should be possible from single server connection.

It seems varnish can do above stuff. But it works effectively as reverse proxy, so I have to position it before my proxy, as it cannot work as upstream proxy directly. Also its cache seems gets vanished after restart(Everything in cache is from heap).
Do you guys know if ATS can do this functionality? I believe it is not possible, but I thought just ask if we achieve this by any means. A pointing to how to would be really appreciated.


Thank you from Newbie,
Madhava

Re: partial object caching

Posted by "Rushford, John" <Jo...@cable.comcast.com>.
Madhava,

I recently submitted a range request plugin for ATS.  If your analysis shows that clients are deterministic with range requests, my plugin may be of use to you.  See plugins/experimental/cache_range_requests/

Thanks
--
John J. Rushford
IPCDN Engineering
1400 Wewatta Street, Denver Colorado 80202
John_Rushford@cable.comcast.com











From: "Madhava Gaikwad (madgaikw)" <ma...@cisco.com>>
Reply-To: "users@trafficserver.apache.org<ma...@trafficserver.apache.org>" <us...@trafficserver.apache.org>>
Date: Thursday, August 6, 2015 at 1:29 AM
To: "users@trafficserver.apache.org<ma...@trafficserver.apache.org>" <us...@trafficserver.apache.org>>
Subject: partial object caching

Hello experts,

I have legacy forward proxy used in enterprise network facing to internet behind firewall. Unfortunately it cannot do partial object caching. I am looking if I can get an alternate proxy to do this.
My requirement is:

1.       Partial object caching so updates by apple etc. can be cached. Also video caching will just work.

2.       Streaming to multiple client at same time should be possible from single server connection.

It seems varnish can do above stuff. But it works effectively as reverse proxy, so I have to position it before my proxy, as it cannot work as upstream proxy directly. Also its cache seems gets vanished after restart(Everything in cache is from heap).
Do you guys know if ATS can do this functionality? I believe it is not possible, but I thought just ask if we achieve this by any means. A pointing to how to would be really appreciated.


Thank you from Newbie,
Madhava