Charles Brooks,
Murray S. Mazer,
Scott Meeks, and
Jim Miller
Typically, a WWW client (usually a browser) sends an HTTP request directly to the target WWW server, and that server returns the response directly to the client. WWW proxy servers [7] were designed to provide gateway access to the Web for people on closed subnets who could only access the Internet through a firewall machine. In the proxy technique, the WWW client sends the full URL (including protocol and server portions) to the designated proxy, which then connects to the desired server via the desired protocol, issues the request, and forwards the result back to the initial client. The key observation is that the client uses HTTP to communicate with the proxy, regardless of the protocol specified in the URL. An addition to proxy servers gave them the ability to cache retrieved documents to improve access latencies [7].
WWW clients and servers normally expect that the network will transport messages between them with the content unchanged; this is true whether a proxy is in the stream or not. That is, the correspondents expect the client's request to arrive at the server with exactly the content transmitted by the client, and they expect the server's response to reach the client intact. The underlying assumption is that the network is simply a mechanism for transporting messages between the communicating entities but is not a mechanism for applying application-specific processing to the message contents. A caching proxy, which may elect to serve the response itself instead of forwarding the request to the designated server, starts to challenge that assumption. Similarly, a load-balancing proxy, which might select a mirror site for a given request instead of the designated server, in order to reflect current network behavior, would further challenge that assumption. In both of these cases, the request may not reach the designated server, but the response likely reaches the client intact.
We challenge this assumption even further: we suggest that, for some classes of client/server applications and their network transactions, substantial value may arise from inserting, into the communication stream, application-specific transducers that may view and potentially alter the message contents. We are testing this hypothesis in the context of the World Wide Web, by building a sample set of proxy-based transducers that are bound to the HTTP request/response stream. This approach extends the ``standard'' WWW architecture in a way we believe is both novel and useful.
The rest of this paper proceeds as follows. First, we describe the motivation for introducing transducers into the HTTP stream. Then we review our approach to building and using this enhanced architectural component. We describe some examples, followed by a discussion of our publicly available toolkit [8], its implementation, and its performance. Finally, we consider some future work.
We are developing this technology in the context of a larger research program, into approaches to building computerized browsing assistants [12] to aid the human user in accessing relevant information on the Web. We hypothesize that some of the browsing assistance is best achieved by monitoring and processing the HTTP stream between the user's browser and the Web. As an independent example, the idea of using an application-specific proxy was recently advocated for non-intrusive community content control[2]. Further, group-related assistance may arise from processing the stream between a workgroup's browsers and the Web; we are investigating a number of issues in this area.
We view the transducers as having four classes of functionality:
Here are some illustrative examples of each class in the WWW context:
These transducers are essentially specialized processing modules, whose inputs include at least the HTTP stream. They may also take input from other sources, may communicate with other processing modules, and may create output of any kind appropriate to their function. For example, a full-text indexer could produce an index searchable via a Web form.
These transducers may serve at least four classes of users:
Our approach clearly derives from the proxy server model: as illustrated below in Figure 1 for WWW browsers and servers, one can use the mechanism to insert other kinds of processing entities into the stream.
Figure 1. An OreO as part of the HTTP stream
Homemade Bikini Contest
long dildo ass video Sex Sims
husband accused of sexually harrassing young women and girls Tiny Sex
anne hudgens nude Free Movie Porn pussy deluxe
gay sex audio Jamie Pressly Nude preteennudes
free porn photo gallery Tiny Little Lolitas Nude
pictures of naked prisoners Furry Pussy fresh bdsm
Sexy Horny Moms
Worsley Underground Canal
Illuminary Floral Designs mom sex videos
suck own cock Gays Civil Rights kate richie sex video
lyrics to jump the fuck up Dildo Teens maya devine mommy got boobs
boysfirstporn Daily Lesbian Videos
Virtual Child Pornography military sex
Betty Boobs
disney high school musical nude photos Classic Adult Porn Stars free black cock
tits sex free paris hilton Saratoga Springs Sex Addicts
Stream Porn threesome xxx
Naked Women Pictures Video Free completely naked women
Cuckold Free Hotwife Creampie Story incest sex free stories
Melissa joan hart nude fakes
Nude teen films wwe maria kanellis nude
Nude teen 15 nude body female
madonna nude photo playboy Catfight nude christian aguilera nude
Non nude school
robbs nude celeb Anne hathaway nude havoc video
dead or alive girls nude Teen daughters nude rihanna in nude photo scandal
Free nude amateur girls
Gia from rock of love nude
Daniel radcliffe completely nude nude sreya
nude ballbusting Russian nude nude pics of nikki nova
nude fitness models videos Carlton elizabeth nude free nude centerfold
paris hilton nude clips German nude teens
Men sleeping nude parent directory images nude
Rosana arquette nude
nude persian teens What is a nude beach abby sessoms nude
brooke burke nude picture Normal girl nude
Pamela anderson nude vagina non nude 12 yo
Nude beauty contest pictures bianca beaucamp nude
Miley cyrus leaked nude playboys nude celebrities 2007
shemale orgasm Fuckmymelons
sex wedge Free Nude Pussy Thumbnails
wwe diva porn Free Gay Porn Games
black gay anal 5 Minute Sex Clips hot girl sex
jobs for teens 13up Free Wife Sex Stories illegal porn tube
free fetish videos Guy Eating Creampie
beautiful boobs Ok2bgay gramma mature stories
Skinny Teens
Sexyblogspot
Masturbation Pics how 2 suck a pussy
brunettes naked Income Based Apartments In Essex County Nj jessica steen
gay latin stud video Muslim Hirsute Pussy sextips
analogies Old Xxx Babes
Children And Cockroach Bite amature girls images posting
European Gay Social Clubs
redhead porn Preteen Model Videos porno vault
back burger xxx Ivana Fuckalot 2007
Beloit Sex Pics nude pics of britney spears
Pastoral Poems nude little lolitas
Sexy Pretty Naked Girl Legs stories sex strip poker
Pub Crawl Sex Games
myspace sex birthday comments Taboo Twins Sister Sex
tonta harding sex clips Bat Girl Sex Comic
sex video's free samples Play Anima Sex Games vest sex position picures
same sex marriage oppose Door Restraints Sex Toys sex after female menopause
ukrainian mature sex tube Sex Porn Games Com
freak dancing to sex Avi Video And Sex sex education in canada
Best Taboo Sex Stories
Bi Sexual Sex Videos
Daily Sex Routine Video development of sex organs
hot air balloon sex Free Latina Sex Pics sex south san francisco
actress on sex photo Bullet Boy Sex Scene rescue fantasy porn sex
drunk teen sex video Adult Sex Flash Arcade
Free Asin Sex Movies lubricants for anal sex
Naughty Boy Sex Toy
sex lubricants for men Sex In The Playground tiny japanese teen sex
spagetti sex whipping women Roxanna Diaz Sex Tape
Woman For Sex London womens sex pills work
Find Shower Sex Videos pantyhose sex videos free
Jennifer Lopez Sex Photos mobile sex video sites
You Toube Sex
sex cam cenyral Sex Personal Assistancce
yellow 13 sex Exciting Loving Sex
sex free best Yvonne Strahovsky Sex escorted sex vacations
rt pantyhose sex Brian Griffin Sex muslim phone sex
web sex serchs Sottish Female Sex
animated sex viedos Leabian Oral Sex wet sex costume
Erotic Sex Ideas
Totaly Spys Sex
Toddler Sex Sluts the pitcher sex
sex message parlour Ice Sex Teen ballet and sex
animal sex oops Sex Comics Jon chimps having sex
sexed suckled download Sex Vidios Downloads
Not Likeing Sex amazing sex tips
Triplets Lesbian Sex
big cucumber sex Janes Sex Review mother sex mpegs
newport sex scandal Malayali Sex Vedio
Amatuer Sex Channels jenna\'s sex star
Dpahne Blake Sex incredibles sex xxx
Matur Sex Video sex beginners guide
universal management group gsd group
interest group political american plastics group
hip performance group blue man group briar street the difference between a group and a team
group administrators il freedom investment group rights and resources group
danu irish group jacobs engineering group inc tech
borderline personality disorder group history of group sex investment management consulting group
group of adolescents
group activity game
spal group company basis discussion group
music group l allen group the group sex tube8
group insurance trust group hate crossroads counseling group
group therapy cartoons celiac disease support group
italy tour group group tranny sex
ideal property group
group 1 atoms northeast consulting group current group discussion
group activities adults arag group legal services
group writing exercises divine music group
exit realty deaton group blue kacheek group
periodic table group a 6594th test group
financial services working group group sex lesbians emerald medical group
xxx pics and videos Final fantasy yuna xxx
Road head xxx xxx porn pass
Xxx girle anime hentia xxx
xxx ebony sex Shameless xxx xxx gilr
Streaming hentai xxx
xxx movies hd Cartonn xxx
wicked xxx movies Jan xxx grim adventures of billy and mandy xxx
Older mom xxx
Paris hilton sex xxx
Xxx forced porn xxx main picture glue
adult free xxx Free xxx flash games black sex xxx video
white sluts xxx Free xxx german vintage xxx videos
xxx fan fiction Dirty xxx girls
Caty xxx free big tit xxx
Asian porno xxx
xxx girl on girl action Orgia xxx dragonball z xxx pics
samuraix xxx Asian adult xxx
Android 18 xxx xxx pornovideos
Xxx galleries movies shin chan xxx
Anime lesbians xxx xxx horror porn
Free bisex video
Hentai movie forum bull chicago video
Anara video tape hardcore wrestling video clip
bobbi eden movies Video adulti game hook video
Manticore movie
hampton roads movie Party sex video sample
college party movie Pattycake online movies advent children movie torrent
Free bi sexual video
Swinger party movies
Bad sports movies cars racing video
princess aiko video Rogers video rental store free online movie sites
van diesel films Movie critic gene interpol live video
movie naked prey Dbz video games
Movie palace hamilton ontario girl little match movie
Eminem superman video clip
adult movie pass Alanis ironic morissette video pocahontas movie characters
download king rodney video Burn download video
Apv films londonderry movie nh theater
Intel 82815 video drivers sorenson video 3 codec
Unsinkable molly brown movie dizzee rascal video codes
Strip Sex Public
simulated sister sex Victorian Nude Sex
jamaican phone sex Sex Girl But
handcuff bed sex Girdle Sissy Sex sex machine asian
voyuered beach sex Hospital Nurse Sex sex comics 2d
sex stroies bbw Young Sex Vidies
korean girl sex Rape Sex Scenes sex during exercise
Safer Sex Lesbian
Interracial Threesome Sex
Utah Sex Offendes horse sex creampie
korean tenn sex Lost Bet Sex korean sex amateurs
free sex narratives Buddhism And Sex girlfriedn sex vids
real sex polls Sex Spokane Washington
Nasty Ghetto Sex chunky girl sex
Thugs 4 Sex
tiffany joslyn sex Sex Tourism Derby hawthorn berry sex
sex blow jobs Tripple Sex Penetration
Sex Female Condon skype sex babes
Lesbian Older Sex movie sex streaming
Celebrities Sex Movies swnger sex stories
Kate Winslet Sex Scne
free porn world sex Soha Ali Khan Sex
real homade sex videos Hot Wives Sex Videos
black strip club sex videos Sq Techno Sex fantasy girl sex
moms and daughters having sex together Sex Machine Vibrator new sex trick
hot lebians sex Celebrity Fake Sex Pics
free sex movies doctor Real Gay Men Sex trailer park sex stories
Seinfeld Sex Game
How To Have Sex With A Porn Star
Student Teacher Sex Movies sex scenes in gta 4
sex xxx ass Arabic Sex Images registered sex offenders in mo
amatuer latina sex Free Full Length Incest Sex Videos men sex with girl
do sex sites work Free Anna Nicole Smith Sex Videos
Nikki Hilton Sex Tape hermaphrodites video sex
How To Make Anal Sex More Comfortable
tall women sex videos Sex And Rum men sex tools
group sex party photos Free Sex Parties Videos
Erotic Lingerie Sex verne troy sex tape
English Sex Tube meget sex
Coolstreaming Sex sex rated r
Naked Sex Woman
sissy cock sex Split Roast Sex
online sex sims Office And Sex
minor sex laws Romantic Love Sex video speedo sex
bangla private sex Stockings Sex Pics sex prosituts montreal
sex and muscle Bite Sex Gay
clombia animal sex Young Sex Fetish dracula and sex
Sex Bodypainting Pics
Keral Sex Story
Baby Sex Predicition sleepwalking and sex
skirt party sex Sex Recovery Time internet sex rater
alt sex storiews Pokemon Sex Animataion workout pants sex
amature sex tubes Nudist Outdoor Sex
Anal Sex Swing prep anal sex
Love Makeing Sex
gillian\'s sex tape Kerie Hart Sex audition sex men
celeberty sex photos Black Sex Ppv
Evangalist Gay Sex ebony sex albany
Cyber Sex O adult picture sex
30 Petite Sex skeletal sex determination
Preview Xxx
free xxx ass Real Xxx
milf bone 3 xxx dvdrip xvid divxfactory Sex Xxx Arabic
free xxx hard core porn Porno Xxx Imagenes sinhala xxx videos
sly cooper xxx Main Xxx bideos porno xxx
mobile xxx free Mexicana Xxx
final fantasy xxx video Pakistani Sex Xxx xxx hentia videos
Free Xxx Videos Hardcore
Hot Xxx Girl
Bangladeshi Xxx Video videos xxx dormidas
xxx thums Naruto Xxx Vids movies xxx samples
free wap xxx Xxx Old Ladies sporty xxx
hentai xxx free videos Pajinas Xxx
Mom 46 Son Xxx gatomon xxx
Predator 2 The Return Xxx
asian xxx mp4 Middle School Xxx 13 years old xxx
free watch online xxx Ebony Xxx Video
Xxx Belly Dance gail force and friends xxx workout
Xxx Videoporno sexe video xxx
Taboo Porn Xxx sexo porno xxx
A Porn Videos
johnny gunn porn Natasha From Rock Of Love Does Porn
cougar porn movies Chocolate Ass Porn
sandy sweet free porn forum Elf Sex Porn my best friend\'s mom porn
best homemade porn video Babaloo Porn slut tube porn
porn boy on boy Suite Life Of Zack And Cody Porn
little girl child porn Gay Japan Porn cunnilingus porn
Free Ebony Porn Download
Gay Cartoon Comic Porn
Titties Porn porn muslim
wrangler porn Myles Hernandez Porn military women porn
two girls one guy porn Mature Porn Online india porn tgp
free black bubble butt porn Gabrielle Lupin Porn
Internet Free Porn your amateur porn tube
Free Unusual Porn
asian porn video download Nasty Grandma Porn free chubby bear porn
free real rape porn videos The Lord Of The Rings Porn
Cock Porn Pictures free downloadable cartoon porn videos
Bouncer Porn darryl hanah free porn
Tight Porn Pics gay porn in public
Crying Fuck
fuck chris brown song Electro Fuck
mom fuck stream Fuck A Dude
island fuck White And Black Fuck fuck the nanny
fuck toon games Womens Fuck fuck a neighbor
couple fuck on webcam School Teen Fuck
fuck gents Lil Wayne Fuck Tha World Lyrics public humiliation fuck
Fuck Friend Lyrics
Hookers Fuck
Fuck Girls Vedio momy fuck son
fuck go Parents Fuck You Up Poem fuck english girls
perfect ass fuck Slut Fuck Videos dog fuck mature
pov fuck free As Bad As You Wanna Fuck I Wanna Fuck Too
Fuck Top horse fuck with girl
Moroccan Fuck
hot wife rio fuck I D Rather Fuck With You Eazy E fuck his cock
blonde big tits fuck Fuck Her Videos
Filipina Fuck Video brothers fuck sister
Fuck A Gang wendy ho fuck me
Sexy Hot Fuck girl dog fuck
Hot Blowjob Sex
Arabic Blowjob
Old Lady Blowjob striptease and blowjob
dog interrupts blowjob Little Girls Blowjob chloe savigny blowjob
asian blowjob free Linsay Lohan Blowjob blowjob guys
ava devine blowjob videos Shemale Gets A Blowjob
Blowjob My Brother wanda nara blowjob
Blowjob From A Dog
goth blowjob Speed Blowjob blowjob reviews
free hd blowjob movies Blonde Slut Blowjob
Artificial Girl 3 Blowjob fun blowjob
Busty Wife Blowjob blowjob dirty
Superhead Blowjob blowjob in classroom
blowjob photography Extreme Blowjob Pics black blowjob cum
sensual blowjob Blowjob Meaning sister brother blowjob video
Blowjob Matures shyla stylez blowjob video
Blowjob In Public Video maria ozawa blowjob
blowjob techniques video Blowjob Competition Videos amature gay blowjob
paki blowjob Anne Hathaway Havoc Blowjob thai blowjob videos
Big Cock Gay Blowjob blowjob 3d
temptations song my girl Gossip girl 3 2
special occasion little girl dresses Boy and girl jumping how to use a dildo on a girl
the litle girl Young black girl dancing lost girl found
hot star trek girl Nick chat girl sex
i have a crush on this girl Big booty girl video of girl giving head
Free girl pissing video
Girl scout theater badge
Sexy dancing girl video sexy dancing girl video
don t take the girl album Fucking 14 year old girl teen girl stip
madonna bad girl snl Glitch girl episode list of gossip girl
girl who died from drinking too much water Squirting asian girl
Girl riding bikes sex anime girl
Girl with nipples
girl toddler dress shoes Every girl music video by lil wayne sex skinny girl
girl gets attacked by shark 5 guys fucking one girl
Girl orgasm compilation emo girl nude
Girl fucks real doll get girl friends
Girl moaning noise rock of love girl porno
everything but the girl sheet music Girl i wanna lay you down jack milkman girl
girl lil wayne You look kinda cute in that polka dot bakini girl the girl from twilight
i like a bitch A Bitch In Heat damn that bitch is fine
5 star bitch by yo gotti Kristen Stewart Bitch Face a bitch a lover
Lyrics For Baddest Bitch logan you son of a bitch
Im A Bitch Alanis Morrisette
tupac bitch Bitch Cat im in miami bitch remix lyrics
Lyrics Fuck You Bitch lyin\' ass bitch
kyle\'s mom is a bitch mp3 Bitch Slappin fuck that bitch i dont need that bitch
i want my change bitch Id Rather Give You My Bitch Lyrics santa\'s a fat bitch
bitch ass niggers Bitch Boy Tube
You Dirty Bitch no ones the bitch
Is My Bitch Pregnant
you son of bitch Lil Wayne A Bitch kyles mom is a big bitch
metallica bitch Dance Bitch Dance
Dave Chappelle Im Rick James Bitch sexy bitch pics
Fat Bitch Naked bad bitch trina
Fabolous Bad Bitch Lyrics skinny bitch shirt
julia voth bitch slap Gangster Bitch Apache life\'s a bitch sayings
selena roberts is a bitch Im A Fuck A White Bitch cut throat bitch
Webster Bitch god bitch
I\'m A Bitch Im A Lover ultimate bitch slap
Xxx You Tube
meaty pussy lips Mommy Cunt Seducing Son Henry
oral pleasure Free Nude Cheerleader Movies
sexy tits movies Cocksuck melanie griffiths sexy
lesbian sorority Nude Natural Blonde gay cum eating
sex stories Amatuer Naked Videos
games with nude Giant Dick tips on girl masturbation
Android 18 Gets Fucked
Small Dick Humiliation
World Record Cock hot good looking mens with large dicks
british women amateur open Underage Girl Nude Child Sex Free Pic Illegal Gallery naked girl
bestteens Guys Sucking Guys dragon ball xxx
hmong sex Black Lesbian Sex
Teenage Girls Getting Raped free pictures of naked female school teachers
Sophie Monk Nude
scat sex Sandy Hook Nude Beach mature women pics
handjob paradise Free Ilustrated Sex Stories
Webcam Fun jokes for teens
Fucked My Wife edmonton nude models
Free Ebony Teen Movies go track someone uls on line you fuck ip scaner
Nude Celebrity Movie Archives
nude girls on web cams Nude In Theaters
sara miles nude Hot Nude Wife Pics
old ladies in the nude Barbara Howard Nude kimberly holland nude video
redhead girls nude Nude Women Drawings sexy muscle men nude
nancy benoit nude Nude Step Mom
fat pregnant nude Miss California Nude Shots nude gf
Nude Supermodels Video
Ashley Candy Nude Video
Black And White Nude Couples paris hilton hot nude
nude arab male Nude Hairy Beach nude at club
g4 nude Nude Cheerleaders Pic cory nadine nude
hot nude love Julia Ormond Nude Pictures
Tonya Elliott Nude nude sexy japanese girls
Kloe Kardashian Nude Pics
cougar club nude Nude Woman Running linda pearl nude
samos nude Butterface Nude
Andi Pink Nude nude athlete
Sexy Nude Womans dexter laboratory nude
Hillary Duff Nude Pic nude black celbs
brutal first anal free anal pain video
anal creampies pics anal squirt movie
big black butt anal anal piles painful anal penetration
fitness anal pee in anal julia ann anal video
brazilian girls like anal kandi kream anal
blondes that love to do anal dirty daisy anal anal double penetration videos
double anal creampies
vanilla deville office anal
lesbians anal fist lady anal
latina anal fuck your wife to have anal sex anal orgys
double anal cream does anal sex feel gay anal positions
my wife loves anal anal photographs
kates playground anal anal glands on dogs
asleep anal
nina hartley guide to anal free anal mobile porn sweden anal
how to have good gay anal sex ebony porn anal
best anal scenes anal rape erotica
anal bestiality gay anal hardcore
free videos anal black chicks anal
male anal dildo anal birthday drunk girl anal sex
Ron jeremy anal sex anal sex toys video
emo anal fuck Anal while sleeping jade fire anal
black anal milfs Anal mastrabation
free anal por Rough anal rape first anal clips
Margarita does anal
Free anal hard
Pornos anal anal cum bubble
gonzo anal Brazil girls anal milf anal xxx
dirty black anal Male on male anal sex anal sex fetish
losing anal virginity Liz vicious anal videos
Zack and miri make a porno anal scene jo anal lube
Anal pentration
hot blondes anal Extreme anal sex movies anal toys for boys
anal sex with dad Hot anal orgasm
Girls anal video russian milf anal
Teenage anal porn anal action video
Gay anal love female to male anal
g string anal Enemas and anal sex japanese anal whores
rough anal sex videos K9 anal gland anal cumshots pics
Anal hygene anal sex with large penis
sex pistols drummer Young Sex Parters
little kds sex Charity Sex Disabled
sex on bench Casual Sex Brighton
kara sex scene Teenager Sex Movies milk run sex
sex jennie fuck Predators Sex List kitchen sex scene
585 phone sex Diego Sex Dc
first sex tube Mormons Having Sex hentai sex videos
Cleb Sex Clips
Sex Romans History
Sex Free Teenager cheap sex cam
southern sex pic Sex With Reptile trivandrum sex guide
porn demon sex Indian Posh Sex teen auditions sex
kyndra sex tape Sex Magic Wand
Sex Gay Site chinese sex licking
Adoult Having Sex
phone sex latinas Real Sex Swingstock arab sex mpegs
virginity sex games Twlight Sex Gallery
Sex Stories Pos stafford sex catholic
Asian News Sex miami sex dates
Lidsey Lohan Sex taurus sex rough
Mature gay cock sucking xtube fat cock
Best of freaks of cock mother suck son cock
wifes big cock Crossdresser sucking cock girlfriends sucking cock
black cock porn videos Old women love cock twink cock suck
Ass cock pussy big gay monster cock
Angelica\'s heart craves cock
bisexual men sucking cock Teen cock gagging small tranny cock
Black bitches sucking cock free horse cock sex
virginal cunt dog cock Cock whipping stories she hates big black cock
cock crush clips Monsters of shemale cock huge cum cock
cock squirting Big cock gay pic
Freaks of cock movie cock fights video
Suck my shemale cock
amateur cock gallery Asians love cock chastity cock
long horse cock Huge gay cock tgp
Worship the cock art cock
Guy with a big cock school girl sucks cock
Why do white girls like black cock black cock throat fuck
cock ring jewelry Huge cock brothers white teen big black cock
long cock tight pussy Cock fighting in puerto rico big cock abuse
porn billy Longhorn Girls Nude
free clips girls fuck guys Nude Massage
hot new sex toys Nude Celebrity Video Clips
houston gay community Free Porn Sex Video video sex scenes
preteen magazine pics Sex Kilt Man shemales fucking girls
mature blow job xtube porn camelstyle Free Full Length Gay Movies
free porn niggers lactating Private Home Porn Videos anal sex free photos
Black Pussy Chat
Twin Brothers Gay
Aussie Jewel Nude Vids stable sexual partner
white dicks black chicks Free Nude Ladies nude masturbation
gay doctors Open Door Naked Shower Sister young lolita sex
pregnancy signs for teens Smallville Sex
Pedo Bbs Nude high school porno
Independent Phone Sex Operator
nudedude Nude Fat Women latin nudes
fuckmymelons Vanessa Hugdens In The Nude
Teen Witch naked vince vaughn
Freepornowebcam free black on white sex
Sex Shops teen sex videos
x-ray oral sex Anal Group Sex
ohio sex partners Having Sex Dry
pajama sex cum Sex Pics Gallires
vaginal sex videos Bound Sex Comics ren stimpy sex
filetube desi sex Solo Sex Pictures sex party 4
teen moan sex Birthday Sex Lyrics
gay hunks sexs Sex Tape Karshadian ethiopian sex stars
Guys Havin Sex
Horse Sex Boob
Granny Phoe Sex cheerleaders sex orgy
valerie lee sex Cathy Free Sex boys women sex
statutory sex stories Wallpaper Anime Sex myspace sex graphics
sex studies videos Sex N Sun
Msture Sex Videos interracial sex sissy
Sex In Recliner
youngsters sex tapes Small Titty Sex porn sex redtube
showering before sex Weeds Sex Scenes
Amateur Sex Streaming strap-ons sex videos
Gay Sex Boundage sex positions iphone
Sex Meetings Uk mature sex v
brutal first anal free anal pain video
anal creampies pics anal squirt movie
big black butt anal anal piles painful anal penetration
fitness anal pee in anal julia ann anal video
brazilian girls like anal kandi kream anal
blondes that love to do anal dirty daisy anal anal double penetration videos
double anal creampies
vanilla deville office anal
lesbians anal fist lady anal
latina anal fuck your wife to have anal sex anal orgys
double anal cream does anal sex feel gay anal positions
my wife loves anal anal photographs
kates playground anal anal glands on dogs
asleep anal
nina hartley guide to anal free anal mobile porn sweden anal
how to have good gay anal sex ebony porn anal
best anal scenes anal rape erotica
anal bestiality gay anal hardcore
free videos anal black chicks anal
male anal dildo anal birthday drunk girl anal sex
We refer to our HTTP transducers as OreOs (with appropriate
apologies to the cookie makers), because the transducer is structured
with one `wafer' to handle browser-side communication, another `wafer'
to handle server-side communication, and a functional `filling' in the
middle. As illustrated below in Figure 2, the OreOs take advantage of the HTTP
proxy mechanism, essentially appearing as a server to the client side
and as a client to the server side. Because the full URL is delivered
intact to the OreO, the filling can use the scheme, server,
server-relative URL, or request data in its processing.
Figure 2. OreOs can use the HTTP proxy mechanism
In some cases, the OreO will forward the request to another proxy (using HTTP proxy, as illustrated above); in other cases, the OreO may forward the request directly to the designated WWW server.
Figure 3 shows various possible compositions of OreOs to serve the needs of individuals, groups, enterprises, and the public.
Figure 3. Personal, group, enterprise, and public OreO servers
We advocate constructing highly specialized transducers that can be composed to produce more sophisticated aggregate behavior; this contrasts with building monolithic components that are hard to reuse. We propose that these composed functional chains may be configured dynamically as well as statically, on a granularity as fine as per-request or as coarse as per-session or across sessions. Currently, we have experience only with static configurations.
Our approach reflects the "stream model" of signal processing (later adopted and extended by the functional programming community [1]). Viewing the connection between the client and the server as a stream of data, one can build a standard box which accepts one or more such streams as input and produces one or more such streams as output. Each box can execute specialized processing on the stream(s). All of the boxes have the same basic interface (stream-in/stream-out), so they can be connected together, producing sophisticated processing from the composition of simple processing elements.
We expect that the selection of which transducers to use in which situations will in some cases be preconfigured, in others be under administrative control, in others be under user control, and in still others, be under OreO control. For applications which offer the user some direct control over the selection and invocation of network transactions, users will be able to select the functional modules to be used.
We have built several example HTTP transducers; these are meant to be evocative, rather than definitive. The first was constructed by deconstructing a CERN httpd and inserting the desired processing (written in C). The remainder were constructed in various languages using the toolkit discussed below. In addition, some of the functionality is enhanced by use of our internally-developed experimental browser, Ariadne[9]. Here are some examples; others are under development:
As becomes clear through these examples, an OreO will often create some sort of information space (e.g., full-text index or group history) that may be made available to the user through a variety of mechanisms, such as
To ease the task of building these transducers, we have produced a toolkit [OSF95a][8] which allows the filling developer to focus on the application-specific aspects of the transducer. In the initial version of the toolkit, we provide a `shell' that implements the `wafers' between which the filling is placed. The developer may use any program development system to create the filling, which is simply executed by the shell after it performs appropriate setup functions. The shell ensures that the filling is connected into the request/ response stream, so that the developer can simply operate on the contents and ignore the network-specific issues.
The shell supports four processing approaches:
Further, the filling developer may configure the shell so that the filling handles HTTP requests only, HTTP responses only, or both requests and responses; the shell handles the requests or responses (as a pass-through) if the filling does not.
The OreO shell is implemented as a single Unix process that runs as a
Unix daemon; this is due largely to the original example OreO's origin as the
main() for the CERN (now W3C) HTTP daemon process (httpd).
The shell accepts a series of command-line arguments that indicate the
TCP/IP port on which it should accept connections, the program that
it should execute to process the HTTP request and/or response, and
whether the program should be executed in parallel or sequentially.
For each new connection, the shell can either open a connection to the downstream process (which can be specified either as an environment variable OREO_PROXY or via a command line argument), or simply allow the filling code to determine the destination for the request. The latter mode allows filling code to support new protocol implementations (such as an RPC based protocols).
If a single, persistent filling has been specified, the shell
fork()s and exec()s a copy of the filling:
this filling is expected to meet the rules for the design of a
co-process: the process must retrieve a pair of Unix file
descriptors corresponding to the client and server sockets from a
private IPC channel created between the shell and the co-process. Once
the process has retrieved these sockets, it must send an
acknowledgement back to the shell (the above is encapsulated in an API
provided as part of the toolkit). At that point, the co-process is
responsible for the connections: it must read and write to the
appropriate sockets, and close them as necessary.
The issue of multiple versus singular request/response pairs is thus the responsibility of the co-process. Normally, the processing will be singular, since the co-process will effectively execute the following loop:
do {
get a connection ;
process the connection ;
} while(1);
If a single persistent filling has not been requested, then the shell determines what kind of processing has been specified. The options are as follows:
In the first case, if the filling chooses not to handle the request or response, the shell simply reads and writes data from one socket to the other. Each filling is set up appropriately: a request filling has its standard input set to the client socket and its output set to the server socket; the process is reversed for a response filling. This model is useful if there is no need to maintain state in the filling between the HTTP request and response streams, and is most similar to the notion of Unix filters (one way transforms).
In the second case outlined above, the shell sets the filling's standard input to the client socket, and the standard output to the server socket; a supplied API hides this implementation detail from the filling writer. This mode allows the filling writer to maintain internal state across the HTTP requests and responses.
Future versions of the toolkit should add new levels of abstraction for the developer; for example, we have specified a higher-level API that can present the requests and responses as pre-parsed HTML entities, so that the developer does not have to replicate that effort. Further, a toolkit might provide appropriate interfaces to the underlying WWW protocol support.
To gauge the effects of OreOs on HTTP request/response latency, we measured the additional delay introduced to a series of HTTP transactions by a PERL-based pass-through OreO (one that merely forwards requests and responses without change). Our results are encouraging: the delay experienced was between 3% and 6%, depending on the mode of the OreO. We also performed simple tests to determine whether humans could perceive the additional delay. Four identical browsers were configured to point through various configurations of OreOs and proxies (the ``worst'' being a chain of four pass-throughs), and test subjects were asked to identify each of the four configurations; the subjects could only identify the browser proxied through four pass-throughs. This suggests that users are already conditioned to the variability experienced in network transactions, and the addition of a small extra delay does not stand out. The OreO shell appears to add no perceptible delay--the filling, however, can be arbitrarily complex and therefore add arbitrary delay.
We have already begun thinking about extensions to our basic model. These extensions fall into three general categories: implementing the OreO toolkit on multiple platforms, extending the notion of filtering agents themselves, and increased browser/OreO interactions.
At present, the OreO shell has been compiled and tested under HP-UX and under OSF/1 running on Intel platforms. Time and resources allowing, we plan to re-implement the OreO shell under Microsoft Windows/NT. This will require minor modifications to the networking code (vanilla BSD Unix to WinSock compliant code), as well as modification to the process creation and process execution model. The latter should not prove difficult, as the details of this mechanism have been encapsulated in a single routine. Other possibilities including re-implementing the OreO shell to run as a Windows/NT service.
We have several ideas on how to extend the notion of filtering agents, as illustrated by the OreO. These ideas break down into three categories:
We believe that the notion of the OreO shell is a good one: a layer of code that isolates the actual filling from the details of obtaining and processing network connections. The inspiration for this model is the standard input and output model for the Unix operating system [KER84]: programs can read from the standard input unit and write to the standard output unit without regard for whether these are files, terminals, network connections, etc.
Our initial thought was that the filling developer would encapsulate the invocation of the OreO shell and the appropriate filling code inside a shell script. While this has been true, we have imagined other models that would provide enhanced functionality in packaging and exporting transducing services to a user community. At present, if one wished to support several long-running OreOs, one would have to arrange explicitly for each script to be run when the machine is initially started. The following suggestions offer improvements to this situation.
In this model, the OreO shell is implemented similarly to the standard Unix inetd. Transducer fillings are configured similarly to the specification in the inetd.conf (perhaps specifying service name, protocol, port, program to run, etc.) As in the current inetd, the Oreo shell would accept connections on the various TCP/IP ports listed in its configuration file. New connections would result in a new process being created to run the filling code. Stdin, stdout, and stderr for the filling would be connected to the upstream (client) program by the shell; the filling would be responsible for connecting to the downstream (proxy) server by either reading a command line argument or an environment variable.
In this model (inspired by the RPC daemons of both ONC and DCE [OSF95d][11]), the OreO shell functions as a registrar for the above transducers. Transducers register their services with the shell, at which time the shell listens on the port specified by the transducer. Clients connect to that port, and the shell redirects the connection to the appropriate IPC channel established between the transducer and the shell. Such a technique would permit dynamic registration of transducer code: the interface for clients would remain the same (proxy HTTP), whereas the interface between the shell and the transducer code would become more complex.
In this model, the OreO shell functions as a location-independent agent registrar, incorporating aspects of both the DCE rpcd and the DCE CDS (Cell Directory Services) servers. In addition to the functionality represented by the portmapper approach above, the shell would also be responsible for updating and maintaining a distributed database of agent functionality, such that an individual shell would be able to redirect a request for service to an appropriate location.
In this model, the OreO shell becomes a "generalized agent factory" similar to the Softbot[13] or Sodabot [3] environments. Individual transforms are coded as functions that transform the HTTP stream as it is passed from transform to transform. The user may choose to implement these transforms in a programming language of some kind that provides its own specific GUI and other functionality.
Accept: headers, except that these headers indicate
languages that the browser is willing to process: Safe-TCL, Python,
Java, etc.
Finally, provided that browser's network point-of-presence is known (host, protocol, port), one can imagine using the NCSA Common Client Interface (CCI), the Spyglass Software Development Interface (SDI), or the NetScape API to communicate between a browser and an OreO. At this time, however, the mechanisms for establishing that point-of-presence are loosely specified, so it is not clear how well the above interfaces will work when the transducer would be running on a separate machine.
At present, the OreO shell presents a byte-stream interface to its client ``fillings.'' While this is a very general and flexible model, it is too low-level to provide the kind of productivity improvements that we had initially hoped for when designing the OreO shell. Achieving the next level of productivity will require a higher level of abstraction: we have been evaluating the W3C's Library of Common Code (libWWW)[5] as a basis for that higher level of abstraction. We believe that, at a minimum, the next level will provide an abstraction of an HTTP request/response object: a series of HTTP headers optionally followed by an opaque content body. Parsing of the input byte stream, then, becomes part of the process of constructing this object; destructing this object might include converting it to a byte-stream and directing it to the downstream sink. This functionality would be provide by the API and not directly by the filling code itself.
Once the request/response object has been constructed, we then need to determine how to transfer this object between various OreO transducers. At present, this process is quite inefficient, in that each transducer must construct the request/response object, transform it, and then re-convert it to a byte-stream representation in order to pass it on the (potentially) next transducer. Transducers may desire to see only the HTTP headers or the content body, or both. Modifications to content may require modifications to the headers (e.g., conversion of GIF images to JPEG would require modification to the Content-Type header). The above model then leads to a view of transducers as functions in a programming language, or as "functors" (functions as instantiable objects) [4]: the HTTP protocol object is passed from one such functor to another based upon some user-specified sequence.
Finally, we may wish to expand on the notion of the transducer as HTTP server. As suggested in the introduction, the CERN HTTP proxy server with caching [7] enabled is one kind of transducer. Another kind of transducer is an OreO that manages its own virtual Web-based namespace that has no mapping to an underlying file store. In this model, the OreO simply caches various information in memory: browsers send proxy requests to "service.machine.org" which fulfills these request from memory. The CGI interface to this OreO would be to invoke internal functions with the appropriate arguments: each function returns an object of type HTML.
We are beginning to work on how OreOs might communicate with each other for control purposes, and to share information. At this time, we are pursuing the notion of implementing a network blackboard via HTTP (the blackboard server would be implemented as a stand-alone OreO) using the techniques described above (OreO manages its own internal namespace, etc.)
We have presented a novel approach to introducing specialized processing on the HTTP requests and responses that flow between WWW clients and servers. We generalized the notion of WWW proxy servers to that of application-specific proxies that act as transducers on the HTTP stream. Our prototype OreOs demonstrate the utility of the concept, and our toolkit aims to ease the task of building such OreOs, without adding undue performance penalties. We encourage experimentation to determine the kinds of application settings to which such an architectural component is especially suited and ways in which to extend the WWW architecture further.
FTPable source and binaries for HP-UX (and possibly other platforms) are available by anonymous ftp from riftp.osf.org in /pub/web/OreO. Please read the copyright notice.
1. Abelson, H. et al., Structure and Interpretation of Computer Programs, MIT Press, Cambridge, MA 1986.
2. Behlendorf, B., A Proposal for Non-Intrusive Community Content Control Using Proxy Servers, http://www.organic.com/Staff/brian/community-filters.html
3. Cohen, M., The SodaBot Home Page, http://www.ai.mit.edu/people/sodabot/sodabot.html.
4. Coplien, J.,Advanced C++: Programming Styles and Idioms, Addison-Wesley, Reading, MA, 1992.
5. H. Frystyk, Library of Common Code, http://www.w3.org/hypertext/WWW/Library/.
6. Kernighan, B., Pike, M., The Unix Programming Environment, Prentice-Hall, Englewood Cliffs, NJ, 1984, "Filters", pp. 101-132.
7. Luotonen, A., and Altis, K., World-Wide Web Proxies, http://www.w3.org/hypertext/WWW/Proxies/.
8. OSF RI World-Wide Web Agent Toolkit (OreO), http://www.osf.org/ri/announcements/OreO_Datasheet.html.
9. Ariadne,http://www.osf.org/ri/announcements/Ariadne_Datasheet.html.
10. , DCE-Web Home Page, http://www.osf.org:8001/www/dceweb/DCE-Web-Home-Page.html
11. , OSF Distributed Computing Environment, http://www.osf.org:8001/dce/index.html
12. Wide-Area Browsing Assistance for the World Wide Web, http://www.osf.org/www/waiba/.
13. Perkowitz, M., Internet Softbot, http://www.cs.washington.edu/research/projects/softbots/www/softbots.html.
14. Roscheisen, M. and Mogensen, C., ComMentor: Scalable Architecture for Shared WWW Annotations as a Platform for Value-Added Providers, http://www-pcd.stanford.edu/COMMENTOR.
Charles Brooks
OSF Research Institute
11 Cambridge Center
Cambridge, MA 02142
cbrooks@osf.org
Murray S. Mazer
OSF Research Institute
11 Cambridge Center
Cambridge, MA 02142
mazer@osf.org
Scott Meeks
OSF Research Institute
11 Cambridge Center
Cambridge, MA 02142
meeks@osf.org
Jim Miller
World Wide Web Consortium
Massachusetts Institute of Technology
Laboratory for Computer Science
545 Technology Square
Cambridge, MA 02142
jmiller@mit.edu