throbber
EP 2 638 681 81
`
`400
`
`YES
`
`FlG, 4
`
`15
`
`ACCESSIBE LTD EXHIBIT 1004
`Page 1631 of 2149
`
`

`

`REFERENCES CITED IN THE DESCRIPTION
`
`EP 2 638 681 81
`
`This list of references cited by the applicant is for the reac/er's convenience only. It does not form part of the European
`patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be
`exciuded and the EPO disclaims all liability in this regard.
`
`Patent documents cited in the description
`
`US 2008172488 A [0004]
`
`us 20050060410 f\ 1 [0004]
`
`16
`
`ACCESSIBE LTD EXHIBIT 1004
`Page 1632 of 2149
`
`

`

`Eump31sches
`P21te11tamt
`Emopean
`Patent Offh:e
`Office euroµeen
`dei brevets
`
`(19)
`
`(12)
`
`111111111111111111111111111111111111111111111111111111111111111111111111111
`
`(11J
`
`EP 2 638 683 81
`
`EUROPEAN PATENT SPECIFICATION
`
`(45) Date of publication and meniion
`of U1e iirant of thE; patent:
`15.03.2017 Bulletin 2017/11
`
`(21) Application number: 11840003.5
`
`(22) Date of filing: 09.11.2011
`
`(51) Int Cl.:
`H04L 29/06 r2000.01J
`H04L 29/08 rwoo.otJ
`
`G06F 15116 rwoe.atJ
`
`(86) International application number:
`PCT/US2011/059994
`
`(87) ln1erna1ional publication number:
`WO 2012/064857 (18.05.2012 Gazette 2012/20)
`
`(54) METHODS FOR REDUCING LATENCY IN NETWORK CONNECTIONS USING AUTOMATIC
`REDIRECTS AND SYSTEMS THEREOF
`
`VERFAHREN ZUR LATENZVERRiNGERUNG IN NETZWERKVERBiNDUNGEN M!T
`AUTOMATISCHEN UMLEITUNGEN UNO SYSTHJIE DAFUR
`PROCEDES DE REDUCTION DE l.ATENCE DANS DES CONNEXIONS DE RESEP,U A L'AIDE DE
`REDIRECTIONS AUTOMATIQUES, ET SYSTEMES CORRESPONDANTS
`
`(84) Designated Contracting States:
`AL AT BE BG CH CY CZ DE DK EE ES Fl FR GB
`GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO
`PL PT RO RS SE Si SK SM TR
`
`(30) Priority: 09.11.2010 US 927169
`13.07.2011 us 201113135707
`
`(72) Inventor: SCODA, Enrico
`Martignacco(UD) (IT)
`
`(74) Represen1ative: Cinquantini, Brnno et al
`Notarbartoio & Gervasi S.p.A.
`Corso di Porta Vittoria, 9
`20122 Milano {IT)
`
`(43) Date of publicaiion of application:
`18.09.2013 Bulletin 2013/38
`
`(73) Proprietor: Usablenet Inc.
`New York, NY 10019 (US)
`
`(56) References cited:
`US-A1- 2004 215 717
`US-A1- 2008 172 488
`US-A 1- 2010 198 911
`
`US-A1- 2005 060 410
`US-A1- 2008 195 696
`US-A1- 2010 223 355
`
`Nole: Within nine monti1s of U1e publication of the mention of tt1e grant of the European patent in the European Patent
`Bulletin, any person may give notice to tile European Patent Office of opposition to that paient, in accordance with the
`lrnplernentin;J RE;;Julations. Notice, of opposition sha!I not bE; dee,rrn~d to haw; be,m fi!e,d until thE; opposi1ion fee, has be,en
`paid. (Art. 99("1) European Patent Convention).
`
`Printed by .Jm1ve, 75001 F'AF~!S {FF<)
`
`ACCESSIBE LTD EXHIBIT 1004
`Page 1633 of 2149
`
`

