US20070130306A1 - System and method for comparing a service level at a remote network location to a service level objective - Google Patents

System and method for comparing a service level at a remote network location to a service level objective Download PDF

Info

Publication number
US20070130306A1
US20070130306A1 US11/294,614 US29461405A US2007130306A1 US 20070130306 A1 US20070130306 A1 US 20070130306A1 US 29461405 A US29461405 A US 29461405A US 2007130306 A1 US2007130306 A1 US 2007130306A1
Authority
US
United States
Prior art keywords
network
transaction
service level
application
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US11/294,614
Other versions
US7647399B2 (en
Inventor
Gal Ofel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Marigalante Ltd
Original Assignee
Shunra Software Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shunra Software Ltd filed Critical Shunra Software Ltd
Priority to US11/294,614 priority Critical patent/US7647399B2/en
Assigned to SHUNRA SOFTWARE LTD. reassignment SHUNRA SOFTWARE LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: OFEL, GAL
Publication of US20070130306A1 publication Critical patent/US20070130306A1/en
Application granted granted Critical
Publication of US7647399B2 publication Critical patent/US7647399B2/en
Assigned to HEWLETT-PACKARD MARIGALANTE LTD. reassignment HEWLETT-PACKARD MARIGALANTE LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SHUNRA SOFTWARE LTD.
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • H04L43/55Testing of service level quality, e.g. simulating service usage

Definitions

  • the present invention generally relates to computer networks. More particularly, the present invention relates to a system and method for evaluating a service level of transactions conveyed over a network link to a remote location.
  • Network capacity planning may measure a network's ability to serve users at remote locations at an acceptable speed and with acceptable transaction success rates.
  • the process may involve measuring the computing resources that may be necessary to support users at a remote location in their use of a particular application.
  • constraints on the performance of a network are bandwidth, latency, bandwidth utilization, packet loss rate, jitter rate and others.
  • TRT transaction response time
  • SLO service level objective
  • Prior network capacity systems either analytical and/or discreet event simulation tools may model network communication constraints on links with remote locations, and may execute transactions of an application on such models. Modeling network constraints, characteristics or conditions to remote network locations is subject to inaccuracies and inconsistencies and is heavily dependent on the integrity of the model being used.
  • Embodiments of the invention include a method or system for storing a service level objective producing a network condition on a first network link, such network condition matching the same network condition on a second network link, where the second network link connects the network to a remote network location executing a transaction of an application over the first network link, and predicting if a service level of the executed transaction of the application over the second network link reaches the stored service level objective.
  • the storing of the service level objective may include storing a metric such as a measure of a performance rate, success rate and consistency of the performance of transaction of the application on the network.
  • producing the network condition may include producing a network condition in a range of network conditions that may be found on for example a network link with a remote network point or client.
  • producing network conditions may include altering concurently more than one network condition while keeping another network condition constant.
  • network conditions may include bandwidth, latency, packet loss, filtering, route changes, queuing, load balancing, packet modification, quality of service mechanisms, multi protocol label switching, virtual LAN, out-of-order, packet duplication, fragmentation, time to live effects, link faults, congestion and bandwidth utilization.
  • storing a service level may include storing a quality of experience rate at the remote link of the transaction of the application.
  • the prediction may include a prediction of a maximum number of clients whose transactions of an application meet the service level objective, or a prediction of a level of a network condition at which the transaction fails to reach the service level objective.
  • a memory may include storing a series of pre-defined transactions, executing the pre-defined transactions, recording a service level on one or more of the pre-defined transactions.
  • a value or importance level of a performance metric on particular transaction may be defined for purposes of deriving a quality or experience or for purposes of determining if a service level has been achieved.
  • FIG. 1 is a conceptual illustration of components of a network having a point at a remote location, including a server electronically coupled to a one or more of such remote locations and to a processor that may produce network conditions or impose network constraints on a link or path, in accordance with a preferred embodiment of the present invention
  • FIG. 2 illustrates a process for evaluating a service level at a remote location of one or more transactions of an application, in accordance with a preferred embodiment of the present invention.
  • FIG. 1 a conceptual illustration of components of a network 100 having a point or client 102 at a remote location, including a server 101 electronically coupled to one or more clients 102 at the remote locations or other locations and to a computing platform 126 that may produce network conditions or impose network constraints on a link or path between for example the server 101 and the remote client 102 , in accordance with a preferred embodiment of the present invention.
  • a memory unit 113 may for example record, track or estimate the level, prominence or severity of various network conditions that may be found or assumed to exist in a network link or path 106 between for example a remote client 102 or other remote point 105 , and for example a server 101 or other point network point 105 .
  • the recorded, tracked or estimated conditions that may be present or predicted on a path 106 to the remote client 102 may be produced by for example computing platform 126 on a second link or path 106 so that the conditions on the first link path 106 match the conditions on the second link or path 106 .
  • this second path 106 may be to a client 103 that may be located proximate to server 101 .
  • a load tool 124 may initiate one or more transactions of an application 112 along the path 106 , and processor 120 may alter, vary or change the network conditions along path 106 .
  • a memory 122 may collect and evaluate metrics of the performance of the transactions along path 106 , and may compare such metrics to an SLO. The collected metrics may predict an SLO of a transaction of application 112 between for example remote client 102 and server 101 along path 106 .
  • Network 100 otherwise called a computer network or an area network, may be implemented in many different shapes and sizes. Examples of networks 100 may include, without limitation and in various combinations, a Local Area Network (LAN), a Wide Area Network (WAN), a Metropolitan Area Network (MAN) or others. Hence, the network 100 may have various number of servers 101 or multi-tiered servers, electrically coupled to any number of workstations/clients 102 or points 105 over various types of communication paths 106 over various distances.
  • LAN Local Area Network
  • WAN Wide Area Network
  • MAN Metropolitan Area Network
  • Network descriptions such as LAN, WAN, and MAN, may sometimes imply a physical distance that the network 100 spans or a distance-based concept.
  • a LAN may connect network devices over a relatively short distance.
  • a WAN may span a large physical distance and may include remote clients 102 that may be located in a different state or country.
  • WANs may use technology like leased lines, cable modems, Internet, asynchronous transfer mode (ATM), Frame Relay, E1, T1, and X.25 for connectivity. Other terms, designations and distances may be used.
  • Server 101 or computing platform 126 may include for example a user interface 107 , a memory unit 108 , and a processor 109 .
  • Memory unit 108 may include one or more software applications 112 .
  • User interface 107 may include for example an output device 110 an input device 111 and in some cases more devices.
  • Server 101 may be implemented as, without limitation, a computer, a workstation, a personal computer, a handheld computer, a desktop computer, a laptop computer, and the like. Server 101 may be mobile, fixed, or convertible between mobile and fixed, depending on a particular implementation. Server 101 may be a computer adapted for a fixed implementation. In some embodiments, server 101 and computing platform 126 may share one or more of a processor 109 , data storage or memory unit 108 , user interface 107 , an output device 110 , an input device 111 or other components. In some embodiments, computing platform 126 and server 101 may be contained in the same unit.
  • Processor 109 may be a central processing unit (CPU) or controller, that may control some or all functions of server 101 .
  • Processor 109 may execute, retrieve, transfer, and decode instructions over communication paths, internal or external to the server 101 , and may retrieve, transport or store data to or from peripherals and components of server 101 .
  • the processor 109 may include or be connected to an interface to such elements that may be located outside the server 101 , but communicating with the processor 109 , such as via the communication path 106 .
  • Memory unit 108 may include without limitation, a hard drive, read only memory (ROM), and random access memory (RAM) or other data storage units. Memory unit 108 may be of a suitable size to accommodate one or more applications 112 and other program and storage needs. Application 112 , may be for example executable applications deployed over a WAN. Application 112 may take other forms and serve other or additional functions.
  • ROM read only memory
  • RAM random access memory
  • the input device 111 may permit a user to input information into the server 101 or computing platform 126 .
  • Output device 110 may permit a user to receive information from the server 101 or computing platform 126 .
  • Input device 111 may be a keyboard, but also may be a touch screen, a microphone with a voice recognition program, or other devices.
  • Output device 110 may be or include for example a display, but also may be a speaker, for example or other output device.
  • Output device 110 may provide information to the user responsive to the input device 111 receiving information from the user or may be responsive to other activity by the server 101 or computing platform 126 .
  • the display may present information responsive to the user entering information in the server 101 or computing platform 126 via a keypad.
  • Server 101 or computing platform 126 may contain other elements, including, without limitation, a data input interface and a data output interface that may provide communication ports that permit data to be received by and sent from, respectively, server 101 or computing platform 126 .
  • the data input interface and the data output interface may be the same interface, permitting bidirectional communication, or may be different interfaces, permitting opposite, unidirectional communication.
  • Examples of the data input interface and the data output interface include, without limitation, parallel ports, and serial ports, such as a universal serial bus (USB).
  • USB universal serial bus
  • Client 102 may be implemented as, without limitation, a computer, a workstation, a personal computer, a handheld computer, a desktop computer, a laptop computer, communication device and the like. Client 102 may be mobile, fixed, or convertible between mobile and fixed, depending on the particular implementation. Client 102 may be adapted for a fixed implementation.
  • Communication path 106 may electrically or electronically couple the server 101 and/or computing platform 126 to one or more of clients 102 .
  • Communication path 106 may be or include wired and/or wireless components and may accommodate the fixed and/or mobile server 101 or clients 102 , respectively.
  • wired communication paths include, without limitation, LANs, leased WAN circuits, ATM, frame relay.
  • wireless communication paths include, without limitation, wireless LANs, microwave links, satellite.
  • Network 100 may also include an external data storage unit 113 for storing software applications 112 or other applications, data or instructions.
  • Unit 113 may include, without limitation, one or more of the following: a hard drive, read only memory (ROM), and random access memory (RAM).
  • Unit 113 may be of suitable size to accommodate application 112 , and other program and storage needs.
  • Unit 113 may in some embodiments be used in cooperation with or as a substitute for the memory unit 108 in the server 101 .
  • Computer readable product 114 such as a computer readable storage medium, a disk (such as a compact disk (CD)), for example, or other portable storage medium containing an executable code may in some embodiments contain instructions that may perform a method in accordance with an embodiment of the invention.
  • a computer readable storage medium such as a compact disk (CD)
  • CD compact disk
  • other portable storage medium containing an executable code may in some embodiments contain instructions that may perform a method in accordance with an embodiment of the invention.
  • Network condition processor 120 may be or include a processor separate from processor 109 , or may be or include software that may run on or from processor 109 or from another processor. In some embodiments, network condition processor 120 may be included in a unit that is separate from server 101 . In some embodiments, network condition processor 120 may include physical connections to and from server 101 and one or more of clients 102 .
  • Network condition processor 120 may include or be connected to a memory 122 that may be part of or separate from memory unit 113 .
  • Network condition processor 120 may include instructions to for example impose a delay or latency in the transmission of packets or other data units that may be passed to or from server 101 to client 102 or to other units 105 that may be connected to network 100 and processor 120 .
  • processor 120 may impose or produce bandwidth limitations or other constraints or interferences on network traffic to, from or between server 101 , clients 102 or other points 105 of network 100 .
  • Processor 120 may also impose or produce network conditions or constraints such as bandwidth utilization, jitter, packet loss, jitter rate, filtering, route changes, queuing, load balancing, packet modification, quality of service mechanisms, multi protocol label switching, virtual LAN, out-of-order, packet duplication, fragmentation, time to live effects, link faults such as bit errors and disconnections and other network conditions that may be experienced of effect data transfers over a network 100 , such as between server 101 and a client 102 .
  • network conditions or constraints such as bandwidth utilization, jitter, packet loss, jitter rate, filtering, route changes, queuing, load balancing, packet modification, quality of service mechanisms, multi protocol label switching, virtual LAN, out-of-order, packet duplication, fragmentation, time to live effects, link faults such as bit errors and disconnections and other network conditions that may be experienced of effect data transfers over a network 100 , such as between server 101 and a client 102 .
  • processor 120 may alter or change one or more network conditions that it produces on for example a path 105 to remote client 102 so that various permutations of network conditions are altered or kept unchanged, and so that some or all of the combinations of network conditions are tested. For example, processor 120 may increase jitter on a network connection or path with remote client 102 or client 103 , while holding packet loss and other conditions constant or unchanged. Similarly, processor 120 may alter or vary two or more network conditions that it produces while keeping other conditions constant.
  • processor 120 and for example memory 122 may record data, such as for example metrics of performance of a transaction over a network between for example server 101 and client 103 . In some embodiments, a performance metric may be compared to a service level objective for such metric, and a prediction of the level of service that will exist on the path 105 to remote client 102 may be made.
  • an estimate may be made of a range of network conditions or values, or of the severities or prominence of such conditions on a link or network path 105 to remote client 102 .
  • One or more permutations or instances of such conditions within such range may be produced on the link with client 103 , and metrics of the performance of the transaction of an application may be collected.
  • a prediction may be made of a value or severity of a network condition at which the service provided in a transaction with one or more remote clients 102 may fail to reach a service level objective.
  • server 101 and client 103 may be connected to processor 120 , and may be removed from some or all of the connection to network 100 or to parts of network 100 , during for example a test of adherence to an SLO of one or more transactions of an application 112 between for example server 101 and client 103 .
  • processor 120 may produce network conditions on a link or path to client 103 , that are similar to or essentially equivalent to those encountered by remote client 102 when executing a transaction.
  • processor 120 or a recording or memory device may monitor or record network conditions such as bandwidth, latency, bandwidth utilization, packet loss rate, jitter rate, filtering, route changes, queuing, load balancing, packet modification, Quality of Service mechanisms, multi protocol label switching (MPLS), virtual LAN (VLAN), out-of-order, packet duplication, fragmentation, time to live (TTL) effects, link faults such as bit errors and disconnections, congestion and others on network 100 , and produce such conditions in a path 106 between or among processor 120 , server 101 and client 103 .
  • network conditions such as bandwidth, latency, bandwidth utilization, packet loss rate, jitter rate, filtering, route changes, queuing, load balancing, packet modification, Quality of Service mechanisms, multi protocol label switching (MPLS), virtual LAN (VLAN), out-of-order, packet duplication, fragmentation, time to live (TTL) effects, link faults such as bit errors and disconnections, congestion and others on network 100 , and produce such conditions in a path 106 between or among processor
  • a script or order or a list of transactions of an application to be executed may be stored on and executed from for example a load tool 124 .
  • a load tool may be or include for example a MercuryTM LoadRunnerTM or SegueTM SilkPerformerTM. Other load tools 124 may be used.
  • a load tool 124 may be run for example from a set of instructions such as a software application or from other platforms Load tool 124 can also run from multiple computers.
  • processor 120 may be or include one or more processors such as those available in a VE Network ApplianceTM available from Shunra Software Ltd.TM of Kfar Sava, Israel. Other products or processors may be used as processor 120 .
  • a load tool 124 or some other memory and/or processing device may initiate one more transactions of one or more applications 112 from or between server 101 and clients 102 and/or for example virtual clients or other network points 105 when conditions on path 106 match the actual or predicted conditions on path 106 to client 103 .
  • load tool 124 may increase a number, frequency, size, complexity or other characteristics of transactions between for example server 101 and client 103 , and/or may increase or decrease a number of users, a frequency of log-ons by users, a ramp-up time between log-ons by clients such as client 103 or other permutations of users and transactions of an application 112 between or among clients 103 , servers 101 or other points 105 of network 100 .
  • processor 120 may produce, alter or vary one or more network conditions on a path 106 between for example client 103 and server 101 to match a range of conditions that may be encountered by client 102 when it executes a transaction of application 112 .
  • all or some of the transactions initiated by for example load tool 124 may be initiated under one or more network conditions that may be produced by processor 120 .
  • a memory such as unit 113 or another data storage unit may store performance metrics of transactions that are executed while network conditions are varied.
  • the transactions initiated by for example load tool 124 may be coordinated with the variations or changes in for example network conditions that are produced by for example processor 120 , so that for example, one or more of a particular series of transactions is executed for each of the desired network conditions that is applied to a path 106 or network link by for example processor 120 .
  • a rating or evaluation of one or more transactions of an application 112 may include a TRT of a transaction, and a comparison of the TRT to an SLO.
  • such rating or comparison may be expressed as for example a pass/fail of the execution of such transaction within the limits of the SLO.
  • Other criteria that may be evaluated may include a general success rate or completion of requested transactions of an application over network 100 , also know as availability, the percentage of transactions that meet an objective, also known as performance, and a diversity rate, or for example a standard deviation of successful responses from an objective, also known as consistency. Other factors may be considered.
  • the measures of one or more of availability, performance and consistency may be classified in ranges, such that for example, a performance rate of between 0-55% may be unacceptable, while performance of between 56% and 100% may be acceptable.
  • Using such classifications may enable a user to easily appreciate the results of testing in light of acceptability criteria that may have for example been pre-defined. Further classification of test results may let a user gauge for example more than one criterion at a time. For example, a test of a transaction of an application 112 under various produced network conditions may have yielded a 60% performance rate, which rate may be generally acceptable, but a 78% consistency rate. The 78% consistency rate may downgrade the otherwise acceptable performance rate to a not-acceptable result.
  • Other combinations of criteria and classifications, with other designations are possible.
  • a processor may, when determining a compliance of a transaction of an application 112 to a service level under a particular set of network communication constraints, assign a weight, relative importance or value to one or more particular transactions. For example, a transaction of an application 112 that fails to meet an SLO when for example several clients 103 are executing a transaction simultaneously, may be given less weight in determining compliance with an SLO than a transaction of an application that fails to meet an SLO when for example a typical number of clients are executing typical transactions under typical network conditions.
  • FIG. 2 a flow diagram of a method in accordance with a preferred embodiment of the present invention.
  • a service level objective of for example a performance of a transaction of an application under a particular network condition or set of network conditions may be stored in for example a memory.
  • a processor or computing platform may produce or generate one or more network conditions on a first link of a network to a client.
  • the produced conditions may match a set of conditions that may be encountered or faced by a client at a remote network location, on this or another network, when such remote client executes a transaction or an application on this or another network link.
  • the conditions produced may match the actual conditions encountered by the remote client.
  • such conditions, or the values of for example latency, lag or other conditions may be derived from a recording of a communication on a link to such remote client.
  • the conditions may match a set of assumed or estimated conditions that may be faced or that could be faces by the remote client on a network link.
  • one or more of the following conditions may be altered, changed or varied to match an actual, predicted or estimate condition on a link or path with a remote client: bandwidth, latency, bandwidth utilization, packet loss rate, jitter rate, filtering, route changes, queuing, load balancing, packet modification, Quality of Service mechanisms, MPLS, VLAN, out-of-order, packet duplication, fragmentation, TTL effects, link faults such as bit errors and disconnections, congestion.
  • Other conditions may be produced.
  • one or more network conditions may be altered concurrently, and one or more conditions may be held unchanged, so that a transaction of an application may be tested on some or all of the various permutations or combinations of network conditions that may be faced on the link with a remote client.
  • a processor, server or computing platform may execute a transaction of an application over the link where the produced conditions are in effect.
  • a memory may record a set of metrics or other measures of the performance of the transaction of the application under the produced network conditions or under various permutations or possibilities of various conditions.
  • the collected metrics may be calculated into a service level.
  • a calculation of a service level may include a calculation of any or all of a performance rate, a success rate and a consistency rate of a transaction under a particular set of network conditions.
  • performance characteristics or other measures or levels of performance may be calculated as an overall quality of service faced by a remote client in the performance of a transaction of an application.
  • there may be executed a list or script of transactions at one or more network conditions, and performance metrics may be collected at one or more of such transactions when the link is subject to the one or more changed network conditions.
  • a performance metric may be collected when for example there are multiple clients performing the same or different transactions of the same or different applications. In some embodiments, metrics may be collected when or after several clients are logging on or off at variable times and with various frequencies or ramp up rates.
  • a prediction may be made of a service level at a remote client upon the performance of a transaction of an application, on the basis of the service level of such performance on the link where the produced conditions were in effect.
  • Such prediction may include an estimation of whether the service levels match the stored service level objective.
  • the predicting may include predicting a maximum number of clients whose transaction of the application meet the stored service level objective.
  • the predicting may include predicting a value of a network condition where the service provided to a remote client on a transaction of an application fails to reach the stored service level objective.
  • Such metrics or calculations may be for example stored in a memory, and/or compared to a stored or pre-defined SLO.
  • a network operator or other user may have defined an SLO of for example a 70% performance rate with an 80% consistency rate for of a series of transactions on an application under a given set of network constraints.
  • a user or operator may alter, vary or change for example a bandwidth rate, then run the same or a similar series of transactions, and collect the same or similar set of metrics. This process may be repeated as some or many combinations of constraints or network conditions are imposed.
  • a processor or a user or operator may determine for example at what levels of network conditions a service level for a transaction or series of transactions will fail to reach a pre-defined SLO.
  • multiple clients or virtual clients may initiate or execute a transaction of an application at a particular time, or may log-on and join a network over a pre-defined or random periods at pre-defined or random intervals.
  • a method of the present invention may be implemented by a series of instructions that may for example be stored on a magnetic storage unit such as a disc drive.
  • a software tool such as MercuryTM LoadRunnerTM or SegueTM SilkPerformerTM may capture performance metrics when for example a client executes particular functions of an application.
  • one or more clients, servers or points of a network may be linked into a test LAN that may include a processor to produce network conditions.
  • Such LAN may in some embodiments not be connected to other components of a network while metrics of the application are being collected.

Abstract

A system and method to store a service level objective, produce one or more network conditions on a first network link where such network condition matches the state of such network condition on a second network link, and where the second network link connects to a remote network location, execute a transaction of an application over the first network link and predict if a service level of the transaction of the application over the second network link reaches the stored service level objective.

Description

    FIELD OF THE INVENTION
  • The present invention generally relates to computer networks. More particularly, the present invention relates to a system and method for evaluating a service level of transactions conveyed over a network link to a remote location.
  • BACKGROUND OF THE INVENTION
  • Network capacity planning may measure a network's ability to serve users at remote locations at an acceptable speed and with acceptable transaction success rates. The process may involve measuring the computing resources that may be necessary to support users at a remote location in their use of a particular application. Among the constraints on the performance of a network are bandwidth, latency, bandwidth utilization, packet loss rate, jitter rate and others.
  • Factors that may be considered for evaluating a performance of an application at a remote network location may include a transaction response time (TRT) that a user at a remote location may encounter when for example requesting a transfer of data from a remote server or the updating of data to a remote data base. A maximum permissible range for a TRT may be known as a service level objective (SLO).
  • Prior network capacity systems, either analytical and/or discreet event simulation tools may model network communication constraints on links with remote locations, and may execute transactions of an application on such models. Modeling network constraints, characteristics or conditions to remote network locations is subject to inaccuracies and inconsistencies and is heavily dependent on the integrity of the model being used.
  • SUMMARY OF THE INVENTION
  • Embodiments of the invention include a method or system for storing a service level objective producing a network condition on a first network link, such network condition matching the same network condition on a second network link, where the second network link connects the network to a remote network location executing a transaction of an application over the first network link, and predicting if a service level of the executed transaction of the application over the second network link reaches the stored service level objective.
  • In some embodiments, the storing of the service level objective may include storing a metric such as a measure of a performance rate, success rate and consistency of the performance of transaction of the application on the network. In some embodiments, producing the network condition may include producing a network condition in a range of network conditions that may be found on for example a network link with a remote network point or client. In some embodiments, producing network conditions may include altering concurently more than one network condition while keeping another network condition constant. In some embodiments, network conditions may include bandwidth, latency, packet loss, filtering, route changes, queuing, load balancing, packet modification, quality of service mechanisms, multi protocol label switching, virtual LAN, out-of-order, packet duplication, fragmentation, time to live effects, link faults, congestion and bandwidth utilization. In some embodiments, storing a service level may include storing a quality of experience rate at the remote link of the transaction of the application.
  • In some embodiments, several clients or network points such as remote clients or virtual remote clients may concurrently execute the transaction or one or more other transactions of one or more other application, and such clients may log-on to or join the network at a pre-defined ramp up rate. In some embodiments, the prediction may include a prediction of a maximum number of clients whose transactions of an application meet the service level objective, or a prediction of a level of a network condition at which the transaction fails to reach the service level objective.
  • In some embodiments, a memory may include storing a series of pre-defined transactions, executing the pre-defined transactions, recording a service level on one or more of the pre-defined transactions. In some embodiments a value or importance level of a performance metric on particular transaction may be defined for purposes of deriving a quality or experience or for purposes of determining if a service level has been achieved.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with features and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanied drawings in which:
  • FIG. 1 is a conceptual illustration of components of a network having a point at a remote location, including a server electronically coupled to a one or more of such remote locations and to a processor that may produce network conditions or impose network constraints on a link or path, in accordance with a preferred embodiment of the present invention; and
  • FIG. 2 illustrates a process for evaluating a service level at a remote location of one or more transactions of an application, in accordance with a preferred embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • In the following description, various embodiments of the invention will be described. For purposes of explanation, specific examples are set forth in order to provide a thorough understanding of at least one embodiment of the invention. However, it will also be apparent to one skilled in the art that other embodiments of the invention are not limited to the examples described herein. Furthermore, well-known features may be omitted or simplified in order not to obscure embodiments of the invention described herein.
  • Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification, discussions utilizing terms such as “selecting,” “processing,” “computing,” “calculating,” “determining,” or the like, refer to the actions and/or processes of a computer, computer processor or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices.
  • The processes and functions presented herein are not inherently related to any particular computer, network or other apparatus. Embodiments of the invention described herein are not described with reference to any particular programming language, machine code, etc. It will be appreciated that a variety of programming languages, network systems, protocols or hardware configurations may be used to implement the teachings of the embodiments of the invention as described herein.
  • Reference is made to FIG. 1, a conceptual illustration of components of a network 100 having a point or client 102 at a remote location, including a server 101 electronically coupled to one or more clients 102 at the remote locations or other locations and to a computing platform 126 that may produce network conditions or impose network constraints on a link or path between for example the server 101 and the remote client 102, in accordance with a preferred embodiment of the present invention.
  • In operation and in some embodiments, a memory unit 113 may for example record, track or estimate the level, prominence or severity of various network conditions that may be found or assumed to exist in a network link or path 106 between for example a remote client 102 or other remote point 105, and for example a server 101 or other point network point 105, The recorded, tracked or estimated conditions that may be present or predicted on a path 106 to the remote client 102, may be produced by for example computing platform 126 on a second link or path 106 so that the conditions on the first link path 106 match the conditions on the second link or path 106. In some embodiments, this second path 106 may be to a client 103 that may be located proximate to server 101. A load tool 124 may initiate one or more transactions of an application 112 along the path 106, and processor 120 may alter, vary or change the network conditions along path 106. A memory 122 may collect and evaluate metrics of the performance of the transactions along path 106, and may compare such metrics to an SLO. The collected metrics may predict an SLO of a transaction of application 112 between for example remote client 102 and server 101 along path 106.
  • Network 100, otherwise called a computer network or an area network, may be implemented in many different shapes and sizes. Examples of networks 100 may include, without limitation and in various combinations, a Local Area Network (LAN), a Wide Area Network (WAN), a Metropolitan Area Network (MAN) or others. Hence, the network 100 may have various number of servers 101 or multi-tiered servers, electrically coupled to any number of workstations/clients 102 or points 105 over various types of communication paths 106 over various distances.
  • Network descriptions, such as LAN, WAN, and MAN, may sometimes imply a physical distance that the network 100 spans or a distance-based concept. For example, a LAN may connect network devices over a relatively short distance. A WAN may span a large physical distance and may include remote clients 102 that may be located in a different state or country. WANs may use technology like leased lines, cable modems, Internet, asynchronous transfer mode (ATM), Frame Relay, E1, T1, and X.25 for connectivity. Other terms, designations and distances may be used.
  • Server 101 or computing platform 126 may include for example a user interface 107, a memory unit 108, and a processor 109. Memory unit 108 may include one or more software applications 112. User interface 107 may include for example an output device 110 an input device 111 and in some cases more devices.
  • Server 101 may be implemented as, without limitation, a computer, a workstation, a personal computer, a handheld computer, a desktop computer, a laptop computer, and the like. Server 101 may be mobile, fixed, or convertible between mobile and fixed, depending on a particular implementation. Server 101 may be a computer adapted for a fixed implementation. In some embodiments, server 101 and computing platform 126 may share one or more of a processor 109, data storage or memory unit 108, user interface 107, an output device 110, an input device 111 or other components. In some embodiments, computing platform 126 and server 101 may be contained in the same unit.
  • Processor 109, may be a central processing unit (CPU) or controller, that may control some or all functions of server 101. Processor 109 may execute, retrieve, transfer, and decode instructions over communication paths, internal or external to the server 101, and may retrieve, transport or store data to or from peripherals and components of server 101. The processor 109 may include or be connected to an interface to such elements that may be located outside the server 101, but communicating with the processor 109, such as via the communication path 106.
  • Memory unit 108 may include without limitation, a hard drive, read only memory (ROM), and random access memory (RAM) or other data storage units. Memory unit 108 may be of a suitable size to accommodate one or more applications 112 and other program and storage needs. Application 112, may be for example executable applications deployed over a WAN. Application 112 may take other forms and serve other or additional functions.
  • In the user interface 107, the input device 111 may permit a user to input information into the server 101 or computing platform 126. Output device 110 may permit a user to receive information from the server 101 or computing platform 126. Input device 111 may be a keyboard, but also may be a touch screen, a microphone with a voice recognition program, or other devices. Output device 110 may be or include for example a display, but also may be a speaker, for example or other output device. Output device 110 may provide information to the user responsive to the input device 111 receiving information from the user or may be responsive to other activity by the server 101 or computing platform 126. For example, the display may present information responsive to the user entering information in the server 101 or computing platform 126 via a keypad.
  • Server 101 or computing platform 126 may contain other elements, including, without limitation, a data input interface and a data output interface that may provide communication ports that permit data to be received by and sent from, respectively, server 101 or computing platform 126. The data input interface and the data output interface may be the same interface, permitting bidirectional communication, or may be different interfaces, permitting opposite, unidirectional communication. Examples of the data input interface and the data output interface include, without limitation, parallel ports, and serial ports, such as a universal serial bus (USB).
  • Client 102 may be implemented as, without limitation, a computer, a workstation, a personal computer, a handheld computer, a desktop computer, a laptop computer, communication device and the like. Client 102 may be mobile, fixed, or convertible between mobile and fixed, depending on the particular implementation. Client 102 may be adapted for a fixed implementation.
  • Communication path 106 may electrically or electronically couple the server 101 and/or computing platform 126 to one or more of clients 102. Communication path 106 may be or include wired and/or wireless components and may accommodate the fixed and/or mobile server 101 or clients 102, respectively. Examples of wired communication paths include, without limitation, LANs, leased WAN circuits, ATM, frame relay. Examples of wireless communication paths include, without limitation, wireless LANs, microwave links, satellite.
  • Network 100 may also include an external data storage unit 113 for storing software applications 112 or other applications, data or instructions. Unit 113 may include, without limitation, one or more of the following: a hard drive, read only memory (ROM), and random access memory (RAM). Unit 113 may be of suitable size to accommodate application 112, and other program and storage needs. Unit 113 may in some embodiments be used in cooperation with or as a substitute for the memory unit 108 in the server 101.
  • Computer readable product 114, such as a computer readable storage medium, a disk (such as a compact disk (CD)), for example, or other portable storage medium containing an executable code may in some embodiments contain instructions that may perform a method in accordance with an embodiment of the invention.
  • Network condition processor 120 may be or include a processor separate from processor 109, or may be or include software that may run on or from processor 109 or from another processor. In some embodiments, network condition processor 120 may be included in a unit that is separate from server 101. In some embodiments, network condition processor 120 may include physical connections to and from server 101 and one or more of clients 102.
  • Network condition processor 120 may include or be connected to a memory 122 that may be part of or separate from memory unit 113. Network condition processor 120 may include instructions to for example impose a delay or latency in the transmission of packets or other data units that may be passed to or from server 101 to client 102 or to other units 105 that may be connected to network 100 and processor 120. In some embodiments, processor 120 may impose or produce bandwidth limitations or other constraints or interferences on network traffic to, from or between server 101, clients 102 or other points 105 of network 100. Processor 120 may also impose or produce network conditions or constraints such as bandwidth utilization, jitter, packet loss, jitter rate, filtering, route changes, queuing, load balancing, packet modification, quality of service mechanisms, multi protocol label switching, virtual LAN, out-of-order, packet duplication, fragmentation, time to live effects, link faults such as bit errors and disconnections and other network conditions that may be experienced of effect data transfers over a network 100, such as between server 101 and a client 102.
  • In some embodiments, processor 120 may alter or change one or more network conditions that it produces on for example a path 105 to remote client 102 so that various permutations of network conditions are altered or kept unchanged, and so that some or all of the combinations of network conditions are tested. For example, processor 120 may increase jitter on a network connection or path with remote client 102 or client 103, while holding packet loss and other conditions constant or unchanged. Similarly, processor 120 may alter or vary two or more network conditions that it produces while keeping other conditions constant. In some embodiments, processor 120 and for example memory 122 may record data, such as for example metrics of performance of a transaction over a network between for example server 101 and client 103. In some embodiments, a performance metric may be compared to a service level objective for such metric, and a prediction of the level of service that will exist on the path 105 to remote client 102 may be made.
  • In some embodiments, an estimate may be made of a range of network conditions or values, or of the severities or prominence of such conditions on a link or network path 105 to remote client 102. One or more permutations or instances of such conditions within such range may be produced on the link with client 103, and metrics of the performance of the transaction of an application may be collected. In some embodiments a prediction may be made of a value or severity of a network condition at which the service provided in a transaction with one or more remote clients 102 may fail to reach a service level objective.
  • In some embodiments, server 101 and client 103 may be connected to processor 120, and may be removed from some or all of the connection to network 100 or to parts of network 100, during for example a test of adherence to an SLO of one or more transactions of an application 112 between for example server 101 and client 103. For example, in some embodiments, processor 120 may produce network conditions on a link or path to client 103, that are similar to or essentially equivalent to those encountered by remote client 102 when executing a transaction. In some embodiments, processor 120 or a recording or memory device may monitor or record network conditions such as bandwidth, latency, bandwidth utilization, packet loss rate, jitter rate, filtering, route changes, queuing, load balancing, packet modification, Quality of Service mechanisms, multi protocol label switching (MPLS), virtual LAN (VLAN), out-of-order, packet duplication, fragmentation, time to live (TTL) effects, link faults such as bit errors and disconnections, congestion and others on network 100, and produce such conditions in a path 106 between or among processor 120, server 101 and client 103.
  • In some embodiments, a script or order or a list of transactions of an application to be executed may be stored on and executed from for example a load tool 124. A load tool may be or include for example a Mercury™ LoadRunner™ or Segue™ SilkPerformer™. Other load tools 124 may be used. A load tool 124 may be run for example from a set of instructions such as a software application or from other platforms Load tool 124 can also run from multiple computers.
  • In some embodiments, processor 120 may be or include one or more processors such as those available in a VE Network Appliance™ available from Shunra Software Ltd.™ of Kfar Sava, Israel. Other products or processors may be used as processor 120.
  • In some embodiments, a load tool 124 or some other memory and/or processing device may initiate one more transactions of one or more applications 112 from or between server 101 and clients 102 and/or for example virtual clients or other network points 105 when conditions on path 106 match the actual or predicted conditions on path 106 to client 103. In some embodiments, load tool 124 may increase a number, frequency, size, complexity or other characteristics of transactions between for example server 101 and client 103, and/or may increase or decrease a number of users, a frequency of log-ons by users, a ramp-up time between log-ons by clients such as client 103 or other permutations of users and transactions of an application 112 between or among clients 103, servers 101 or other points 105 of network 100.
  • In some embodiments, concurrently with, or at some other period when, for example load tool 124 is running, initiating, executing or processing transactions of application 112 between or among for example client 103, server 101 or other network components, processor 120 may produce, alter or vary one or more network conditions on a path 106 between for example client 103 and server 101 to match a range of conditions that may be encountered by client 102 when it executes a transaction of application 112. In some embodiments, all or some of the transactions initiated by for example load tool 124 may be initiated under one or more network conditions that may be produced by processor 120. In some embodiments, a memory such as unit 113 or another data storage unit may store performance metrics of transactions that are executed while network conditions are varied. In some embodiments, the transactions initiated by for example load tool 124 may be coordinated with the variations or changes in for example network conditions that are produced by for example processor 120, so that for example, one or more of a particular series of transactions is executed for each of the desired network conditions that is applied to a path 106 or network link by for example processor 120.
  • In some embodiments, a rating or evaluation of one or more transactions of an application 112 may include a TRT of a transaction, and a comparison of the TRT to an SLO. In some embodiments such rating or comparison may be expressed as for example a pass/fail of the execution of such transaction within the limits of the SLO. Other criteria that may be evaluated may include a general success rate or completion of requested transactions of an application over network 100, also know as availability, the percentage of transactions that meet an objective, also known as performance, and a diversity rate, or for example a standard deviation of successful responses from an objective, also known as consistency. Other factors may be considered.
  • Performance, availability, and consistency, may in some embodiments be expressed or calculated as follows: Performance = 100 * tps_passed _SLO tps_passed + tps_failed Availability = 100 * tps_passed tps_passed + tps_failed Consistency = ( 1 - ( response_time - AverageResponseTime ) 2 * tps_passed tps_passed AverageResponseTime ) * 100 where AverageResponseTime := ( tps_passed * response_time ) tps_passed
  • Other criteria, evaluations and calculations are possible.
  • The measures of one or more of availability, performance and consistency may be classified in ranges, such that for example, a performance rate of between 0-55% may be unacceptable, while performance of between 56% and 100% may be acceptable. Using such classifications may enable a user to easily appreciate the results of testing in light of acceptability criteria that may have for example been pre-defined. Further classification of test results may let a user gauge for example more than one criterion at a time. For example, a test of a transaction of an application 112 under various produced network conditions may have yielded a 60% performance rate, which rate may be generally acceptable, but a 78% consistency rate. The 78% consistency rate may downgrade the otherwise acceptable performance rate to a not-acceptable result. Other combinations of criteria and classifications, with other designations are possible.
  • In some embodiments, a processor may, when determining a compliance of a transaction of an application 112 to a service level under a particular set of network communication constraints, assign a weight, relative importance or value to one or more particular transactions. For example, a transaction of an application 112 that fails to meet an SLO when for example several clients 103 are executing a transaction simultaneously, may be given less weight in determining compliance with an SLO than a transaction of an application that fails to meet an SLO when for example a typical number of clients are executing typical transactions under typical network conditions.
  • Reference is made to FIG. 2, a flow diagram of a method in accordance with a preferred embodiment of the present invention. In block 200, a service level objective of for example a performance of a transaction of an application under a particular network condition or set of network conditions may be stored in for example a memory.
  • In block 202, a processor or computing platform may produce or generate one or more network conditions on a first link of a network to a client. The produced conditions may match a set of conditions that may be encountered or faced by a client at a remote network location, on this or another network, when such remote client executes a transaction or an application on this or another network link. In some embodiments, the conditions produced may match the actual conditions encountered by the remote client. In some embodiments, such conditions, or the values of for example latency, lag or other conditions may be derived from a recording of a communication on a link to such remote client. In some embodiments the conditions may match a set of assumed or estimated conditions that may be faced or that could be faces by the remote client on a network link.
  • In some embodiments, one or more of the following conditions may be altered, changed or varied to match an actual, predicted or estimate condition on a link or path with a remote client: bandwidth, latency, bandwidth utilization, packet loss rate, jitter rate, filtering, route changes, queuing, load balancing, packet modification, Quality of Service mechanisms, MPLS, VLAN, out-of-order, packet duplication, fragmentation, TTL effects, link faults such as bit errors and disconnections, congestion. Other conditions may be produced.
  • In some embodiments, one or more network conditions may be altered concurrently, and one or more conditions may be held unchanged, so that a transaction of an application may be tested on some or all of the various permutations or combinations of network conditions that may be faced on the link with a remote client.
  • In block 204, a processor, server or computing platform may execute a transaction of an application over the link where the produced conditions are in effect. A memory may record a set of metrics or other measures of the performance of the transaction of the application under the produced network conditions or under various permutations or possibilities of various conditions. In some embodiments, the collected metrics may be calculated into a service level. In some embodiments, a calculation of a service level may include a calculation of any or all of a performance rate, a success rate and a consistency rate of a transaction under a particular set of network conditions. In some embodiments, such performance characteristics or other measures or levels of performance may be calculated as an overall quality of service faced by a remote client in the performance of a transaction of an application. In some embodiments, there may be executed a list or script of transactions at one or more network conditions, and performance metrics may be collected at one or more of such transactions when the link is subject to the one or more changed network conditions.
  • In some embodiments, a performance metric may be collected when for example there are multiple clients performing the same or different transactions of the same or different applications. In some embodiments, metrics may be collected when or after several clients are logging on or off at variable times and with various frequencies or ramp up rates.
  • In block 206, a prediction may be made of a service level at a remote client upon the performance of a transaction of an application, on the basis of the service level of such performance on the link where the produced conditions were in effect. Such prediction may include an estimation of whether the service levels match the stored service level objective. In some embodiments, the predicting may include predicting a maximum number of clients whose transaction of the application meet the stored service level objective. In some embodiments, the predicting may include predicting a value of a network condition where the service provided to a remote client on a transaction of an application fails to reach the stored service level objective.
  • Such metrics or calculations may be for example stored in a memory, and/or compared to a stored or pre-defined SLO. For example, a network operator or other user, may have defined an SLO of for example a 70% performance rate with an 80% consistency rate for of a series of transactions on an application under a given set of network constraints. A user or operator may alter, vary or change for example a bandwidth rate, then run the same or a similar series of transactions, and collect the same or similar set of metrics. This process may be repeated as some or many combinations of constraints or network conditions are imposed. A processor or a user or operator may determine for example at what levels of network conditions a service level for a transaction or series of transactions will fail to reach a pre-defined SLO.
  • In some embodiments, multiple clients or virtual clients may initiate or execute a transaction of an application at a particular time, or may log-on and join a network over a pre-defined or random periods at pre-defined or random intervals.
  • In some embodiments, a method of the present invention may be implemented by a series of instructions that may for example be stored on a magnetic storage unit such as a disc drive.
  • In some embodiments, a software tool, such as Mercury™ LoadRunner™ or Segue™ SilkPerformer™ may capture performance metrics when for example a client executes particular functions of an application. In some embodiments, one or more clients, servers or points of a network may be linked into a test LAN that may include a processor to produce network conditions. Such LAN may in some embodiments not be connected to other components of a network while metrics of the application are being collected.
  • It will be appreciated by persons skilled in the art that embodiments of the invention are not limited by what has been particularly shown and described hereinabove. Rather the scope of at least one embodiment of the invention is defined by the claims below.

Claims (26)

1. A method comprising:
storing a service level objective;
producing a network condition on a first network link, said network condition matching said network condition on a second network link, said second network link connecting to a remote network location;
executing a transaction of an application over said first network link; and
predicting if a service level of said transaction of said application over said second network link reaches said service level objective.
2. The method as in claim 1, wherein said storing said service level objective comprises storing a metric selected from the group consisting of performance rate, success rate and consistency of said transaction of said application.
3. The method as in claim 1, wherein said producing said network condition comprises producing a network condition in a range of network conditions found on said second network link.
4. The method as in claim 3, wherein said producing comprises altering concurrently a plurality of network conditions while keeping said network condition constant.
5. The method as in claim 1, wherein said producing comprises altering a network condition selected from the group consisting of bandwidth, latency, packet loss, filtering, route changes, queuing, load balancing, packet modification, quality of service mechanisms, multi protocol label switching, virtual LAN, out-of-order, packet duplication, fragmentation, time to live effects, link faults, congestion and bandwidth utilization.
6. The method as in claim 1, wherein said storing said service level comprises storing a quality of experience rate of said transaction of said application.
7. The method as in claim 1, comprising storing a ramp up rate of a plurality of users of said application on said network.
8. The method as in claim 1, wherein said predicting comprises predicting a maximum number of clients whose transaction of said application meet said service level objective.
9. The method as in claim 1, wherein said predicting comprises predicting a value of said network condition at which said transaction fails to reach said service level objective.
10. The method as in claim 1, comprising generating a plurality of concurrent transactions of said application on said network, by a plurality of users.
11. The method as in claim 1, comprising storing a series of pre-defined transactions; executing said plurality of pre-defined transactions, and recording a service level for one of said pre-defined transaction.
12. The method as in claim 1, comprising deriving a value for said network condition from a communication over said second network link
13. The method as in claim 1, comprising executing said transaction over a third network link, concurrently with an execution of said transaction over said second network link.
14. A system comprising:
a memory to store a service level objective; and
a processor to:
produce a network condition on a first network link, said network condition matching said network condition on a second network link, said second network link connecting to a remote network location;
execute a transaction of an application over said first network link; and
predict if a service level of said transaction of said application over said second network link reaches said service level objective.
15. The system as in claim 14, wherein said memory is to store a metric selected from the group consisting of performance rate, success rate and consistency of said transaction of said application.
16. The system as in claim 14, wherein said processor is to produce a network condition in a range of network conditions found on said second network link.
17. The system as in claim 16, wherein said processor is to altering concurrently a plurality of network conditions while keeping said network condition constant.
18. The system as in claim 14, wherein said processor is to alter a network condition selected from the group consisting of bandwidth, latency, packet loss, filtering, route changes, queuing, load balancing, packet modification, quality of service mechanisms, multi protocol label switching, virtual LAN, out-of-order, packet duplication, fragmentation, time to live effects, link faults, congestion and bandwidth utilization.
19. The system as in claim 14, wherein said memory is to store a quality of experience rate of said transaction of said application.
20. The system as in claim 14, wherein said memory is to store a ramp up rate of a plurality of users of said application on said network.
21. The system as in claim 14, wherein said processor is to predict a maximum number of clients whose transaction of said application meet said service level objective.
22. The system as in claim 14, wherein said processor is to predict a value of said network condition at which said transaction fails to reach said service level objective.
23. The system as in claim 14, wherein said processor is to generate a plurality of concurrent transactions of said application on said network, by a plurality of users.
24. The system as in claim 14, wherein
said memory is to store a series of pre-defined transactions; and
said processor is to
execute said plurality of pre-defined transactions, and
record a service level for one of said pre-defined transaction.
25. The system as in claim 14, wherein said processor is to derive a value for said network condition from a communication over said second network link.
26. The system as in claim 14, wherein said processor is to execute said transaction over a third network link, concurrently with an execution of said transaction over said second network link
US11/294,614 2005-12-06 2005-12-06 System and method for comparing a service level at a remote network location to a service level objective Active 2027-08-16 US7647399B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/294,614 US7647399B2 (en) 2005-12-06 2005-12-06 System and method for comparing a service level at a remote network location to a service level objective

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/294,614 US7647399B2 (en) 2005-12-06 2005-12-06 System and method for comparing a service level at a remote network location to a service level objective

Publications (2)

Publication Number Publication Date
US20070130306A1 true US20070130306A1 (en) 2007-06-07
US7647399B2 US7647399B2 (en) 2010-01-12

Family

ID=38120071

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/294,614 Active 2027-08-16 US7647399B2 (en) 2005-12-06 2005-12-06 System and method for comparing a service level at a remote network location to a service level objective

Country Status (1)

Country Link
US (1) US7647399B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070130325A1 (en) * 2005-12-06 2007-06-07 Amichai Lesser System and method for comparing service levels to a service level objective
US20070232290A1 (en) * 2006-04-03 2007-10-04 Tatman Lance A System and method for measuring user behavior and use of mobile equipment
US20070232289A1 (en) * 2006-04-03 2007-10-04 Tatman Lance A System and method for measuring performance of new services in consumer devices
US20080208653A1 (en) * 2006-10-26 2008-08-28 Hewlett-Packard Development Company, L.P. Computer networks
US20100268524A1 (en) * 2009-04-17 2010-10-21 Empirix Inc. Method For Modeling User Behavior In IP Networks
US20130212288A1 (en) * 2012-02-14 2013-08-15 Citrix Systems, Inc. Client Bandwidth Emulation in Hosted Services
US20140068064A1 (en) * 2012-08-31 2014-03-06 Qualcomm Incorporated Method for qos management in home and roaming scenarios based on location/app server assistance
US20150019709A1 (en) * 2013-07-10 2015-01-15 Apollo Group, Inc. Method and apparatus for controlling initiation of multi-service transactions
CN111865781A (en) * 2019-04-25 2020-10-30 伊姆西Ip控股有限责任公司 Method, apparatus and computer program product for path optimization

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589140B1 (en) 2005-06-10 2013-11-19 Wapp Tech Corp. System and method for emulating and profiling a frame-based application playing on a mobile device
US7813910B1 (en) 2005-06-10 2010-10-12 Thinkvillage-Kiwi, Llc System and method for developing an application playing on a mobile device emulated on a personal computer
JP4880376B2 (en) * 2006-06-14 2012-02-22 株式会社日立製作所 Support apparatus, program, information processing system, and support method
US8656284B2 (en) * 2009-04-17 2014-02-18 Empirix Inc. Method for determining a quality of user experience while performing activities in IP networks
CN106254058B (en) * 2015-06-12 2019-06-11 华为技术有限公司 A kind of method and device for the frequency adjusting server

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893905A (en) * 1996-12-24 1999-04-13 Mci Communications Corporation Automated SLA performance analysis monitor with impact alerts on downstream jobs
US20030229595A1 (en) * 2002-06-05 2003-12-11 Risto Mononen Charging of network access and services
US6725399B1 (en) * 1999-07-15 2004-04-20 Compuware Corporation Requirements based software testing method
US6748433B1 (en) * 1999-07-12 2004-06-08 Ectel, Ltd. Method and system for controlling quality of service over a telecommunication network
US20050080893A1 (en) * 2003-09-26 2005-04-14 Castellanos Maria G. Method and system to determine if a composite service level agreement (SLA) can be met
US20060085544A1 (en) * 2004-10-18 2006-04-20 International Business Machines Corporation Algorithm for Minimizing Rebate Value Due to SLA Breach in a Utility Computing Environment
US7173910B2 (en) * 2001-05-14 2007-02-06 Level 3 Communications, Inc. Service level agreements based on objective voice quality testing for voice over IP (VOIP) networks
US7299284B2 (en) * 2000-05-19 2007-11-20 Scientific-Atlanta, Inc. Solicitations for allocations of access across a shared communications medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030229695A1 (en) 2002-03-21 2003-12-11 Mc Bride Edmund Joseph System for use in determining network operational characteristics

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893905A (en) * 1996-12-24 1999-04-13 Mci Communications Corporation Automated SLA performance analysis monitor with impact alerts on downstream jobs
US6748433B1 (en) * 1999-07-12 2004-06-08 Ectel, Ltd. Method and system for controlling quality of service over a telecommunication network
US6725399B1 (en) * 1999-07-15 2004-04-20 Compuware Corporation Requirements based software testing method
US7299284B2 (en) * 2000-05-19 2007-11-20 Scientific-Atlanta, Inc. Solicitations for allocations of access across a shared communications medium
US7173910B2 (en) * 2001-05-14 2007-02-06 Level 3 Communications, Inc. Service level agreements based on objective voice quality testing for voice over IP (VOIP) networks
US20030229595A1 (en) * 2002-06-05 2003-12-11 Risto Mononen Charging of network access and services
US20050080893A1 (en) * 2003-09-26 2005-04-14 Castellanos Maria G. Method and system to determine if a composite service level agreement (SLA) can be met
US20060085544A1 (en) * 2004-10-18 2006-04-20 International Business Machines Corporation Algorithm for Minimizing Rebate Value Due to SLA Breach in a Utility Computing Environment

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7673042B2 (en) 2005-12-06 2010-03-02 Shunra Software, Ltd. System and method for comparing service levels to a service level objective
US20070130325A1 (en) * 2005-12-06 2007-06-07 Amichai Lesser System and method for comparing service levels to a service level objective
US8914018B2 (en) 2006-04-03 2014-12-16 Keysight Technologies, Inc. System and method for measuring user behavior and use of mobile equipment
US20070232290A1 (en) * 2006-04-03 2007-10-04 Tatman Lance A System and method for measuring user behavior and use of mobile equipment
US20070232289A1 (en) * 2006-04-03 2007-10-04 Tatman Lance A System and method for measuring performance of new services in consumer devices
US8374599B2 (en) * 2006-04-03 2013-02-12 Agilent Technologies, Inc. System and method for measuring performance of new services in consumer devices
US20080208653A1 (en) * 2006-10-26 2008-08-28 Hewlett-Packard Development Company, L.P. Computer networks
US8195487B2 (en) * 2006-10-26 2012-06-05 Hewlett-Packard Development Company, L.P. Computer networks
US20100268524A1 (en) * 2009-04-17 2010-10-21 Empirix Inc. Method For Modeling User Behavior In IP Networks
US10326848B2 (en) * 2009-04-17 2019-06-18 Empirix Inc. Method for modeling user behavior in IP networks
US20130212288A1 (en) * 2012-02-14 2013-08-15 Citrix Systems, Inc. Client Bandwidth Emulation in Hosted Services
CN104115471A (en) * 2012-02-14 2014-10-22 西里克斯系统公司 Client Bandwidth Emulation in Hosted Services
US9294549B2 (en) * 2012-02-14 2016-03-22 Citrix Systems, Inc. Client bandwidth emulation in hosted services
US20140068064A1 (en) * 2012-08-31 2014-03-06 Qualcomm Incorporated Method for qos management in home and roaming scenarios based on location/app server assistance
US20150019709A1 (en) * 2013-07-10 2015-01-15 Apollo Group, Inc. Method and apparatus for controlling initiation of multi-service transactions
CN111865781A (en) * 2019-04-25 2020-10-30 伊姆西Ip控股有限责任公司 Method, apparatus and computer program product for path optimization

Also Published As

Publication number Publication date
US7647399B2 (en) 2010-01-12

Similar Documents

Publication Publication Date Title
US7673042B2 (en) System and method for comparing service levels to a service level objective
US7647399B2 (en) System and method for comparing a service level at a remote network location to a service level objective
CN100391159C (en) Method and apparatus for automatic modeling building using inference for IT systems
US7058843B2 (en) Method and apparatus for computer network analysis
Qian et al. A hierarchical model to evaluate quality of experience of online services hosted by cloud computing
US9135075B2 (en) Capacity planning for computing systems hosting multi-tier application based on think time value and resource cost of composite transaction using statistical regression analysis
CN101313521B (en) Using filtering and active probing to evaluate a data transfer path
US6789050B1 (en) Method and apparatus for modeling a web server
US20030229695A1 (en) System for use in determining network operational characteristics
CN107071399B (en) A kind of method for evaluating quality and device of encrypted video stream
US20030158930A1 (en) Executable application network impact and load characteristic estimation system
US20080228459A1 (en) Method and Apparatus for Performing Capacity Planning and Resource Optimization in a Distributed System
US10146656B2 (en) Service demand based performance prediction using a single workload
US7730352B2 (en) Testing network applications without communicating over a network layer communication link
US8332507B2 (en) Method for determining service demands in a network load balanced scenario
US20170116034A1 (en) Systems and methods for service demand based performance prediction with varying workloads
Zhang et al. Workload service requirements analysis: A queueing network optimization approach
Jansen et al. Once is never enough: foundations for sound statistical inference in tor network experimentation
Atefi et al. Traffic behavior of Local Area Network based on M/M/1 queuing model using poisson and exponential distribution
Diao et al. Modeling differentiated services of multi-tier web applications
CN114338386B (en) Network configuration method and device, electronic equipment and storage medium
Reeser et al. An analytic model of web servers in distributed computing environments
US20060133294A1 (en) Apparatus and method for measuring capacity of server
Hussain et al. Managing distributed storage system through network redesign
US20170012852A1 (en) Protocol determination

Legal Events

Date Code Title Description
AS Assignment

Owner name: SHUNRA SOFTWARE LTD., ISRAEL

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OFEL, GAL;REEL/FRAME:017327/0165

Effective date: 20051206

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: HEWLETT-PACKARD MARIGALANTE LTD., CAYMAN ISLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SHUNRA SOFTWARE LTD.;REEL/FRAME:033030/0136

Effective date: 20140401

FEPP Fee payment procedure

Free format text: PAT HOLDER NO LONGER CLAIMS SMALL ENTITY STATUS, ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: STOL); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12