SlideShare uma empresa Scribd logo
1 de 14
Web 2.0 Push Technical overview Netscaler Product Group
Web 2.0 - Server Push or Reverse Ajax Reverse Ajax is the ability to push data from a web or app server to the browser, without user interaction "Publish-Subscribe" model Clients subscribe to information channels/feed Servers push “new” information out to the subscribers Many different names and techniques HTTP Server Push HTTP Streaming COMET (Server Push + Long Polling) Long Polling BOSH (Bidirectional-streams Over Synchronous HTTP ) © The Coding Machine
Client Update: Three Common Techniques Server Push Client Pull
Server Client Client Req Req_1 t Quiet period Quiet period (y) Query finishes Req_2 Quiet period Quiet period (y) Query finishes Chunk_1 (data) Chunk_0 (data) Chunk_2 (data) Req_3 Server Push – Two Common Techniques Long Polling Streaming Server Time Connection resource tied up on Server Connection resource tied up on Server t + y t + 2y
NetScaler Web 2.0 Push: Offloading Connection Management Benefits Improves server utilization by 10x Improves application responsiveness Cuts data center energy and cooling costs Availability Available in NetScaler 9.x –  (March 2009) Available in Platinum and Enterprise edition Requires custom script development to adapt a given application to work with our Push technology to enable tagging data streams as “Server Push-able” Millions of clients Few servers
NetScaler Web 2.0 Push: Asynchronous Connection Mgmt ,[object Object]
Parks millions of persistent client connections
Enables configuration driven approach to identifying a client connection and server push setup – aka label
Offloads client connection management from servers
Reuses server connections thus improving server utilization and “push”es data to client based on returned label
Enables all existing policy, availability and security services across asynchronous interaction,[object Object]
NetScaler Web 2.0 Push Building Blocks Connection Labeling Protocol Receive and terminate connections; decrypt and analyze every request  Setup transaction label over multiplexed HTTP connections Push Switching Protocol NetScaler accepts asynchronous out of band label updates over few TCP connections NetScaler demultiplexes label and dispatches updates over persistent client connections
NetScaler Web 2.0 Push : An Example Setup Server Push messages are sent to NetScaler over a few pooled connections Client-VIP 10.217.6.86:80 Push-VIP 10.217.6.87:80 Server 10.217.6.53:80 Client 10.216.134.59
PUSH_VIP: IP-Prt NS_HDR GET RES DEFERABLE = Yes, Label = L1 msg0 msg1 msg2 POST /client/L1 POST /client/L1 POST /client/L1 data0 data1 final NetScaler Web 2.0 Push: HTTP Streaming Support NetScaler AppServer Client Messaging Bus V I P Labeling protocol Transaction Labeled.  TCP connection can be optionally closed GET RES-HDR Quiet period. NS holding onto client connection. P U S H - V I P Quiet period. Waiting for next update. Chunk_0 (data) Quiet period. NS holding onto client connection. Quiet period. Waiting for next update. Chunk_1 (data) LastChunk (data)

Mais conteúdo relacionado

Mais procurados

Step by step_linux_guide
Step by step_linux_guideStep by step_linux_guide
Step by step_linux_guide
vinod31dec
 
Lamp Server With Drupal Installation
Lamp Server With Drupal InstallationLamp Server With Drupal Installation
Lamp Server With Drupal Installation
franbow
 

Mais procurados (20)

Configuration of NTP Server on CentOS 8
Configuration of NTP Server on CentOS 8Configuration of NTP Server on CentOS 8
Configuration of NTP Server on CentOS 8
 
SPDY, TCP, and the Single Connection Throttle
SPDY, TCP, and the Single Connection ThrottleSPDY, TCP, and the Single Connection Throttle
SPDY, TCP, and the Single Connection Throttle
 
Step by step_linux_guide
Step by step_linux_guideStep by step_linux_guide
Step by step_linux_guide
 
Lamp Server With Drupal Installation
Lamp Server With Drupal InstallationLamp Server With Drupal Installation
Lamp Server With Drupal Installation
 
Document Management: Opendocman and LAMP installation on Cent OS
Document Management: Opendocman and LAMP installation on Cent OSDocument Management: Opendocman and LAMP installation on Cent OS
Document Management: Opendocman and LAMP installation on Cent OS
 
Webmail
WebmailWebmail
Webmail
 
Migration from ASP to ASP.NET
Migration from ASP to ASP.NETMigration from ASP to ASP.NET
Migration from ASP to ASP.NET
 