`

`EP 2 638 683 81
`
`2
`
`taining a redirection address contained in tl1at response;
`a step of creating and a step of sending a substitution
`request to that redirection address; a step of receiving
`the response to that substitution request; and a step of
`transmitting ti1at response to the user station. US patent
`application n. 2004/0215717 discloses a method for
`prefetdiing of structured data between a client device
`and a server device adapted to acl11eve more efficient
`data transmission, in particular transmission of struc-
`lured data, such as web pages, in a system comprising
`a server means and a client means which are intercon(cid:173)
`nected via a plurality of proxy means, including a server
`proxy means and a client proxy means.
`
`5
`
`10
`
`15 SUMMARY
`
`Description
`
`FIELD
`
`[0001] niis technology generally relates to web con-
`tent optimization apparatuses and, more particularly, to
`methods and systems for reducing latency in network
`connections using automatic redirects in web content op(cid:173)
`timization apparatuses.
`
`BACKGROUND
`
`[0002] When a client device connects to a server (e.g.,
`a wE;b server, or a content server) to gE,t a network re-
`source using a network protocol, e.g., the Hyper-text
`Transfer protocol (HTTP), thE; server responds by sEmd-·
`ing the network resource or by sending a redirect mes(cid:173)
`sage back 1o tfie cli,mt device over a communication
`channel. If the client device receives a redirect message,
`it will need to send a new request to the server based
`upon t11e redirect message, and Hie se,rver will again re(cid:173)
`spond with a redirect or a real resource. This communi(cid:173)
`cation proce,ss betweEm Hie c!i,mt dEivice and the server
`repeats until the client device is able to get the resource,
`if available.
`[0003] However, when the client device, e.g., a cell
`phone using a radio network, or a computer having a
`slow Internet connection, requests a network resource
`and has to perform more than one redirects to obtain the
`network resource, the client device wi!i experience sub-
`stantial delay and will spend a considerable amount of
`time to E;xecutE; the whole promss be,fore finally be,infl
`provided with the network resource. The delay can occur,
`for example, because of a large time to establish a con-
`neclion and send tl1e HTTP request, also referred lo as
`latency time of radio nei'Norks or other slow nel\,vork con-
`nections (e.g., ln1erm,1 via a dial-up connection). Unfor(cid:173)
`tunately, tl1is delay can often lead to tl1e client device not
`being able 1o obtain Hie m,1work rE;source at all, or Hie
`client device giving up or relinquishing attempts to obtain
`the network resource under time constraints.
`[0004] One conventional solution built to obtain faster
`HTTP responses for slow connection networks utilizes
`one or more proxy server devices (e.g., web proxy serv(cid:173)
`ers). Another conventional solution utilizes telephone
`carrier data centers that handle the network traffic for
`each client device by handling one or more requests
`whEm Hie c:liEmt device is a mobile telephone,, or a mobile
`personal digital assistant (PD/.\) device, for example. Un-
`fortunately, the above-noted conventional solutions do
`not resolve the redirection problem associated witti net(cid:173)
`work resources stored on the servers since the redirect
`messages are forwarded on to ti1e client devices for han(cid:173)
`dling resulting in multiple back and forth communication
`betwe,en the client dE;vices and Hie servers. US pat,mt
`application n. 2008i0195696 discloses a redirection re(cid:173)
`quest inte,rce,ption rneH10d includes: a step of receiving
`an HTTP response sent to a user station; a step of ob-
`
`[0005] A method for reducing latency in network con(cid:173)
`nections include,s recE;iving at an optimization apparatus
`a request from one of one or more client devices for net-
`20 workcontenthostedatoneofoneormoreserverdevices.
`Tl1e optimization apparatus determines whether an au(cid:173)
`tomatic redirect parameter is enabled for the request
`The request from one proxy procE,ssin\J device, acting as
`t11e requesting one of the ciient devices witl1in the opti-
`25 mization apparatus is sent to another proxy processing
`device within Hie optimization apparatus when Hie auto(cid:173)
`matic redirect parameter is determined to be enabled.
`One or more redirect messages with one or more opti-
`mized cookies associated with the requested network
`resource are obtained from the one or more server de(cid:173)
`vices at the other proxy processing device within t11e web
`content optimization apparatus. The last of thE; onE; or
`more redirects messages with the one or more optimized
`cookies when the requested network resource is located
`is sent from Hie other proxy processing device wiHiin t11e
`optimization apparatus to the one proxy processing de-
`vice witfiin the optimization apparatus. The las1 of Hie
`one or more redirect messages with the one or more
`optimized cookies associatE;d with Hie requested network
`resource is sent from the optimization apparatus to tl1e
`requE,stin\J onE; of the one or more of cliE;nt devices.
`[0006] A non-transitory computer readable medium
`having stored thereon instructions for reducing !atency
`in ner.ivork connections comprises macl1ine executable
`code which when executed by at least one processor,
`causes the processor to perform steps including receiv-
`ing a request from one of one or more client devices for
`ne,twork content fios1ed at one of one or rnorE, server
`devices. f.\ determination is made whether an automatic
`redirect parameter is enabled for the request. The re(cid:173)
`quest from one proxy processing device acting as the
`requesting one of the client devices within an optimization
`apparatus is sent to another proxy processing device
`within the optimization apparatus when the automatic re-
`55 direct pararrn~tE;r is dE,1ermined to be, enablE,d. One or
`more redirect messages with one or more optimized
`cookiE,s associated wiHi 1hE, rE;queste,d nel\vork resourcE,
`is obtained from the one or more server devices at tl1e
`
`30
`
`35
`
`40
`
`45
`
`50
`
`2
`
`ACCESSIBE LTD EXHIBIT 1004
`Page 1634 of 2149
`
`

`

