throbber
SpeLi4RE.D ChicoCA85827aYvared.com
`
`
`
`
`
`42456“1
`
`Lofl
`
`DOCUMENTS|7.0. sox 3506 Document #
`
`
`
`
`
`e For more informaticr please visit: www.documertsdelivered.ccm/copyright-policy/
`
`[Name|Order ID |Service|Order Date Client Reference | Billing Number
`
`
`
`Lisa MacDonald
`42456
`05.16.2017 5:33 am
`309101-2130-12110
`ASAP Order
`
`Document Details
`
`Source : Integrated Network Management, 1999. Distributed Managementfor the Networked Millennium. Proceedings of the Sixth
`IFIP/IEEE International Symposium on
`
`Volurre :
`
`Issue:
`
`Date: 1999
`
`Pages: 3-18
`
`Author: Martin-Flatin, Jean-Philippe
`
`Title : Push vs. pull in web-based network management.
`
`Order Options
`
`“Title Page ifAvailable MDatestamp
`
`CEnglish Only
`
`™M Table of Contents if
`Available
`
`OColorif
`Available
`
`OExtra Clean
`
`M Copyright Pageif
`Available
`
`(Hardcopy
`Only
`
`OJInclude Suppl, Material if Available
`
`U Digital Only
`
`CJHTML/Text
`OK
`
`Notes
`“<cover, title page, copyright, date stamp (before Noverrber 2002), library/institution
`stamp, TOC, and article***
`
`e Documents Delivered is a mernber of the Copyright Clearance Center and adheres to copyright law.
`
`Copyright Policy | FAQ y Help | Privacy Policy
`
`Facebook's Exhibit No. 1009/1109
`Page 1
`
`Facebook's Exhibit No. 1009/1109
`Page 1
`
`

`

`
`
`Pijeliiivad|alsells
`
`
`
`‘URULO[SSTO]
`
`
`
`ndn-][rqpue
`
`Slomar
`Mazumd
`
`oN m
`
`A
`
`|
`
`
`
`Facebook's Exhibit No. 1009/1109
`Page 2
`
`memSraof})sun
`
`pate
`
`
`
`ay)Buyyomjay
`
`EEE||SS3YDNOO40AMVHENT
`
`Facebook's Exhibit No. 1009/1109
`Page 2
`
`

`

`Page 3
`
`Facebook's Exhibit No. 1009/1109
`
`Facebook's Exhibit No. 1009/1109
`Page 3
`
`

