`
`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)