`3
`
`EP 2 638 683 81
`
`4
`
`oiher proxy processing device within the optrnization ap(cid:173)
`paratus. The last of the one or more redirects messages
`with the one or more optimized cookies when tt1e requesi(cid:173)
`ed network resource is located is sent from the other
`proxy processing device witi1in ihe optimization appara-
`tus to the one proxy processing device within the optimi(cid:173)
`zation apparatus. The last of the one or more redirect
`messages with the one or more optimized cookies asso(cid:173)
`ciated with the requested nei'vVork resource is sent to the
`requesiing one of tt1e one or more of ciieni devices.
`[0007] An apparatus configured to reduce latency in
`neiwork connections comprising one or more processors
`and a memory coupled to the one or more processors
`confifiured to execute pro;iramrrn,d instructions stomd in
`the memory including receiving a requesi from one of
`one, or morn ciiE;nt de,vice,s for network content r1oste,d at
`one of one or more server devices. A determination is
`made, whE;thm an automatic redirnct pararm;ter is ena-
`bled for the request. The request from one proxy process-
`ing device acting as the reque,sting one of the, client de-
`vices within an optimization apparatus is sent to anoiher
`proxy processing device within the optimization appara-
`tus wh,m the automatic rndirect pararm;ter is determined
`to be enabled. One or more redirect messages wiil1 one
`or more optimized cookies associated with the requested
`neiwork resource is obtained from ihe one or more server
`de,vices at the other proxy processing device within the
`optimization apparaius. The last of tt1e one or more re(cid:173)
`dirncts message,s with the one or mom optimized cookie,s
`when ti1e reque,sted network resource is located is sent
`from the other proxy processing device within the opti-
`mization apparatus to the, one, proxy processing de,vice,
`within ihe optimization apparatus. The last of the one or
`more redimct messages with the one or more optimized
`cookies associate,d wiih Hie requested neiwork resource
`is se,nt to the requesting one of the one or more of ciie,nt
`de,vice,s.
`[0008] This iechnology provides a number of advan-
`tage,s includin;J providin\J a metf1od, computer madable
`med1um and apparatus that efficienily manages the
`wr10IE; redimct d1ain on bE;f1alf of thE; clie,nt de,vicE; by op(cid:173)
`timizing at least a portion of redirect messages automat(cid:173)
`ically within a web content optimization apparatus. Since
`at least a portion of ti1e redirect d1ain associaied with
`locating and obtaining the ne,twork resource is handled
`internally by separate processing devices witi1in ii1e web
`content optimization apparatus, network communica(cid:173)
`tions be,twE;e,n the, client de,vice,s and the, serJE;rs for net-·
`work resources are spe,d up. This technology exploits the
`faster internal processing of redirect messages in one or
`more redirect d1ains by the web content optimization ap(cid:173)
`paratus, as compared to slower communication spe,eds
`beiween ciie,ni device and ti1e servers.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0009]
`
`FIG. 1 is a block diagram of an exemplary neiwork
`environment with a web content optimization appa(cid:173)
`ratus interposed betwe,en client devices and server
`devices;
`
`FIG. 2 is a flow chart of a method for processing an
`exemplary sequence of HTTP mquesis and re(cid:173)
`sponses between one of the client devices and il1e
`server de,vices hosting example.com and sam(cid:173)
`ple.com;
`
`FIG. 3 is a flow chart of a mett1od for processing an
`exe,mplary sequence of HTTP requests and re(cid:173)
`sponse,s betwe,m a cli,mt de,vice, and the, we,b con-·
`tent optimization apparatus; and
`
`FIG. 4 is a tlow chart of a method for processing an
`exe,mplar1 sequ,mce, of HTTP reque,sts and m-·
`sponses bei'vVeen a client device and the web con(cid:173)
`tent optimization apparatus when auto redirect is en(cid:173)
`able,d; and
`
`FIG. 5 is a flowchart of an e,xemplary rm;thod for
`reducing latency in network connections by optimiz(cid:173)
`ing network msource using automatic redirection of
`redirect response messages at tt1e web content op(cid:173)
`timization apparatus.
`
`DETAILED DESCRIPTION
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`[0010] An exemplary environment 10 ill whicl1 a web
`content optimization apparatus 12 is optimized for rE;duc-•
`ing latency in network connections is illustrated in FIG.
`1. The exemplary environment 10 includes the web con-
`tent optimization apparatus 12, client devices 14(1)-
`14(n), server devices 16(1)-16(n), and communication
`networks 18(1)-18(2), althougf1 other numbe,rs and type,s
`of systems, devices, and/or elements ill other configura-
`lions and environments witr1 othe,r communication ne,t(cid:173)
`40 work topologies can be used. This technology provides
`a numbe,r of advanta\JE;s including providin;J a metf1od,
`computer readable medium, and an apparaius that re(cid:173)
`duces latency in network connections, for example,, HT(cid:173)
`TP connections.
`[0011 J Referring more specifically to FIG. 1, the web
`content optimizaiion apparatus 12 manages handling of
`redirect messages or red1rection responses from the
`se,rve,r de,vice,s 16(1 )-16(n) for and/or on be,half of re(cid:173)
`questing clie,ntdevice,s 14(1 )-14(n) and provide,s updaied
`cookie information to the client devices 14(1)-14(n) for
`future requests for network resources from ti1e client de-
`vices 14(1)-14(n), although the, web content optimization
`apparatus 12 can provide other numbers and types oi
`functions and other types of processing devices can be
`55 usE;d. /.\ltf1ougr1 one we,b content optimization apparatus
`12 is shown, other numbers and types of optimization
`de,vice,s and syst,m1s can be use,d.
`[0012] The web content optimization apparatus 12 in-
`
`45
`
`50
`
`3
`
`ACCESSIBE LTD EXHIBIT 1004
`Page 1635 of 2149
`
`

`

`5
`
`EP 2 638 683 81
`
`6
`
`eludes central processing units (CPU) or processors
`13( 1) and 13(2), a memory 15, and an interface system
`17 whicti are coupled together by a bus 19 or other link,
`although other numbers and types of components, paris,
`devices, systems, and elements in ottier configurations
`and locations can be used. The processors 13(1) and
`13(2) in ti1e web content optimization apparatus 12 exe(cid:173)
`cutes a program of stored instructions to carry out or per(cid:173)
`form one or more aspects of the present invention as
`described and illustrated by way of the embodiments
`herein, although oiher numbers of processors can be
`used and one or more of ii1e processors could execute
`other numbers and types of programmed instruciions.
`[0013] The memory 15 in the web contEmt optimization
`apparatus 12 stores il1ese programmed instructions for
`one or mom aspects of the, pres,mt invEmtion as d,, ..
`scribed and illustrated herein, although some or aii of the
`prowamrm;d instructions could bE; stored andior e,xecut-
`ed elsewhere. A variety of different types of memory stor-
`age devices, such as a random access memory (RAM)
`or a read only memory (ROM) in the system or a floppy
`disk, hard disk, CD ROM, DVD ROM, or other computer
`re,adable medium which is read from andior writt,m to by
`a magnetic, optical, or other reading and/or wnting sys-
`tem that is coupled io the processors 13(1) and 13(2),
`can be use,d for the memo;y 15 in ttie web content opti(cid:173)
`mization apparatus 12. In these embodiments, the mem-
`ory 15 includes a core module 21 and a redirect module
`23 which store programmed insiructions for one or more
`aspe,cts of the, present invention as described and illus-
`!rated herein, although the memory can compnse oil1er
`types and numbers of syste,ms, devices, and ele,m,mts
`in other configurations wl1ich store otl1er data.
`[0014] The interface system 17 in ihe web content op(cid:173)
`timization apparatus 12 is used to operative,ly couple, and
`communicate between the web content optimization ap(cid:173)
`paratus 12 and the cliemt de,vice,s 14(1)--14(n) and the,
`server devices 16(1)-·16(n) via the communication net(cid:173)
`works 18(1) and 18(2), alttiouiJh o1hmtypesand numbers
`of communication networks with other types and num-
`bers of conm;c1ions and configurations can be use,d. By
`way of example only, the commurncation networks 18(1)
`and 18(2) can use TCPilP over Ethernet and industry(cid:173)
`standard protocols, including HTTP, HTTPS, WAP, and
`SOAP, although other types and numbers of communi-
`cation networks, such as a direct connection, a local area
`network, a wide area network, modems and phone lines,
`e--mail, and wimless and riardwire communication tedi-(cid:173)
`nology, e,acl1 having their own communications proto(cid:173)
`cols, can be used. In one exemplary embodiment, one
`of communication networks 18(1) and 18(2) can be, op(cid:173)
`erating over one or more low-speed connections ( e.g., a
`dial-up connection) while the, other one of the communi(cid:173)
`cation networks 18(1) and 18(2) can be operating over
`a hi;Jh speed, hiflh bandwidth connection (e.g., optical
`fiber based communication network). In yet another ex(cid:173)
`emplary embodiment, one or more of communication net-·
`works 18(1) and 18(2) can be a radio network, a sateliiie
`
`5
`
`20
`
`25
`
`network, an Internet connection, a wired cable network,
`or combinaiions thereof, well known to one of ordinary
`skill in ttie art reading this disclosure.
`[0015] Each of the client devices 14(1)-14(n) enables
`a user to mquesi, obtain, and interact witti one or more
`network resources, e.g., web pages from one or more
`web sites, tiosted by server devices 15(1 )-16(n) through
`the web content optimization apparatus 12 via one or
`more communication networks (e.g., communication net-
`10 work 18(1 )), although one or more of Hie client device,s
`14(1)-14(11) could access content and uiilize other types
`and numbers of applications from oUier SOLJrCBS and
`could provide a wide variety of other functions for ihe
`usE,r. Al though multiple, client de,vice,s 14(1 )--14(n) are
`15 sl1own, other numbers and types of user computing sys-
`te,ms could bE; used. In one example, 1hB cli,mt dE,vices
`·14(1)-14(n) comprise mobile devices with Internet ac(cid:173)
`cess that permit a wE;bsi te, form page or other re,trieve,d
`data that is a part of a requested network resource lo be
`displayed, although each of the client devices 14( 1 )-14(n)
`can conne,ct to server devices 16(1 )-1fi(n) via othe,rtypes
`of network connections d1rectly or indirectly, depending
`upon specific sc,marios, as can be, contemplatE,d by one
`of ordinary skill in the art, after reading this disclosure.
`By way of example only, one or more of the client devices
`14(1)-14(n) can comprise smart phone,s, personal digital
`assistants, computers, or other computing devices.
`[0016] Each of client devices 14(1 )-14(n) in this exam(cid:173)
`ple is a computing device that includes a central process(cid:173)
`ing unit (CPU) or processor 20, a memo;y 22, user input
`device 24, a display 26, and an interface system 28, and
`whidi am couple,d to;iether by a bus 30 or other link,
`although one or more of client devices 14(1)-14(n) can
`include other numbers and types of components, parts,
`devices, systems, and elements in ottier configurations.
`The processor 20 in each of clieni devices 14(1)-14(11)
`exE;cutes a program of stomd instructions for aidinfl one
`or more aspects of the present invention as described
`and i!!ustrated hmE,in, althouiJh 1hB processor could ex(cid:173)
`ecute oil1er numbers and types of programmed instruc(cid:173)
`tions.
`[0017] Tl1e memory 22 in each of the client devices
`14(1)-14(11) stores these programmed instruciions for
`one or more aspects of Hie present invention as de-
`45 scribed and illustrated herein as well as other daia, such
`as updated cookies associated with a network msource
`and received as part of one or more redirect cl1ains for(cid:173)
`warded by web content optimization apparatus 12, al(cid:173)
`though some or all of the programmed instructions could
`50 be stored and/or executed elsewhere. A variety of differ(cid:173)
`ent type,s of memory storage devices, sucl1 as a random
`access memory (RAM) or a read only memory (ROM) in
`the system or a floppy disk, hard disk, CD ROM, or other
`computer readable medium which is read from and/or
`55 written 1o by a maw;etic, optical, or other mading and/or
`wnting system t11at is coupled lo processor 20 can be
`used for the memory 22 in each of the, client dE,vices
`·14(1)-14(n).
`
`30
`
`35
`
`40
`
`4
`
`ACCESSIBE LTD EXHIBIT 1004
`Page 1636 of 2149
`
`

`