How to run multiple instances of transmission daemon in linux debian or ubuntu
How to run multiple instances of transmission daemon in linux debian or ubuntuHow to run multiple instances of transmission daemon in linux debian or ubuntu
How to run multiple instances of transmission daemon in linux debian or ubuntu
 
Compressing & decompressing in mule
Compressing & decompressing in muleCompressing & decompressing in mule
Compressing & decompressing in mule
 
Http2
Http2Http2
Http2
 
Mule esb db_2
Mule esb db_2Mule esb db_2
Mule esb db_2
 
Explore your prometheus data in grafana - Promcon 2018
Explore your prometheus data in grafana - Promcon 2018Explore your prometheus data in grafana - Promcon 2018
Explore your prometheus data in grafana - Promcon 2018
 
Groovy example in mule
Groovy example in muleGroovy example in mule
Groovy example in mule
 
XMPP Intro 1101 - 2008
XMPP Intro 1101 - 2008XMPP Intro 1101 - 2008
XMPP Intro 1101 - 2008
 
Smtp
SmtpSmtp
Smtp
 
Ftp server linux
Ftp server linuxFtp server linux
Ftp server linux
 
Encrypting/Decrypting mule
Encrypting/Decrypting  muleEncrypting/Decrypting  mule
Encrypting/Decrypting mule
 
2. reverse primarydns using bind for ptr and cname record ipv4
2. reverse primarydns using bind for ptr and cname record ipv42. reverse primarydns using bind for ptr and cname record ipv4
2. reverse primarydns using bind for ptr and cname record ipv4
 
Mulesoft Using Groovy Component
Mulesoft Using Groovy ComponentMulesoft Using Groovy Component
Mulesoft Using Groovy Component
 
Timer Interceptor in Mule part 2
Timer Interceptor in Mule part 2Timer Interceptor in Mule part 2
Timer Interceptor in Mule part 2
 

Semelhante a NetScaler Web2.0 Push Technology Overview

Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docxRunning Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
joellemurphey
 

Semelhante a NetScaler Web2.0 Push Technology Overview (20)

Observability and Product Release
Observability and Product ReleaseObservability and Product Release
Observability and Product Release
 
NServiceBus_for_Admins
NServiceBus_for_AdminsNServiceBus_for_Admins
NServiceBus_for_Admins
 
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docxRunning Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
 
Introduction to LAVA Workload Scheduler
Introduction to LAVA Workload SchedulerIntroduction to LAVA Workload Scheduler
Introduction to LAVA Workload Scheduler
 
Scaling asp.net websites to millions of users
Scaling asp.net websites to millions of usersScaling asp.net websites to millions of users
Scaling asp.net websites to millions of users
 
Hpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago admHpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago adm
 
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017Introduction to gRPC - Mete Atamel - Codemotion Rome 2017
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017
 
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...
 
Observability in a Dynamically Scheduled World
Observability in a Dynamically Scheduled WorldObservability in a Dynamically Scheduled World
Observability in a Dynamically Scheduled World
 
Cisco DevNet CREATE 2019 - NetBeez Network Performance API
Cisco DevNet CREATE 2019 - NetBeez Network Performance APICisco DevNet CREATE 2019 - NetBeez Network Performance API
Cisco DevNet CREATE 2019 - NetBeez Network Performance API
 
SignalR
SignalRSignalR
SignalR
 
(NET404) Making Every Packet Count
(NET404) Making Every Packet Count(NET404) Making Every Packet Count
(NET404) Making Every Packet Count
 
IoT with OpenPicus Flyport
IoT with OpenPicus FlyportIoT with OpenPicus Flyport
IoT with OpenPicus Flyport
 
When Web Services Go Bad
When Web Services Go BadWhen Web Services Go Bad
When Web Services Go Bad
 
Mass Report Generation Using REST APIs
Mass Report Generation Using REST APIsMass Report Generation Using REST APIs
Mass Report Generation Using REST APIs
 
Consul scale
Consul scaleConsul scale
Consul scale
 
Performance eng prakash.sahu
Performance eng prakash.sahuPerformance eng prakash.sahu
Performance eng prakash.sahu
 
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
 
Bottlenecks rel b works and rel c planning
Bottlenecks rel b works and rel c planningBottlenecks rel b works and rel c planning
Bottlenecks rel b works and rel c planning
 
WCF - In a Week
WCF - In a WeekWCF - In a Week
WCF - In a Week
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