`

` \
`
`fev
`
`tS try
`errr
`=
`i
`{ TA :
`
`“
`
`Integrated Networ
`ManagementVI
`
`| Oa on
`
`DISTRIBUTED MANAGEMENT FOR THE
`NETWORKED MILLENNIUM
`
`Proceedingsof the Sixth IFIP/IEEE
`International Symposium on Integrated
`Network Management
`Boston, MA, U.S.A., 24 - 28 May 1999
`Sponsored by: IEEE Communications Society
`Co-sponsored by IFIP TC6 WG6 on Network Management
`
`Edited by
`Morris Sloman
`Department of Computing,
`Imperial College ofScience, Technology and Medicine
`London, UK
`
`Subrata Mazumdar
`Bell Laboratories
`Lucent Technologies
`Holmdel, New Jersey, USA
`
`and
`
`Emil Lupu
`Department of Computing
`Imperial College of Science, Technology and Medicine
`London, UK
`
`Published by IEEE Publishing
`
`g
`
`lIEEE
`‘Networking the Word™
`
`Pid
`
`————SS
`
`SSEa
`==a——e=a
`==
`IFIP —-
`IEEE
`COMMUNICATIONS
`SOCIETY
`
`4
`
`Facebook's Exhibit No. 1009/1109
`Page 4
`
`Facebook's Exhibit No. 1009/1109
`Page 4
`
`

`

`
`
`Facebook's Exhibit No. 1009/1109
`Page 5
`
`i|i :
`
`Facebook's Exhibit No. 1009/1109
`Page 5
`
`

`

`Pushvs. Pull in Web-Based Network
`Management
`
`J.P. Martin-Flatin
`Swiss Federal Institute of Technology, Lausanne (EPFL)
`Institute for computer Communications and Applications (ICA)
`1015 Lausanne, Switzerland
`martin-flatin@ epfl.ch
`
`Abstract
`In this paper, we build on the concept of embedded management application,
`proposed by Wellens and Auerbach, and present
`two models of network
`managementapplication designsthat rely on Web technologies. First, the pull model,
`based on the request/response paradigm, is a generalization of data polling in the
`SNMP managementframework. We explain how to use it for ad hoc management
`(e.g, troubleshooting) and regular management(e.g., network monitoring). Second,
`the push model is a novel approachthat relies on the publish/subscribe/distribute
`paradigm.It is better suited to regular managementthan the pull model, and allows
`administrators to conserve network bandwidth as well as CPU time on the
`managementstation.
`
`Keywords
`Web-Based Management, Network Management, IP Networks, Push Model,‘Pull
`Model, Java, Embedded Management Application.
`1. Introduction
`
`The idea of using- Web technologies in IP network management is not new.
`Experiments with the early Web technologies (Web browsers, HTTP, HTML and
`CGIscripts) started in 1993-94. Initially, they were only confined to secondary
`tasks [4]. The first important step toward Web-based network management was
`taken when vendors began embedding HTTP serversin their network equipment.
`Bruins [1] reports some early experiments made by Cisco in 1995, whereby the
`entire command line interface was mapped to URLs. This opened new doors for
`configuration management and symptom-driven HTMLforms,as there was no more
`need to telnet into network devices. Mullaney [7] also describes some work
`conducted by FIP Software, whereby agents send static or dynamic HTML pages
`back to the Network ManagementStation (NMS)in response to an HTTP get or
`post request. Many network equipment vendors,including Cisco, Nortel Networks
`and 3Com, now routinely embed HTTPservers in their new equipment.
`
`Facebook's Exhibit No. 1009/1109
`Page 6
`
`Facebook's Exhibit No. 1009/1109
`Page 6
`
`

`

`4
`
`Web-based Management
`
`The second important step was taken when Java applets appeared in Netscape’s
`famous Web browser, in 1995. The seminal article by Wellens and Auerbach [10]
`introduces the concept of embedded management application, and shows the
`advantages of using HTTP rather than SNMPtovehicle data between managers and
`agents. Although the authors do not explicitly refer to applets in their article, the
`solution they proposeis to transform an add-on(i.e., a vendor-specific management
`GUIthat has to be ported to many different management platforms and operating
`systems) into a single applet that can run anywhere. This applet is stored in the
`managed device, and loaded by the administrator into a Web browser. Communi-
`cation between the appletandits origin agentlater relies on HTTP instead of SNMP.
`
`Since the time of this proposal, new technologies have appeared on the Web. Today,
`in addition to applets and Java applications, we can use Java servlets and Remote
`Method Invocation (RMI), we can open persistent sockets between applets and
`servlets, etc. All these new possibilities enable new designs of network management
`applications. Leveraging on these new technologies, we propose to push Wellens and
`Auerbach’s idea two steps further. In section 2, we show that the design paradigm
`they proposeis just one instance of a more general paradigm, the pull model, which
`can not only be applied to ad hoc management, as they do, but also to regular
`management. In section 3, we introduce a novel approach based on the push model.
`Unlike the pull model, it is not based on the request/response paradigm, but on the
`publish/subscribe/distribute paradigm. With this scheme, managementdata transfers
`are always initiated by the agent, as SNMP notifications delivery in pre-Web
`network management. The push model reduces network overhead, and movespart
`of the CPU burden from managers to agents.
`
`2. The Pull Model
`
`In sections 2.1 and 2.2, we describe the pull and push models, and explain the
`difference between ad hoc and regular management. In section 2.3, we present the
`engineering details of pull-based ad hoc management, and show how Web
`technologies can complement the managementfunctionalities offered by the NMS.
`In this case, network troubleshooting can be done from any machine running a Web
`browser, whereas the NMSremains in charge of regular management.Finally, in
`section 2.4, we show that Webtechnologiescan also deal with regular management.
`
`2.1. Pull vs. push: the newspaper metaphor
`In software engineering,
`the pull model and the push model designate two
`well-known approaches for exchanging data between two distant entities. The
`newspaper metaphoris a simpleillustration of these models: if you want to read your
`favorite newspaper everyday, you can either go and buy it every morning, or
`subscribe to it once and then receive it automatically at home. The formeris an
`exampleofpull, the latter of push. The pull model is based on the request/response
`paradigm (called data polling, or simply polling,
`in the SNMP management
`
`|
`
`Facebook's Exhibit No. 1009/1109
`Page 7
`
`Facebook's Exhibit No. 1009/1109
`Page 7
`
`

`

`Push vs. Pull in Web-based Network Management
`
`5
`
`framework); the client sends a request to the server, then the server answers, either
`synchronously or asynchronously. This is functionally equivalent to the client
`“pulling” the data off the server. In this approach,the data transfer is always initiated
`by the client,
`i.e.
`the manager. The push model, conversely,
`is based on the
`publish/subscribe/distribute paradigm. In this model, agents first advertise what
`MIBsthey support, and what SNMPnotifications they can generate; the adminis-
`trator then subscribes the manager (the NMS)to the data he/she is interested in,
`specifies how often the managershouldreceive this data, and disconnects. Lateron,
`each agentindividually takes the initiative to “push” data to the manager, either on
`a regular basis via a scheduler (e.g., for network monitoring) or asynchronously(e.g.,
`to send SNMPnotifications).
`
`2.2. Ad hoc management ys. regular management
`
`The simplest and most intuitive application of the applet technology is ad hoc
`management, which requires a user (administrator or operator) to interact with the
`management software via some GUIs. Ad hoc managementis typical of transient
`tasks: you connect to a network device, retrieve some data to check something, and
`disconnect shortly after. Regular management, conversely,
`is concerned with
`ongoing data collection, network monitoring and event handling.It is automated to
`a large extent, and generally runs continuously.
`
`Ad hoc management takes place in virtually all companies. In large organizations
`whocan afford staff dedicated to monitoring the network (operators), or who rely on
`entirely automated regular management, ad hoc management is complementary to
`regular management. Conversely, in Small and Medium-sized Enterprises (SMEs),
`ad hoc management generally replaces regular management. There is no operator
`and no dedicated NMS: the managementsoftwareis only used occasionally, on an
`ad hoc basis. Ad hoc managementtypically consists in troubleshooting (i.e., a
`network problem just showed up, and the administratortries to identify and fix the
`problemmanually), or configuration management(e.g., the administrator sets up a
`new router, or checksif a router is configured properly).
`2.3. Pull-based ad hoc management
`
`issues in SNMP-based network management[4]. They
`Applets address several
`decrease vendors’ developmentcosts for management GUIs; they addressthe issue
`of having different versions of a vendor-specific MIB in the same network; they cut
`the time-to-market of management GUIs downto Zero; and they are independent of
`the machine where the Web browser runs. Applets can also replace all
`the
`management GUIsthat we find in pre-Web network managementplatforms[6].
`
`Vendor-specific management GUIs codedas applets
`
`the vendor-specific
`In the approach proposed by Wellens and Auerbach,
`management GUI is coded as an applet. They call it the embedded management
`
`Facebook's Exhibit No. 1009/1109
`Page 8
`
`Facebook's Exhibit No. 1009/1109
`Page 8
`
`

`

`6
`
`Web-based Management
`
`application. The uploading of the applet by the Web browseris depicted in Figure 1.
`The HTTPserver running on the agent retrievesits vendor-specific management
`applet from local storage, e.g. from EPROM,andsendsit back to the Web browser.
`Once the applet is uploaded by the Web browser, there are two ways to proceed:
`either use SNMP or HTTP.
`
`If we use SNMP,the interactions between the manager (Web browser running on
`any machine) and the agent (network device) are depicted in Figure 1. Steps 1 and 2
`describe the applet transfer; they occur only once. Steps 3 and 4 describe the
`managementdata transfers; they are an iterative process. The dotted arrow for step 2
`is a visual aid that showsthat the applet is transferred from the agent to the manager.
`In reality, this transfer takes place between the HTTP client of the Web browser and
`the HTTP server of the agent.
`
`Networkdevice Any machine
`
`Webbrowser
`
`Administrator
`or Operator
`
`Figure 1: Pull model: HTTP together with SNMP
`
`Oncethe applet is uploaded, the user has the equivalent of an add-on in a pre-Web
`network managementplatform to interact with. Graphical interactions are translated
`into SNMP commandsbythe applet (e.g., a mouse click on the drawing ofa reset
`button can be mapped to an SNMP set). In other words, wehave a Java API making
`How can weload this SNMPstack into the browser? The simplest proach is to
`
`SNMPcalls underneath.
`
`include an SNMPstack in the applet, as described by Bruins [1], because the applet
`security model prevenis it from retrieving this stack from the localfile system. So
`each time a managementapplet is uploaded from a network device, the entire SNMP
`stack needs to be movedalong. This is clearly inefficient, especially if this transfer
`takes place across a WAN link. An improvementon this is to retrieve the SNMP
`stack separately, via a socket. Because of the applet security model, sockets may
`only be opened between an applet and its origin server, in HTTP parlance; so we
`need a proxy to act as the origin server [4]. The managementappletis first requested
`by the Web browserto the proxy; second, the proxy contacts the network device and
`
`Facebook's Exhibit No. 1009/1109
`Page 9
`
`Facebook's Exhibit No. 1009/1109
`Page 9
`
`

`

`Push vs. Pull in Web-based Network Management
`
`7
`
`retrieves the applet without the SNMPstack; third, the applet is passed alongto the
`Webbrowser which executesit; fourth, the applet opens a socket to the proxy, which
`runsthe server side of the socket; fifth, the SNMPstackis transferred via the socket;
`andsixth the socket is closed. All subsequent SNMPtraffic between the manager and
`the agent is simply relayed “as is” by the proxy.
`
`This approach worksfine; it is of limited interest though, because we do not benefit
`from the advantages of using HTTP instead of SNMP [4]: reduced network
`overhead, improved security, etc. So let us now study the case when the recurrent
`steps 3 and 4 are based on HTTPrather than SNMP(see Figure 2). This time, there
`is no need for an SNMPclient in the Web browser, thus no need for a proxy.
`
`Vendor-specific
`GUI(applet)
`
`Networkdevice
`
`ws
`Administrator
`
`Network
`map GUI
`
`Any machine
`
`Figure 2: Pull model: HTTP instead of SNMP
`
`When a MIB variable is requested by the applet, the request is made to the HTTP
`server run by the agent. The HTTP server then launches an HTTP-to-SNMPgateway
`to access the local MIB. The gateway can be a CGI script, a Java servlet, etc.
`Depending on the degree of optimization of the code run by the agent, the gateway
`can either directly access the MIB datastructures in memory,or do an explicit SNMP
`get or set. This gives a useful migration path to network equipment vendors.
`
`Generic management GUIs codedas applets
`
`So far, we followed the original idea of Wellens and Auerbach: only vendor-specific
`management GUIs are coded as applets. The next step is to code generic GUIs as
`applets, too. (A generic GUI supports a generic vendor-independent MIB such as
`MIB-II, the RMON MIBor the ATM MIB [6].) At this point, ad hoc management
`relies entirely on Web technologies (see Figure3).
`
`The Webserver can be any machineon the Internetor the intranet; for robustness,it
`Should clearly be attached to the intranet. The “MIBs” icon in the network device
`representsall the generic MIBs supported by theagent, plus its vendor-specific MIB.
`
`
`
`Facebook's Exhibit No. 1009/1109
`Page 10
`
`Facebook's Exhibit No. 1009/1109
`Page 10
`
`

`

`Web-based Management
`
`HTTP/SNMP
`gateway
`
`Network device
`
`/ Any machine
`
`(intranet or Internet)
`
`, aG
`
`eneric GUI
`(applet)
`
`.
`
`WWWserver
`
`Figure 3: Pull model: ad hoc management based on HTTP
`
`In this section, we showed that SMEsthat only rely on ad hoc managementfor their
`network equipment can save the cost of a network managementplatform by using
`Web technologies instead. Thus, depending on the pricing policy of network
`equipment vendors,
`the move
`from SNMP-based to Web-based network
`management can completely reshape the SMEs segmentof this market.
`
`2.4. Regular management
`
`In addition to ad hoc management, many organizations need to perform regular
`management. For them, network management must be automated to a large extent,
`including data polling and event handling which are not dealt with by the solutions
`wepresented so far. Let us concentrate on data polling in this section. Let us suppose
`we have two separate management platforms, side by side: one for regular
`management, based on SNMP, and one for ad hoc management, based on Web
`technologies. Let us now describe, step by step, how to integrate them.
`
`—
`
`Facebook's Exhibit No. 1009/1109
`Page 11
`
`Facebook's Exhibit No. 1009/1109
`Page 11
`
`

`

`Push vs. Pull in Web-based Network Management
`
`9
`
`Vendor-specific
`GUIs (applets)
`
`Ad»
`
`a
`
`Management
`software
`repository
`
`GUI
`applet)
`
`:
`
`f
`
`WWWserver
`\ (intranet or Internet)
`
`glue WWWserver
`
`Administrator
`or Operator
`
`7 pac
`mA\
`client
`
`definition
`
`scheduler
`
`purpose data
`repository
`
`Firewall
`
`SNMP
`trapclient
`
`Network
`device
`
`handler
`
`(intranetor Internet)
`
`Figure 4: Pull model: data polling based on HTTP
`
`The first step is to integrate a Web browser in the network managementplatform,in
`order to have a unified interface for ad hoc and regular management. This feature is
`now offered by some commercial network managementplatforms. The network map
`GUlis an appletthat is uploaded by the Web browser.It can be updated dynamically
`
`Facebook's Exhibit No. 1009/1109
`Page 12
`
`Facebook's Exhibit No. 1009/1109
`Page 12
`
`

`

`10
`
`Web-based Management
`
`by the eventcorrelator, with icons turning red, green, etc. An easy wayto update this
`map would beto open a socketdirectly between the applet and the eventcorrelator.
`But we do not necessarily want to have a network map GUI: regular management can
`rely entirely on event handlers, when it runs in unattended mode.In suchacase, the
`administrator is automatically paged, mailed or telephoned when a serious problem
`is detected. To cope with this case, we add an intermediary, the network map
`registry, between the network map GUI(s) and the event correlator. Thus, we can
`have zero, one or several network map GUIsregistered independently.
`
`The applet security model mandatesthat the applet be downloaded from the machine
`with the server side of the socket. So the WWW serverat the bottom of Figure 4 and
`the WWWserverat the top right are actually the same machine. They are represented
`separately to avoid too many overlapping arrows.
`
`The secondstep is to replace all the GUIs of the network managementplatform [6]
`with applets. The vendor-specific appletis still loaded from the network device. All
`other GUIs are retrieved from the management software repository; the WWW
`server must then act as a proxy because of the applet security model.
`
`Thethird step is to make the data repository independentof the network management
`platform. We assumeherethat data is stored in a third-party RDBMS; note that we
`may as well use a plain text file system, or an object-oriented database. The data
`repository resides on a machine that wecall the data server, which can be any
`machine of the intranet. To store or retrieve data, we use JDBC. In order to make
`Figure 4 easier to read, we assumethat we havea single data repository for polling
`and report definitions and schedules; but this is not mandatory.
`
`The fourth step is to implement data polling with HTTP. This is achieved by a
`servlet. Upon start-up,
`the polling engine retrieves all polling definitions and
`schedules from the RDBMS. The scheduler makesit poll all agents on a regular
`basis. The data retrieved for network monitoring is checked by the polling data
`interpreter, which may generate an eventin case a problemis inferred. This eventis
`then dispatched to the event correlator, which can decide to update the network
`map(s). The communication between the managerand the agent is based on ATTP.
`Thefifth step is to migrate reports generation to Web technologies. This is doneiby
`another servlet, which accesses the data repository via JDBC. This data is stored by
`the polling servlet, and is accessed independently by the report generator. For the
`sake of simplicity, we pictured the two servlets, report generation and data polling,
`as running on the same machine;butthis does not haveto be the case.
`
`this stage, data collection and network monitoring rely entirely on Web
`At
`technologies. They no longer require an expensive NMS, dedicated to network
`management. SNMPnotifications delivery and event handlersare the only tasksstill
`performedin the traditional way.
`
`Facebook's Exhibit No. 1009/1109
`Page 13
`
`Facebook's Exhibit No. 1009/1109
`Page 13
`
`

`

`Push vs. Pull in Web-based Network Management
`
`11
`
`3. The Push Model
`
`The push model generalizes to network monitoring and data collection the way
`SNMPnotifications are delivered today. Despite its large success in software
`engineering,
`it has always been confined to SNMP notification delivery in IP
`network management. To the best of our knowledge, no network management
`platform usesit today for network monitoring or data collection. Yet, we claim that
`its very design makesit better suited to regular managementthan the pull model.
`
`The chief advantages of using the push model are to conserve network bandwidth
`and movepart of the CPU burden from managers to agents. Much of the network
`overhead caused by the pull model is due to the fact that there is a lot of redundancy
`in what the manager keeps askingall agents at every polling cycle for data collection
`and network monitoring. With the push model, the manager contacts each agent
`once, subscribes to an OID once (push data definition), and specifies at what
`frequency (push frequency) the agent should send the value of this OID (push data
`schedule). Afterward, there is no more traffic going from the managerto the agent
`(except in the rare cases when the manager wishes to changeits subscription). The
`agent “remembers” what the manager subscribed to by keeping the push definitions
`and schedules on local storage; if this is EPROM,the agent can retrieve these
`definitions and schedules by itself after a reboot; if this is RAM,it needsto retrieve
`them from the manager, which stores them in the data server.
`
`The point of moving part of the CPU burden from managersto agents is to decrease
`the requirements put on NMSsin terms of CPU and memory. Network management
`platformsfor large networks are often big Unix or Windows NTservers, which cost
`a fortune to buy and maintain. Agents, on the other hand, are more powerful than
`they used to be, and many of them can reasonably doa bit of processing locally (see
`the rationale behind Goldszmidt’s Management by Delegation scheme [3], or
`Wellens and Auerbach’s myth of the dumb agent[10]).
`
`Compared to the pull model, the push model introduces a new issue: synchroni-
`zation. If the manager and the agent have internal clocks that do not synchronize
`regularly,
`they will probably drift apart. This is not a problem for network
`monitoring, but it can be for data collection [4]. For push technologies to work,it is
`therefore recommendedto synchronizethe clocks of network equipment on a regular
`basis, e.g. with NTP. Let us now delveinto the engineering details of the push model.
`
`3.1. Publication and subscription phases
`
`In the first phase, the network device (agent) publishes what MIBsit supports, and
`what SNMPnotifications it can send to the manager. A simple way to implementthis
`is to use applets, as depicted in Figure 5. First, the user selects an agent on the
`network map applet, and loads from that agent a well-known HTMLpage,e.g.
`<http://agent.domain/mgmt/mibs.html>, whichlists the applets stored on the agent.
`
`Facebook's Exhibit No. 1009/1109
`Page 14
`
`Facebook's Exhibit No. 1009/1109
`Page 14
`
`

`

`12
`
`Web-based Management
`
`Every applet publishes one MIB (vendor-specific or generic) supported by the agent,
`except one, which publishes the SNMPnotifications supported by this agent.
`
`In the second phase, the administrator subscribes the manager to MIB variables and
`SNMPnotifications. MIB data subscription applets allow him/her to select MIB
`variables as well as push frequencies. The push frequency can be specified at the
`MIBvariable level: it need not be the same forall variables of a given MIB. The push
`frequency is equal to the polling frequency considered in section 2. Obviously, the
`notification subscription applet does not have to specify a push frequency, as notifi-
`cationsare inherently asynchronous. In fact, the notification subscription applet is
`simply a filter: it specifies what notifications the manageris interested in. Other
`notifications are discarded by the agent.
`
`Network
`map GUI
`(applet)
`
`TS
`Push
`Push definitions
`scheduler
`and schedules
`serviet
`repository
`A/Notification
`subscription
`GUI(applet)
`
`~
`sa
`Administrator
`or Operator
`
`WY
`
`subscription
`GUI(applet)
`
`JDBC
`client
`
`Network map
`GUI (applet)
`
`WWWserver
`(intranet or Internet)
`
`Push
`definition
`servlet
`
`MIB data
`subscription GUI
`(applet)
`
`Notification
`subscription
`GUI(applet)
`Network
`“
`
`device
`
`Any machine
`
`General
`purpose data
`Tepository
`
`Figure 5: Push model: publication and subscription phases
`
`The publication and subscription phases are depicted in Figure 5. The details of the
`MIB and notification subscriptions are stored in the data server. In case an agent
`loses all
`its push configuration data, this allows the manager to resend all
`the
`definitions and schedules for that agent in unattended mode: the administrator does
`not have to enter it all over again manually, via a GUI. The general purpose data
`repository of the data server includes (i) the definitions and schedules of the MIB
`data subscribed to by the manager,(ii) the definitions of the notifications subscribed
`to by the manager,and(iii) the network topology definition used by the network map
`
`Facebook's Exhibit No. 1009/1109
`Page 15
`
`Facebook's Exhibit No. 1009/1109
`Page 15
`
`

`

`Push vs, Pull in Web-based Network Management
`
`13
`
`applet to construct its GUI. In reallife, these three logical data repositories may
`actually be stored into different databases, or a single database.
`
`3.2. Distribution phase
`
`In the distribution phase, the case of data collection and network monitoring is only
`marginally different from the case of notification delivery and event handling. In
`order to facilitate the comparison with the pull model, we will concentrate on data
`collection and network monitoring in this paper, that is, how to replace data polling
`‘with push technologies. Notification delivery and event handling are presented in
`" detail in [5]. Let us stress that the solutions we will describe below apply equally
`well to both cases: the communication issues between the agent and the managerare
`the same, only the servlets running on the managerside are different.
`
`General
`purpose data
`repository
`
`Data server
`
`Administrator
`or Operator
`
`Firewall
`
`:
`
`Administrator
`
`dat
`collector
`a
`
`MIBdata
`dispatcher
`
`Network
`device
`
`Figure 6: Push model: distribution phase
`
`The general purpose data repository depicted in Figure 6 includes seven different
`repositories: the three listed in section 3.1, plus (iv) the event handler definitions
`repository, (v) the event handlers invocationlog, (vi) the pushed data repository, and
`
`Facebook's Exhibit No. 1009/1109
`Page 16
`
`Facebook's Exhibit No. 1009/1109
`Page 16
`
`

`

`14
`
`Web-based Management
`
`these logically
`‘(vii) the pushed notifications repository. Again, in real life, all
`different data repositories may actually reside in one or more databases.
`
`Compared to Figure 4 (pull model), we no longer have a polling engine; instead, we
`have a pushed data collector, which receives the data necessary to monitor the
`network or build usage statistics reports. This data is stored on the data server via
`JDBC. Since the execution speed of Java code is slow, it may be a good idea to
`increase the performancebystoring data in bulk. As the polling engine in the pull
`model, the pushed data collector sends data collected for network monitoring to the
`pushed data interpreter. If an abnormal condition is detected by the pushed data
`interpreter, e.g. a device no longer sends any data, an alarm is generated in the form
`of an eventsentto the event correlator. The event correlator also receives events in
`the form of notifications (not shown here), and identifies the problem with the
`network,It can invoke an event handler, when an eventis not masked by another, in
`which case the call to the event handler is logged in the data server.
`
`The main difficulty when going from pull to push is that the data transfer is now
`initiated by the agent, instead of the manager, while the client remains on the
`managerside, and the server on the agent side. Somehow,the client and the server
`are on the wrong sides! We would like the server to initiate the communication,
`whereas communication is always initiated by the client
`in a client/server
`architecture. To addressthis issue, we have the choice between three communication
`technologies: HTTP, sockets and RMI [9].
`
`Sockets
`
`Firewall
`
`Push definitions
`and schedules
`repository
`
`device
`
`collector
`
`Any machine
`
`ane
`
`Network
`
`Figure 7: Push model: distribution via sockets
`
`that sockets are bidirectional solves the problem of server-initiated
`The fact
`‘communication: we can open a socket as usual, from the client to the server, and,
`later on, only use it to send MIB data from the socketserver to the socket client. To
`ensure that this connection remains persistent, the pushed data collector, on the
`managerside, sets an infinite time-out value on the socket whenit creates it. If the
`underlying TCP connection times out for whatever reason,it is the responsibility of
`the manager (pusheddata collector) to open a new socketto the agent.
`
`Facebook's Exhibit No. 1009/1109
`Page 17
`
`Facebook's Exhibit No. 1009/1109
`Page 17
`
`

`

`Push vs. Pull in Web-based Network Management
`
`15
`
`This socket-based solution presents a big advantage: simplicity. Sockets are very
`simple to program,especially in Java, But it also presents two potential drawbacks.
`First, if the underlying operating system of either the manager or the agent keeps
`timing out the connection (e.g., because the administrator has no control over the
`time-out value of the socket, and this time-out value happens to be lower than the
`push frequency), then this solutionis clearly inappropriate. Not only do the repeated
`socket creations and time-outs cause network and CPU overhead, but even worse, we
`cannottakethe risk to makenotifications delivery depend on suchaversatile type of
`persistent connection; there must be a wayfor the agent, not the manager,to create
`anew connectionif the previous timed out. Second,if we need to go acrossa firewall
`between the manager and the agent, there is a potential issue with sockets. Most
`firewalls filter out UDP, and let only a few TCPports go through [2]. So whether we
`use TCP or UDP sockets, firewalls will generally not let sockets go through by
`default. Thus, in order for this socket-based solution to work, the firewall system
`needs to be modified. This may not be a problem for large organizations, because
`they either have in-house expertise in firewalls to set up UDPrelays or change TCP
`filtering rules, or they can afford expensive external consultants to do the job. Butit
`may well be a problem for SMEs, who generally lack this kind of expertise, and for
`whom expensive external consultants may notbe an option.
`
`RMI
`
`t! F
`
`igure 8: Push model: distribution via RMI
`
`Just like sockets, RMI offers a bidirectional association: once an RMIclient has
`bound to an RMIserver, both of them can senddata to the other. RMIis an elegant
`solution in terms of design, because it gives a fully object-oriented view of network
`management. It offers semantics to the network management application designer
`that are higher than mere MIB variables, and makesit easier to design complex
`applications. But RMIalso presents several drawbacks.First, it requires a full JVM
`to be embeddedin all agents (as opposed to a light-weight JVM such as the one
`included in the EmbeddedJava platform [10]). Very few network devices offer this
`feature today. And manywill not have a full JVM for some time, becauseof the large
`footprint of this software on bottom-of-the-range devices that are very price
`sensitive. Second, current RMI implementationsare very slow, and use many CPU
`
`Facebook's Exhibit No. 1009/1109
`Page 18
`
`.
`Push definitions
`and schedules
`repository
`
`Push
`
`MIBdata
`
`dispatcher
`
`Network
`device
`
`Java
`appl.
`
`(et)
`
`Firewall
`a
`
`II
`
`collector
`
`Any machine
`
`Facebook's Exhibit No. 1009/1109
`Page 18
`
`

`

`16
`
`Web-based Management
`
`and memory resources; today, RMI-based network management is not scalable.
`Third, RMI communication is actually based on sockets, which are transparent to
`applications; so once again, we

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