`7
`
`EP 2 638 683 81
`
`8
`
`[0018] The user input device 24 in each of the ciient
`devices 14(1)-14(n) is used to input selections, such as
`requests fora network resource, e.g., a particular website
`form page or to enter data in fields of a form page, al(cid:173)
`though ti1e user input device could be used to input other
`types of data and interact with other elements of exem(cid:173)
`plary environment 10. The user input device 24 can in(cid:173)
`clude keypads,
`touch screens, and/or vocal
`input
`processing systems, although other types and numbers
`of user input devices can be used.
`[0019] The display 26 in each of the ciient devices
`14(1 )-14(n) is used to show data and information to the
`user, such as requested website page byway of example
`only. ThE; display in E;,Kr1 of the client dEivicE;s 14(1 ) .. 14(n)
`is a mobile phone screen display, althougl1 other types
`and numbers of displays could be used dep,mding on
`the particular type of client device, as can be contemplat(cid:173)
`ed by one of ordinary skill in thE; art, after reading this
`disclosure.
`[0020] The interface system 28 in each of the ciient
`devices 14(1)-14(n) is used to operatively couple and
`communicate between the client devices ·14( 1 )-14(n) and
`the web content optimization apparatus 12 and server
`devices 16(1)-16(11) over the communication networks
`18( 1) and 18(2), although other types and numbers of
`communication networks witi1 other types and numbers
`of connections and configurations can be used.
`[0021] n1e server devices 16(1)-16(n) provide one or
`more pages from one or more web sites for use by one
`or more of the client devices 14(1 )-14(n) via the web con-
`tent optimization apparatus 12, although the server de(cid:173)
`vice,s 16(1)--16(n) can provide other numbE;rs and types
`of applications and/or content and can have provide other
`numbers and types of functions. Although server devices
`16(1 )-16(n) am shown for ease, of illustration and discus-
`sion, other numbers and types of server systems, for ex-
`ample, web servers, and dEivices can be usE,d. In om,
`example, server devices 16(1 )-16(n) can be web servers
`fiaving de,dicatE;d fiardware with software execu1infl on
`the dedicated hardware to facilitate the web content op-
`timization apparatus 12 and c:liEmt devices 14(1)-14(n) in
`their functiornng. In anotl1er example, server devices
`16(1)-16(n) can be content ser,1ers that are configured
`to deliver network msources stored thereupon using the
`HTTP protocol, or other network protocols for example.
`Conte,nt stored on server devices 16(1)-16(n) that can
`be part of the network resources requested by client de(cid:173)
`vices 14(1 ) .. 14(n) can bE; web pagE;s, E;lectronic filE;s and
`documents, configuration data, me,tadata, or oii1er net(cid:173)
`work data and files, by way of example only and not by
`way of limitation.
`[0022] Each of the server devices 16(1)-16(n) include
`a central processing unit (CPU) or processor, a memory,
`and an interface system which are coupled together by
`a bus or other !ink, although each of the se,rver dE;vices
`16(1 )-16(n) could have other numbers and types of com(cid:173)
`ponents, parts, devices, systems, and elE;rmmts in othE,r
`configurations and locations can be used. The processor
`
`5
`
`10
`
`20
`
`25
`
`30
`
`35
`
`in each of the server devices 16(1)-16(11) executes a pro(cid:173)
`gram of stored instructions one or more aspects of the
`present invention as described and illustrated by way oi
`the embodiments herein, although the processor could
`execute oti1er numbers and types of programme,d in(cid:173)
`structions. When one of the server devices 16( 1 )-16(n)
`does not store the requested content, Hie server device
`may respond by sending a redirect message to the web
`content optimization apparatus 12.
`[0023] The memory in each of Hie server devices
`16(1)-16(11) stores these programmed instructions for
`one or more aspe,cts of Hie present invention as de(cid:173)
`scribed and illustrated by way of the embodiments, al-
`1hougfi somE, or all of thE; programmed instructions could
`15 be stored and/or executed elsewhere. A variety of differ(cid:173)
`E;nt types of rm;mory storage d,,vice,s, such as a random
`access memory (RAM) or a read only memory (ROM) in
`1hE, system or a floppy disk, hard disk, CD ROM, DVD
`ROM, or other computer readable medium whicl1 is read
`from and/or written to by a magnetic, optical, or other
`reading and/or writing syste,m ii1at is coupled to the proc-
`essor, can be used for the memory in each of the server
`devices 16(1 ) .. 16(n).
`[0024] The interface system in each of the server de(cid:173)
`vices 16(1 )-16(n) is used to operatively couple and com(cid:173)
`municate betwee,n the server devices 16(1)-16(n) and
`the web content optimization apparatus 12 and the client
`devices 14(1)-14(n) via communication networks 18(1)
`and 18(2), although other types and numbers of commu(cid:173)
`nication networks witi1 othe,r types and numbers of con(cid:173)
`nections and configurations can be used.
`[0025] Altr10ugh embodiments of the web cont,mt op-(cid:173)
`timization apparatus 12, the client devices 14(1)-14(n),
`and the server devices 16(1)-16(n), are described and
`illustrated he,rein, ead1 of the client devices 14(1 )-14(n),
`the web content optimization apparatus 12, and the serv-
`er devices 16(1 )--16(n), can bE; implemented on any suit-(cid:173)
`able computer system or computing device. It iS to be
`unde,rstood that 1hH de,vicE,s and systE,ms of thE; ernbod(cid:173)
`rnents described herein are for exemplary purposes, as
`many variations of thE, specific hardware~ and software
`used to implement the embodiments are possible, as will
`be appreciated by those skilled in the relevant art(s).
`[0026] Furttiermore, each of ttie systems of ttie em(cid:173)
`bodiments may be convenient!y implemented using one
`or more general purpose compute,r systems tiaving non-
`transitory computer readable medium, microprocessors,
`di;Jital siiJnal proce,ssors, and microcontroi!ers, pro(cid:173)
`grammed according to Hie teachings of ti1e embodi(cid:173)
`ments, as described and illustrated herein, and as will be
`appreciated by those ordinary skill in the art.
`[0027]
`In addition, two or more computing systems or
`de,vices can be substituted for any one of the systems in
`any embodiment of the embodiments, Accordingly, prin-
`55 Gip!E:;s and advan1:afJes of distribute3d processing 1 such c3s
`redundancy and replication also can be implemented, as
`de,sired, to increase 1hE, robustness and performance, of
`the devices and systems of the embodiments. The em-
`
`40
`
`45
`
`50
`
`5
`
`ACCESSIBE LTD EXHIBIT 1004
`Page 1637 of 2149
`
`

`