NetScaler Web2.0 Push Technology Overview

  • 1. Web 2.0 Push Technical overview Netscaler Product Group
  • 2. Web 2.0 - Server Push or Reverse Ajax Reverse Ajax is the ability to push data from a web or app server to the browser, without user interaction "Publish-Subscribe" model Clients subscribe to information channels/feed Servers push “new” information out to the subscribers Many different names and techniques HTTP Server Push HTTP Streaming COMET (Server Push + Long Polling) Long Polling BOSH (Bidirectional-streams Over Synchronous HTTP ) © The Coding Machine
  • 3. Client Update: Three Common Techniques Server Push Client Pull
  • 4. Server Client Client Req Req_1 t Quiet period Quiet period (y) Query finishes Req_2 Quiet period Quiet period (y) Query finishes Chunk_1 (data) Chunk_0 (data) Chunk_2 (data) Req_3 Server Push – Two Common Techniques Long Polling Streaming Server Time Connection resource tied up on Server Connection resource tied up on Server t + y t + 2y
  • 5. NetScaler Web 2.0 Push: Offloading Connection Management Benefits Improves server utilization by 10x Improves application responsiveness Cuts data center energy and cooling costs Availability Available in NetScaler 9.x – (March 2009) Available in Platinum and Enterprise edition Requires custom script development to adapt a given application to work with our Push technology to enable tagging data streams as “Server Push-able” Millions of clients Few servers
  • 6.
  • 7. Parks millions of persistent client connections
  • 8. Enables configuration driven approach to identifying a client connection and server push setup – aka label
  • 9. Offloads client connection management from servers
  • 10. Reuses server connections thus improving server utilization and “push”es data to client based on returned label
  • 11.
  • 12. NetScaler Web 2.0 Push Building Blocks Connection Labeling Protocol Receive and terminate connections; decrypt and analyze every request Setup transaction label over multiplexed HTTP connections Push Switching Protocol NetScaler accepts asynchronous out of band label updates over few TCP connections NetScaler demultiplexes label and dispatches updates over persistent client connections
  • 13. NetScaler Web 2.0 Push : An Example Setup Server Push messages are sent to NetScaler over a few pooled connections Client-VIP 10.217.6.86:80 Push-VIP 10.217.6.87:80 Server 10.217.6.53:80 Client 10.216.134.59
  • 14. PUSH_VIP: IP-Prt NS_HDR GET RES DEFERABLE = Yes, Label = L1 msg0 msg1 msg2 POST /client/L1 POST /client/L1 POST /client/L1 data0 data1 final NetScaler Web 2.0 Push: HTTP Streaming Support NetScaler AppServer Client Messaging Bus V I P Labeling protocol Transaction Labeled. TCP connection can be optionally closed GET RES-HDR Quiet period. NS holding onto client connection. P U S H - V I P Quiet period. Waiting for next update. Chunk_0 (data) Quiet period. NS holding onto client connection. Quiet period. Waiting for next update. Chunk_1 (data) LastChunk (data)
  • 15. Request from NetScaler to Server Request from Client (Browser) to NetScaler VIP Response from NetScaler VIP to Client (Browser) Response from Server to NetScaler Connection Labeling Protocol Client to Server Server to Client
  • 16. NetScaler Push Updates Update from Server to Push VIP using REST API Update forwarded to Client by NetScaler Status Ack from NetScaler to Server in XML
  • 17. Application code change for NetScaler Web 2.0 Push def longpoll_update(np, pushvs, label): holdtime = 10 + random.randint(0,5) time.sleep(holdtime) data = mesg % (label, holdtime) np.push_post_update(pushvs, label, data, True) def process_request(): pushvs = os.environ.get('HTTP_NSPUSHVSERVER', '') if pushvs == '': print "Content-Type: text/html" print "" print "NetScaler PUSH functionality not enabled. " sys.exit() np = nspush.NsPushMgr() label = np.push_label_client() #daemonize this process, so the parent exits # and the long poll will send update later daemon.createDaemon() longpoll_update(np, pushvs, label) if __name__ == '__main__': process_request() class NsPushMgr: def push_label_client(self): label = str(int(time.time())) print "NSDEFERRABLE: YES" print "NSSERVERLABEL: ", label print "Content-Type: text/html" print "" return label def push_post_update(self, pushvip, label, data, msg_end): pushvip = re.sub('_', ':', pushvip) if msg_end is True: uri = '/CLIENT/V10/' + label + '?MSG_END=1' else: uri = '/CLIENT/V10/' + label + '?MSG_END=0' conn = httplib.HTTPConnection(pushvip) conn.request('POST', uri, data, {}) resp = conn.getresponse() conn.close() poll.py nspush.py