`9
`
`EP 2 638 683 81
`
`10
`
`bodiments may also be implemented on computer sys(cid:173)
`tem or systems that extend across any suitable network
`using any suitable interface mechanisms and communi(cid:173)
`cations technologies, inciuding by way of example only
`telecommunications in any suitable form ( e.g., voice and
`modem), wireless communications media, wireless com(cid:173)
`munications networks, cellular communications net(cid:173)
`works, G3 communications networks, Public Switcl1ed
`Telephone Network (PST!'Js), Packet Data Networks
`(PD!'Js), the Internet, intranets, and combinations Uiere(cid:173)
`of.
`[0028] The embodiments may also be embodied as
`non-transitory computer readable medium having in(cid:173)
`structions stomd tfiereon for one~ or more aspects of thE,
`present invention as descnbed and illustrated by way of
`thE, embodiments herein, as de,scr!bE,d rierein, which
`wl1en executed by a processor, cause the processor to
`carry ou1 the steps necessary 1o imple,memt thE, me,thods
`of the embodiments, as described and illustrated herein.
`[0029] Referring to FIG. 2, an exemplary method 200
`ior processing an exemplary sequence of HTTP requests
`and responses between one of the client devices 14(1)-
`14(n) and the server dE,vices 16(1 )-16(n) hosting e,xarn(cid:173)
`ple.com and sample.com without a the web content op-
`timization apparatus is illustrated. It is to be noted that
`ti1e sequence of steps for the meUiod 200 is only exem(cid:173)
`plary and one of ordinary skill in the art, after reading this
`disclosure, can contemplate alternative sequences of
`steps that achieve substantially the same result.
`[0030] More specifically, at step 202 one of ti1e client
`devices 14(1)-14(n) ( e.g., a mobile device) sends an HT-
`TP requE;st: GET/AJi1ml HTTP/1. 1 fora network resourcE,
`al a Uniform Resource Locator (URL) http://ww\l\/.exam(cid:173)
`ple.com/A.html, although other types of requests for oth-
`er types of network resources may be sent. Although in
`this example one of the client devices 14(1 )-14(n) via a
`wE,b browser requE,sts a pafie Ahtml a1 1hE, URL,
`"www.example.com" as shown, by way of example only,
`client de,vicE,s 14(1 )-14(n) may send a re,quest for a net-·
`work shared data file using a file transfer protocol instead
`of a URL using the HTTP protocol.
`[0031]
`In step 204, the requesting one of the client de(cid:173)
`vices 14(1)-14(11) gets a response from the one of the
`server devices 15(1)-16(n) trial was previously hosting
`the net\A1ork resource; in this examp!e the requested page
`A.html. The response includes a temporary redirect mes(cid:173)
`sage (shown as an exemplary status code 302 with a
`rm;ssaiie "Moved Te,mporarily") to a diff,mrnt URL ht-·
`ip://sarnple.mm/B.html along with a "Set-Cookie" includ-
`ing a cookie named "SESSION" set to value "1234".
`[0032] Generally, the cookie is a string formed by the
`pair "name=value" (e.g., "SESSION=1234", followed by
`optional attributes. Although one illustrative example is
`described herein, this technology can be used with spec-
`ifications for a!! cookies.
`[0033]
`In step 206, the requesting one of the client de(cid:173)
`vices 14(1 )-14(n) processes the response and sends a
`new HTTP request to il1e one of the server devices 16( 1 )-
`
`5
`
`10
`
`15
`
`20
`
`30
`
`35
`
`16(n) hosting the URL l1tip://www.sample.com/B.l1tml.
`[0034]
`In step 208, the requesting one of the client de(cid:173)
`vices 14(1)-14(n) gets a response from the one of the
`server devices 16(1)-16(n) that was previously hosting
`the network resource, in this example Hie requested page
`B.html. The response includes another temporary redi(cid:173)
`rect message, "Moved Temporarily" to a different URL
`http://example.com/C.html along with a "Set-Cookie" in(cid:173)
`cluding a cookie named "LANG" set to value "EN".
`[0035]
`In step 210, the requesting one of ti1e client de(cid:173)
`vices 14(1 )-14(n) processes the response and sends an(cid:173)
`other new HTTP request to the one of the server devices
`16(1)-16(n)
`hosting
`the URL
`http:i/www.exam(cid:173)
`ple.com/C.html.
`[0036]
`In step 212, the requesting one of the client de(cid:173)
`vice,s 14(1)--14(n) iiets a response from thE, om; of thE,
`server devices 16(1 )-16(n) hosting the network resource
`with a status identifier messaiie shown as status code
`200 set to "OK" and the network resource can now be
`retrieved. Although exemplary steps 202-212 are shown,
`a higher or a lower number of redirections may be re(cid:173)

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket