text:
|Publication number
|Publication type
|Application number
|Publication date
|Sep 28, 2010
|Filing date
|May 10, 2005
|Priority date
|May 10, 2005
|Fee status
|Also published as
|Publication number
|Sarel Aiber, Dagan Gilat, Ariel Landau, Natalia Razinkov, Aviad Sela, Segev Wasserkrug
|Original Assignee
|International Business Machines Corporation
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (7), Referenced by (12), Classifications (6), Legal Events (4)
|External Links: USPTO, USPTO Assignment, Espacenet
This application is related to U.S. patent application Ser. No. 10/696,512, filed Oct. 29, 2003 and to U.S. patent application Ser. No. 10/689,807, filed Oct. 20, 2003. These related applications are assigned to the assignee of the present patent application, and their disclosures are incorporated herein by reference.
The present invention relates generally to simulation of computer systems, and particularly to methods and systems for modeling, optimization and capacity planning in large-scale computer systems.
Electronic Business ("e-business") is an increasingly common form of conducting commercial transactions. Numerous organizations provide web-sites that enable clients to perform a wide variety of commercial transactions over the Internet. E-business applications range from on-line retail shops, through on-line libraries, information services and financial services to various business-to-business applications.
The design, implementation and management of web services such as e-business applications typically involve workload analysis and capacity planning. For example, a family of performance management and capacity planning products for enterprise information technology (IT) applications called HyPerformix™ is offered by HyPerformix, Inc. (Austin, Tex.). Details regarding this product family are available at www.hyperformix.com.
Menasc� and Almeida provide performance and availability predictive models for managing and planning the capacity of web services in "Capacity Planning for Web Services," Prentice Hall PTR, 2002, which is incorporated herein by reference. In particular, chapter 5, pages 175-204, describes capacity planning models. Chapter 6, pages 205-260, describes methods for characterization and analysis of the workload in web services.
Specifically concerning the e-business domain, Menasc� and Almeida describe methods for analyzing and modeling of client behavior in e-business systems in "Scaling for E-Business," Prentice Hall PTR, 2000, chapter 2, pages 41-66, which is incorporated herein by reference. Methods for characterizing the workload in e-business systems are described in chapter 11, pages 325-354.
Embodiments of the present invention provide a simulation tool for modeling, planning and optimizing the configuration and performance of IT-sites, such as e-business sites, that comprise multiple computers and related hardware and software resources.
In some embodiments, a site planner models hardware and middleware components of the IT-site using predefined building blocks. The building blocks have variable features and parameters that can be set by the site planner or by automated modeling processes described hereinbelow. These blocks are interconnected to produce a topological model, which is part of the system model that simulates the IT-site.
The topological model comprises core infrastructure models that model hardware and middleware components of the IT-site, and logical models that model logical features such as routing, load balancing and dynamic bandwidth allocation policies. In addition to the topological model, the system model comprises a tier-level message breakdown model and a tier-specific resource requirement model, as will be explained below.
In some embodiments, some system components can be modeled by two or more alternative building blocks, with each building block offering a different level of complexity and detail. The appropriate building block is chosen by the planner.
Client behavior patterns and attributes are characterized and modeled, typically by automatically analyzing historical data logged by the IT-site. The resulting user behavior model comprises several client clusters, each comprising a probabilistic model of client request sequences. Each client request is then broken down into sequences of individual task invocations in the different tiers of the IT-site. (IT-sites may often be viewed as comprising several functional tiers such as web, application and database tiers.) For each task invocation, the required hardware/software resource utilization is determined and modeled. In some embodiments, the tier-level message breakdown model and the resource requirement model are determined from historical data logs using automatic learning methods.
The simulation tool generates simulated client requests, in accordance with the user behavior and attribute models, and submits them to the system model. The simulation tool thus simulates the functionality of the IT-site and evaluates its performance with respect to a predetermined set of business rules and metrics.
In some embodiments, the simulation tool optimizes the IT-related policies, business-related policies and/or system configuration parameters in order to improve the site's compliance with its business objectives.
Using the simulation tool and the modeling methods described herein, a site planner can test different hardware and software configurations, test different business rules and metrics, test different IT policies and run various "what-if" scenarios. The planner can also test the modeled IT-site against different client populations and client request patterns. The planner can plan the capacity of the site to match present and expected demand. Specific hardware and software resources of the site can be optimized so as to provide a cost-efficient configuration. The simulation tool can also be used to design a new IT-site per given specifications. Alternatively or additionally, the simulation tool can be invoked automatically by a system management program in order to determine how to allocate resources in response to dynamic changes in site conditions, such as failure of a system component.
Whereas conventional modeling techniques typically require large amounts of computer programming to produce a system model, the disclosed simulation tool and modeling methods enable a planner having only limited computer programming abilities to perform modeling, capacity planning and optimization of IT-sites. The disclosed simulation tool also reduces the time and effort required for performing these tasks.
There is therefore provided, in accordance with an embodiment of the present invention, a method for simulating a computer system, including:
defining a set of building blocks including models of components of the computer system;
interconnecting the set of building blocks to produce a topological model of the computer system;
deriving a client transaction model based on historical data, for generating simulated client requests to be processed by the topological model;
producing a resource requirement model based on the topological model and on the historical data, the resource requirement model simulating a resource utilization of the components of the computer system responsively to the generated client requests; and
estimating a performance metric of the computer system by simulating the computer system using the simulated client requests and the resource requirement model.
In an embodiment, the computer system includes an electronic-business (e-business) web-site.
In another embodiment, defining and interconnecting the set of building blocks include receiving inputs from a planner using a graphical user interface (GUI) to construct the topological model.
In yet another embodiment, defining the set of building blocks includes defining core infrastructure models that simulate hardware and middleware components of the computer system, and modeling the infrastructure models using at least one of a state-machine model and a queuing network model.
In still another embodiment, defining the set of building blocks includes, for some of the components, defining two or more alternative building blocks having different levels of complexity.
In an embodiment, deriving the client transaction model includes deriving a user attribute model that produces user attributes to be inserted into the generated simulated client requests.
In another embodiment, deriving the client transaction model includes deriving a user behavior model including one or more session types, which include characteristic sequences of client request types, and wherein deriving the user behavior model includes:
defining simulated clients;
defining for each simulated client a session type frequency vector including relative frequencies of initiating the one or more session types by the simulated client; and
classifying the simulated client in a client cluster responsively to the session type frequency vector.
In yet another embodiment, producing the resource requirement model includes producing a tier-level message breakdown model including sequences of tasks that are invoked by the respective client request types in the user behavior model.
Additionally or alternatively, producing the tier-level message breakdown model includes aggregating, for each client request type in the user behavior model, a plurality of task sequences invoked by the client requests that correspond to the client request type, and representing the plurality of task sequences in terms of a probabilistic graph. Further additionally or alternatively, producing the resource requirement model includes determining the resource utilization caused by the tasks in each of a plurality of tiers of the tier-level message breakdown model.
In an embodiment, producing the resource requirement model includes deriving a dynamic Bayesian network model responsively to the historic data.
In another embodiment, the method includes modifying at least one of the topological model, a business-related policy and an IT-related policy, so as to improve the estimated performance metric. Additionally or alternatively, estimating the performance metric includes automatically running a simulation, responsively to an event in the computer system, in order to evaluate a change in the performance metric due to modifying the at least one of the topological model, the business-related policy and the IT-related policy.
There is also provided, in accordance with an embodiment of the present invention, apparatus for simulating a computer system, including:
a user interface device, which is coupled to interact with a planner so as to define a set of building blocks including models of components of the computer system and to interconnect the building blocks so as to produce a topological model of the computer system; and
an analyzer, which is coupled to produce a client transaction model based on historical data for generating simulated client requests to be processed by the topological model, to derive a resource requirement model based on the topological model and on the historical data, which is coupled to simulate a resource utilization of the components of the computer system responsively to the generated client requests, and to estimate a performance metric of the computer system by simulating the computer system using the simulated client requests and the resource requirement model.
There is additionally provided, in accordance with an embodiment of the present invention, a computer software product for simulating a computerized system, the product including a computer-readable medium, in which program instructions are stored, which instructions, when read by a computer, cause the computer to interact with a planner so as to define a set of building blocks including models of components of the computer system, to interconnect the building blocks so as to produce a topological model of the computer system, to produce a client transaction model based on historical data for generating simulated client requests to be processed by the topological model, to derive a resource requirement model based on the topological model and on the historical data, which is coupled to simulate a resource utilization of the components of the computer system responsively to the generated client requests, and to estimate a performance metric of the computer system by simulating the computer system using the simulated client requests and the resource requirement model.
There is also provided, in accordance with an embodiment of the present invention, a method for performing an interactive analysis of a computer system to devise an information technology solution applicable to the computer system, the method including:
defining a set of building blocks comprising models of components of the computer system;
interconnecting the set of building blocks to produce a topological model of the computer system;
deriving a client transaction model based on historical data, for generating simulated client requests to be processed by the topological model;
producing a resource requirement model based on the topological model and on the historical data, the resource requirement model simulating a resource utilization of the components of the computer system responsively to the generated client requests; and
estimating a performance metric of the computer system by simulating the computer system using the simulated client requests and the resource requirement model.
The present invention will be more fully understood from the following detailed description of the embodiments thereof, taken together with the drawings in which:
Site 30 can be structurally divided into three tiers, referred to as web, application and database tiers. In a typical transaction, a client request, sent by client 22, is received by a web server 32, which handles the web communication between clients 22 and site 30. An application server 34 processes the client request, according to the specific application of the site. As part of the application process, application server 34 typically queries a database server 36.
As an example for clarifying the web/application/database tier structure, assume that site 30 comprises an on-line stock trading site. In an exemplary transaction, client 22 asks to review quotes of stocks held in his portfolio in a request message to site 30. The request message is received by web server 32, which passes the request to application server 34. The application server queries database server 36 for the portfolio of client 22. The application server then retrieves from the database server a quote for each stock in the portfolio. The results are sent to web server 32, which formats and sends them over the Internet to the client's browser.
Being a commercial site, site 30 is set to fulfill certain business objectives. These objectives are typically defined and quantified as a set of business performance metrics. Such metrics comprise, for example, the total revenue per hour generated by the site, the revenue per visiting client, the fraction of transactions that ultimately end with a purchase, or the revenue lost by clients who "abandon" the site in the middle of a transaction.
In order to best achieve the specified business objectives, a properly designed e-business site should have a capacity that matches the requested transaction flow. In other words, the site's hardware and software resources should be optimized to match the required processing and communication required by the client requests. Under-specification of resources can cause the site to respond slowly to client requests and to provide low service quality, which directly translates into reduced revenues. In extreme situations, the site may deny service to clients or even crash under high-traffic conditions. On the other hand, over-specification of resources will unnecessarily increase the equipment cost and operational costs of the site, in comparison with the generated revenue.
The capacity required from site 30 often changes with time. Products and services offered by the site may change. The client activity profile may also change (as a result of a marketing campaign, for example). As a result of these and other changes, it is typically desirable to continuously optimize the capacity of the site, by allocating sufficient hardware and software resources to match the demand.
In some embodiments, a planner, such as a system administrator, performs capacity planning and/or optimization by modeling and simulating the structure and performance of site 30. The modeling and simulation are performed using a system simulation tool 42, which will be described below. The simulation tool models the hardware and software functions of site 30 as well as the flow of client requests and the resulting client sessions. Methods for modeling and simulating the different functions are described hereinbelow. In some embodiments, an analyzer 40 in site 30 monitors the operating conditions and the performance of the site as part of the capacity optimization process. In one embodiment, the modeling and simulation functions of simulation tool 42 are carried out by analyzer 40. Alternatively, modeling and simulation can be carried out by a different computer and use the information collected and/or analyzed by analyzer 40. In the description that follows, it will be assumed that the simulation tool is implemented on analyzer 40 itself. A user terminal 41, connected to analyzer 40, serves as a user interface device that is used by the planner to operate the simulation tool. In some embodiments, the user terminal is implemented as part of analyzer 40.
Although the IT-site described herein comprises three tiers, the disclosed methods and systems are not limited to three-tier sites. Site 30 may comprise any number of tiers. Each tier may comprise any number of servers, storage devices, communication devices and other hardware and software components. The hardware and software components can be interconnected in any suitable configuration, as required by the desired functionality and performance of the site.
Typically, analyzer 40 comprises a general-purpose computer, which is programmed in software to carry out the functions described herein. The software may be downloaded to the computer in electronic form, over a network, for example, or it may alternatively be supplied to the computer on tangible media, such as CD-ROM. Further alternatively, the modeling and simulation functions described herein may be implemented in dedicated hardware logic, or using a combination of hardware and software elements. The analyzer may be a standalone unit, or it may alternatively be integrated with other computing platforms of IT-site 30. Alternatively, the analyzer may be external to IT-site 30, and it may be used to provide analysis services to IT-site 30.
Simulation tool 42 enables the planner to model IT-site 30 and the client traffic submitted to it. Using the simulation, the planner can test different hardware and software configurations, test different business rules and metrics, test different IT policies, and run various "what-if" scenarios. The planner can also test the modeled IT-site against different client populations and client request patterns. For each tested configuration, the simulation tool evaluates the performance of the site in accordance with a set of predefined business rules. The simulation tool thus evaluates the compliance of the tested configuration with the business objectives of the site. By using the simulation tool, the planner can plan the capacity of the site to match present and expected demand. Specific hardware and software resources of the site can be optimized so as to provide a cost-efficient configuration. The simulation tool can also be used to design a new IT-site per given specifications.
Whereas conventional modeling techniques typically require large amounts of computer programming to produce a system model, the simulation tool and the modeling methods described herein enable a planner having limited computer programming abilities to perform modeling, capacity planning and optimization of IT-sites. The disclosed simulation tool also reduces the time and effort required for performing these tasks.
IT-site 30 with its hardware resources, software applications and functionality is modeled by a system model 50. (The client request traffic submitted to the site is modeled by a user model 52, which is described hereinbelow.) Model 50 comprises a topological model 57, comprising building blocks that model standard hardware and middleware components, and the logical processes and policies that connect them. Each building block comprises a pre-coded model that can be assigned different parameters by the planner, to suit the modeled component. Building blocks can be re-used with different parameters throughout the system model.
In some embodiments, simulation tool 42 comprises two or more alternative building blocks of some of the system components, with each building block offering a different level of complexity and detail. The appropriate building block is chosen by the planner when constructing the topological model. The planner may thus choose the appropriate trade-off between modeling accuracy and complexity for each building block. Depending on the selected level of detail, functions pertaining to one or more tiers of IT-site 30 may be included in a single building block.
The building blocks of topological model 57 comprise core infrastructure models 54 and logical models 56. Core infrastructure models 54 model the hardware (e.g., CPUs and disks) and middleware (e.g., web-, application- and database-servers) components of the site. In particular, the core infrastructure models model the cost (typically in terms of the required processing time) of performing operations in the modeled component. Modeled operations may comprise, for example, performing a database query or serving an HTTP (HyperText Transfer Protocol) request by a J2EE (Java 2 Platform Enterprise Edition) application server.
Logical models 56 simulate logical features such as routing, load balancing or dynamic bandwidth allocation policies implemented in site 30. These processes and policies typically have an impact on the site capacity and performance, and therefore should be considered as part of the simulation. In general, the logical models capture the functional behavior of the modeled components rather than the cost of performing operations in these components.
Core infrastructure models 54 and logical models 56 are thus jointly referred to as the topological model of site 30. In some embodiments, the planner constructs the topological model using a suitable graphical user interface (GUI) implemented as part of user terminal 41, such as a drag-and-drop interface.
A business level model 58 comprises a set of predefined business rules. For example, the business rules may define profit margins and commissions on sales. Rules may define the way poor service quality affects clients who leave the site, how penalties paid to clients for violating service-level agreements affect market-share, and how new customers join the site because of good reputation. Such rules, and many others that may be formulated, define the impact of IT-related events on the business objectives of the site. At any given time during the simulation, business level model 58 produces one or more business metrics, which quantify the performance of the site with respect to the business objectives.
A policy model 60 defines a set of tested policies and actions. Actions and policies may be either IT-related, business-related, or both. For example, a policy may comprise a queuing policy that determines the priority given to client requests based on certain attributes of the request, such as the client's identity, the type of Service-Level Agreement (SLA) or the purchase amount. A queuing policy may state that client requests that increase the site revenue are served first. Another type of policy may define the amount paid in penalties to customers in the event of poor service. An action may define, for example, the number of computers assigned to a certain tier, or the processor speed of these computers.
In some embodiments, the simulation tool attempts to optimize the policies and actions of policy model 60 and/or the resources of system model 50, so as to maximize the business metrics produced by business level model 58. A business metric computation block 62 accepts the business metrics from business level model 58 and converts them into a single composite metric for optimization. An optimizer 64 searches over alternative actions and policies of policy model 60, and/or over alternative resource allocations in system model 50, attempting to maximize the composite metric.
In some embodiments, the optimizer treats the optimized parameters as a purely mathematical optimization task. In these embodiments, the higher-level meaning of the optimization is interpreted by policy model 60, which translates the result of the optimization to a policy or action applied to the system model.
A system state updater 66 updates the user model, system model and business level model to match the actual configuration of site 30.
In addition to the topological model, simulation tool 42 comprises a number of environment-specific models that are adapted to the specific site configuration and the specific client profile. The environment-specific models comprise a user behavior model 80, a user attribute model 82, a tier-level message breakdown model 83 and a tier-specific resource requirement model 84. The parameters of these models are typically derived by performing a statistical analysis of logged historical client session data, as will be explained below. An example showing the construction of all four models in an exemplary stock-trading application is given further below.
User behavior model 80 in user model 52 specifies the traffic patterns of client requests submitted to site 30. The behavior model simulates the characteristic navigation patterns of clients through the pages and/or menus of the IT-site. The simulation tool uses the behavior model at runtime to generate a flow of simulated client requests that resemble real life traffic, as will be shown below.
In some embodiments, the client population is divided into several characteristic clusters, each cluster exhibiting a characteristic behavior pattern. Each client cluster is modeled using a Customer Behavior Model Graph (CBMG), as described in the Menasce and Almeida references cited above. Alternatively, any other suitable method for modeling client behavior can be used to implement user behavior model 80.
Typically, the user behavior model defines sequences of client requests (referred to as "client sessions") as submitted to system model 50. Each client request typically comprises a user ID and is associated with a predefined "client request type." In some embodiments, the user behavior model monitors some of the simulation results provided by system model 50 in order to determine the arrival time of subsequent client requests. (For example, the arrival time of a subsequent request may depend on the time in which a previous request by the same user was answered.)
User attribute model 82 in user model 52 generates attributes, or parameters, which are inserted into the simulated client requests. The model typically generates attributes that affect the computation of business metrics. For example, in client requests that comprise purchase transactions in an e-commerce site, attributes may comprise the purchase amounts. As in the user behavior model, the client population is typically divided into several characteristic clusters. (The clusters are possibly, but not necessarily, identical to the client clusters of the user behavior model.) For each cluster, the user attribute model generates attributes in accordance with a predetermined set of attribute probability distributions. A detailed example of a user attribute model is described below.
User attribute model 82 is typically used in conjunction with user behavior model 80. Each time the user behavior model generates a client request, the user ID in the request is used to associate the request with one of the client clusters of the attribute model. (Typically, each user ID is uniquely associated with a single client cluster.) The user attribute model produces a set of attributes, according to the appropriate client cluster, and inserts them into the request. The client request, comprising the attributes, is then submitted to system model 50. In general, the user behavior model and the user attribute model can be viewed as a composite client transaction model that simulates the client requests submitted to system model 50.
Tier-level message breakdown model 83 is a model that breaks down the incoming client requests (as modeled by the user-behavior model) into invocations of methods and services (collectively referred to as "tasks") in the components of site 30. For example, when site 30 comprises a J2EE web application, such tasks may comprise Servlets, Java Server Pages (JSPs), Enterprise JavaBeans (EJBs) and database requests.
In some embodiments, the tier-level message breakdown model represents each client request type in the user behavior model in terms of a probabilistic graph. (For a clarifying example of this process, see the descriptions of
Invocations are typically classified into consecutive flows (i.e., a sequence of method invocations that take place in a specified order), caller/callee flows (i.e., an invocation of a method within another method) and producer/consumer flows (i.e., an invocation that triggers another invocation asynchronously, for example by posting a message into a message queue). More complex flows may be constructed using these three basic flow types. For example, parallel method invocations can be represented by at most one caller/callee flow followed by one or more producer/consumer flows.
For example, consider a task A that invokes a task P several times in a row. Each invocation of task P produces an asynchronous producer/consumer invocation, such as posting of a message into a message queue. The posted messages are consumed by a task C, with each message being consumed by a different and independently-executing instance of task C. Each instance of task P posts a message and then passes control to the next task (another instance of task P), or returns control back to task A. The instances of task P do not wait for the message to be consumed by the instances of task C. Likewise, each instance of the message-consumer task C executes independently of its siblings. In this way, all of the task sequences execute concurrently.
Although each individual task invocation is deterministic, the message breakdown model is modeled as a probabilistic graph in order to cover both changing parameter values of the individual invocations, and the logic (e.g., the code) of the invoked task.
Tier-specific resource requirement model 84 comprises resource-level (e.g. CPU, I/O) requirements per each tier-level request in the tier-level message breakdown model described above. The structure of a resource requirement model for a specific tier depends upon the way in which the tier has been modeled. As described above, each tier can be modeled in different levels of detail using one or more building blocks. In some configurations, a particular tier has its own dedicated resources (e.g., its own server or servers). In other configurations, the tier can share its resources with other tiers (e.g., several tiers implemented on the same hardware).
In some cases, the planner may choose to model a particular tier using a detailed queuing-network building block. In a detailed queuing network model, resource-sharing policies such as FIFO, round-robin scheduling and processor sharing are typically resolved by the queuing model itself. Therefore, specifying the model comprises defining the amount of dedicated service time required at each resource when invoking each task in the tier-level message breakdown model. Queuing network models are often used for modeling the web-server and application-server tiers.
In other cases, the planner may choose to model a particular tier using simpler "black box" building blocks. In such cases, a state-machine model is typically used. The model state is defined as the set of pending client requests (in other words, requests that have been received and not yet returned). The model changes its current state when a new request is received or when a processed request is returned to the client. The model typically comprises two functions:
A response time function denoted f(R,θ), wherein θ denotes the state of the modeled component, and R denotes a pending request. For each pending request R, f(R,θ) returns the state-dependent response time of request R. The response time returned by f(R,θ) for a request R is calculated as if request R had just arrived. The processing of client requests is assumed to be uniform in time. In other words, if the arrival of request R has triggered a transition into state θ, and the lifetime of θ is, for example, 60% of f(R,θ), then request R is considered to be "60% completed" and the remaining processing time for R is 40% of f(R, θ′).
A state-transition function g(R,θ), which returns a new state (denoted θ′) of the modeled component as a function of the current machine-state 8 and of the request R that triggered the state-transition.
The description of
In some embodiments, the four environment-specific models are defined and parameterized by analyzing historical logged data of real life client sessions that is obtained from different sources in site 30. In these embodiments, the structure and parameters of the models are automatically determined by simulation tool 42, using various automatic learning methods, as will be explained below.
Automatic derivation of user behavior model 80 is typically based on the processing of historical log files. Several methods are known in the art for automatically deriving the parameters of the user behavior model. For example, Section 11.4 of Menasc� and Almeida's book "Scaling for E-Business" cited above, pages 334-342, describes a method for automatically deriving CBMGs by processing HTTP log files obtained from various servers in the IT-site. The log files are merged and filtered so as to retain only relevant client requests. The client requests are partitioned into client sessions. A clustering algorithm is then used to classify the sessions to a relatively small number of CBMGs.
Simulation tool 42 can derive user behavior model 80 using this sort of automatic derivation or any other suitable method. The model typically comprises a set of characteristic session types. During simulation runtime, the user behavior model randomly selects session types, and then generates sequences of client requests that conform to the selected session types. When using CBMGs, the client requests are typically generated using a Markov transition graph, as is known in the art.
In some embodiments, the user behavior model comprises a session-type relative-frequency vector for each client. The vectors are also automatically derived from the historical log files. For each client, each component of the vector comprises the number of sessions of the corresponding session type that this client has initiated, divided by the total number of sessions. A distance function is defined between these vectors. For example, the distance can be defined as the n-dimensional Euclidean distance, wherein n denotes the number of client session types. Using the defined distance function, a clustering algorithm, such as a k-means clustering algorithm, is applied to classify the clients into a number of disjoint clusters. This process thus divides the client population into clusters, with each cluster comprising a group of clients that statistically generate a similar blend of session types. (The k-means clustering algorithm is described, for example, by Hastie et al., in "The Elements of Statistical Learning," Springer, 2001, chapter 14, pages 461-463, which is incorporated herein by reference.) A session-type relative-frequency vector is assigned to each of these clusters. At runtime, whenever the user-behavior model generates a client arrival (i.e., a beginning of a new client session), the session type is randomly drawn according to the relative-frequency vector of the cluster the arriving client belongs to.
Monitoring applications such as TWSA also provide the means to correlate user attribute data gathered from different historical data sources. As described above, the user attributes selected for inclusion in the user attribute model are typically those which have an impact on the business objectives of site 30. In some embodiments of the present invention, simulation tool 42 identifies these attributes and extracts them from the appropriate sources in site 30.
The simulation tool fits the extracted attributes to probability distribution functions, at a fitting step 92. For each attribute and client pair, the simulation tool fits values of the attribute, extracted from the historical data logs that pertain to the particular client, into standard probability distribution functions. This process condenses large bodies of historical data into a compact representation. In some cases, such as when a certain attribute always takes the same value for a given client, the distribution function is degenerated to a single deterministic value. Alternatively, the simulation tool can use empirical distributions, in particular when the historical data logs are not exceedingly large. Empirical distributions are well known statistical tools. These methods are described, for example, by Zhou in "Empirical Distributions," which is available at www.ms.uky.edu/˜mai/java/stat/EmpDis.html, and by Siegrist in an on-line course entitled "Virtual Laboratories in Probability and Statistics," which is available at www.math.uah.edu/stat.
Standard automatic distribution fitting algorithms are described, for example, by Brownlee in "Statistical Theory and Methodology in Science and Engineering," second edition, Robert E. Krieger Publishing Company, 1984, which is incorporated herein by reference. Some commercially-available software tools provide distribution fitting. Such tools include, for example the Stat::Fit and the ExpertFit software tools. Further information regarding these tools is available in www.geerms.com and www.averill-law.com/ExpertFit-distribution-fitting-software.htm, respectively.
The simulation tool classifies the clients into clusters based on the fitted distribution functions, at a clustering step 94. The simulation tool first defines a distance between two clients with respect to their attributes. The distance between two clients is defined as the multi-dimensional distance between the two sets of client attribute distribution functions (e.g., the sum of the differences between individual attribute values, the maximum of these differences, the square-root of the sum of squares of the differences, etc.) The distance between the probability distributions is calculated using a standard statistical similarity test such as Chi-square. Based on this inter-client distance function, clients are classified into a collection of disjoint clusters, by applying any suitable clustering algorithm (such as the k-means clustering algorithm described above). Note that these client clusters are based on attribute values and are typically different from the client clusters of the user behavior model, which were based on navigational patterns.
For each attribute and for each cluster of clients, the simulation tool calculates a new probability-distribution fitting, at a re-fitting step 96. The re-fitting process can use similar fitting methods as used in fitting step 92 above. In the present step, however, the historical data to be fitted comprises the set of all values of the relevant attribute across all the clients in the cluster.
Having automatically derived the user attribute model, the simulation tool can typically discard the historical data. At runtime, only the probability-distribution functions are used to generate attributes that are inserted into the simulated client requests.
In some embodiments, the simulation tool collects information on actual task invocations by monitoring, in isolation, the processing of a sample of client requests. Additionally or alternatively, the simulation tool can use middleware inspection tools, such as tracing facilities at the application-server level. Further additionally or alternatively, the simulation tool can use commercially-available software tools such as the Tivoli Monitoring for Transaction Performance (TMTP) software, offered by IBM Corp. Additional details regarding the TMTP software can be found in www-306.ibm.com/software/tivoli/products/monitor-transaction. The TMTP tool is also capable of correlating information from different sources. This correlation capability is desirable in cases in which the analyzed application is deployed in a distributed configuration. Tools such as TMTP are also capable of correlating a set of task invocations to the client request to which they belong. In this case the execution of monitored client requests need not be performed in isolation.
The simulation tool combines the observed sequences of task invocations of each client request type into a single probabilistic graph, at a graph derivation step 104. This process is repeated for each type of client request. The resulting model comprises a graph per each client request type. The process of combining the multiple observations into a single graph typically applies business-process discovery algorithms, as are known in the art. Such algorithms are described, for example, by Golani and Pinter in "Generating a Process Model from a Process Audit Log," Proceedings of the First International Conference on Business Process Management (BPM 2003), Eindhoven, The Netherlands, Jun. 26-27, 2003, pages 136-151, and in U.S. Patent Application Publication US 2004/0260590 A1, whose disclosures are incorporated herein by reference. Using such algorithms, patterns that are common to all observed sequences are typically factored out, enabling multiple sequences to be represented by a single graph.
For the remaining portion of the graph (referred to as the "random" part), a probability distribution is fitted. The simulation tool can use any suitable distribution fitting method, such as maximum-likelihood least-squares methods, or the distribution fitting methods and tools described above. The fitted distribution may comprise the empirical frequency of each invoked task, or a more elaborated distribution-fitting. For example, assume that all the observed task invocation sequences that correspond to a certain client request type differ only by the number of times a particular task is invoked in a loop (i.e., the size of the loop). In this case the tier-level message breakdown graph of this request type would comprise all the invocations that are common to the observed sequences, along with a distribution function that best represents the loop size. (An example of modeling such a loop is shown in
In some embodiments, there is a dependency between tier-level message breakdown and some of the user attributes. For instance, a certain client request may be broken down differently into task invocations when submitted by customers having different SLA agreements. As one example, the approval cycle of a loan for a platinum customer may differ from that for a gold customer. In these cases, the client request types are redefined so that two instances of a client request are interpreted as belonging to the same request type if and only if they were submitted by clients that belong to the same cluster of the user attribute model.
Derivation of tier-specific resource requirement model 84 comprises defining, for each task that appears in the tier-level message breakdown model, the resource utilization requirements of the different resources of core infrastructure models 54. As noted above, the core infrastructure components can be modeled either as detailed queuing-network building blocks or as simpler "black box" models.
For components modeled as queuing networks, deriving the resource requirement model comprises measuring the relevant resource-utilization parameters. (Such parameters comprise, for example, the CPU time required for a thread to process a given task invocation, or the average CPU utilization during a time frame.) In a properly designed queuing-network model these parameters are typically independent of the system workload. In some embodiments, the simulation tool measures the resource-utilization parameters directly using standard operating-system reporting tools.
Additionally or alternatively, the simulation tool can use dynamic instrumentation techniques known in the art to estimate some of the parameters. The term "dynamic instrumentation" refers to a process in which a software thread makes a detour from the code it is executing (at predetermined points in the code called "instrumentation points") to execute a measurement code (commonly referred to as a "probe"). The term "dynamic" is used specifically to refer to instrumentation methods in which individual probes can be turned on and off during code execution. For example, version 5.2 of the IBM Tivoli Monitoring for Transaction Performance (TMTP) tool described above provides support for dynamic instrumentation of J2EE applications. This feature is called "Just in Time Instrumentation" (JITI). Further details are available in an IBM Redbook by Moeller et al. entitled "End-to-End E-business Transaction Management Made Easy," December 2003, section 3.3.2, pages 72-76, which is incorporated herein by reference. This publication is available at www.redbooks.ibm.com/redbooks/pdfs/sg246080.pdf.
Other methods for indirectly inferring low level resource-utilization parameters using coarser measurements are described in U.S. patent application Ser. No. 10/689,807 cited above.
For components modeled as "black box" building blocks, the simulation tool typically uses a state-machine model, as described above. In some embodiments, derivation of the resource requirement model for such components comprises representing the component as a Bayesian Network. Learning model parameters using Bayesian networks is described, for example, by Ghahramani in "Learning Dynamic Bayesian Networks," in "Adaptive Processing of Sequences and Data Structures. Lecture Notes in Artificial Intelligence," Giles and Gori (editors), Springer-Verlag, Berlin, Germany, pages 168-197, which is incorporated herein by reference. An overview of techniques for learning Bayesian networks from data is given by Heckerman in "A Tutorial on Learning with Bayesian Networks," Microsoft Research Technical Report MSR-TR-95-06, July 1995, which is incorporated herein by reference.
As a clarifying example for this process, the following description shows the automatic derivation process of a Bayesian model representing a DB2™ database. The simulation tool first defines a feature vector denoted η. Vector η typically comprises all system parameters that are considered relevant to the computation of the response-time function f(R,θ) defined above. The feature-vector components are valid within the lifetime of the client request R. (In the present example R comprises a database request.) The following table lists the contents of vector η:
Measurement source
R request type
DB2 event log
Total number of active
DB2 event log
Total estimated cost of
DB2 Explain
all active requests
Total number of requests
DB2 event log
that start service
Total number of requests
DB2 event log
that complete service
Total system CPU
Operating System
Background CPU
Operating System
Database cache hit ratio
DB2 Snapshot
Database total number of
DB2 Snapshot
read rows
Database total number of
DB2 Snapshot
written rows
Database total number of
DB2 Snapshot
pre-fetched pages
Response time
DB2 event log
Having defined the feature vector, the simulation tool reduces the size, or dimensionality of the vector by discarding candidate parameters that are found irrelevant or insignificant to the computation of function f(R,θ). Identification of the irrelevant parameters is typically performed by applying statistical correlation methods to the historical data. (Historical data in this context means records of past client requests, along with the actual measured resource utilization figures for these requests.) Such methods are described, for example, in chapter 5, pages 115-127 of the book by Hastie et al. cited above.
Using the reduced-size feature vector, the simulation tool derives a Bayesian network model of the DB2 database resource requirements. Derivation of the model follows methods which are known in the art and are described in the papers by Ghahramani and Heckerman cited above. Such methods are also described by Pearl in "Probabilistic Reasoning in Intelligent Systems," Morgan Kaufmann, 1988, chapter 3, pages 116-131, which is incorporated herein by reference.
The method begins with the planner defining and constructing the building blocks of topological model 57, at a block definition step 110. The planner models each hardware and software component of site 30 using core infrastructure models 54 and logical models 56, as detailed in the description of
The planner interconnects the modeled building blocks to produce the topological model, at a topological construction step 112. By interconnecting the building blocks, the planner defines the relationships and the data flow between them. The output of steps 110-112 is a simulated topological model of site 30.
The planner defines a set of business rules and metrics, at a business rule definition step 114. As stated in the description of
The simulation tool derives user behavior model 80 and user attribute model 82, at a user modeling step 116. An exemplary method for automatic derivation of the user attribute model is shown in
Once system model 50 is completed and the different models are derived, the simulation runtime begins. The simulation tool generates client requests at a traffic generation step 122. The flow of client requests is generated in accordance with the user behavior model and the user attribute model. Typically, client IDs are generated at random and associated with the predefined client clusters. For each client, requests are generated in accordance with the behavior model (such as CBMG) that corresponds to the client's cluster. The simulation tool uses the user attribute model to insert appropriate attributes into the client request. The generated client requests are submitted to system model 50.
The simulation tool simulates the performance of IT-site 30 in response to the client requests, at a performance simulation step 124. Using the different building blocks of system model 50 and the interconnections between them, the simulation tool simulates the processing of the client requests by site 30. In particular, the simulation tool calculates the processing time required at each system component for performing each task invoked by each client request. During the performance simulation, business level model 58 evaluates the performance of the simulated system in terms of the predefined business rules, in accordance with the policies defined by policy/action model 60.
The simulation tool then evaluates the predefined business metrics, at a metric evaluation step 126. The metrics are generated by business level model 58, in accordance with the policies defined by policy/action model 60, and combined into a single metric by business metric computation block 62. This process is further detailed in U.S. patent application Ser. No. 10/696,512 cited above.
The simulation tool optimizes the policies and or the configuration of system model 50, at an optimization step 128. In some embodiments, optimizer 64 modifies the policy definitions of policy model 60 in order to improve the performance of the simulated-system, with respect to the business metrics. Additionally or alternatively, optimizer 64 modifies the configuration of system model 50 in order to improve the business metrics. In some embodiments, the planner predefines parameter ranges for the policies and system configurations over which the optimizer can search. Additionally or alternatively, the optimizer can use autonomous or semi-autonomous methods for identifying the parameters to optimize and for performing the optimization.
After each optimization step 128, the simulation returns to traffic generation step 122. The simulation process continues with the simulation tool generating new client requests and simulating the performance of the site, in accordance with the optimized policies and/or configuration. In some embodiments, the simulation terminates when one or more of the business metrics reach a predefined threshold.
The simulation flow described by
The following example demonstrates the structure of the different models in simulation tool 42 and the relationships between the models and the simulation process described above. In the present example, IT-site 30 comprises an on-line stock trading application. The user behavior model assumes the following:
The system has 900,000 clients.
The initiation of user sessions follows a Poisson process having an intensity of 62.5 new sessions per second. (This intensity corresponds to an average of two daily sessions per client per day during an 8-hour trading day.)
There are two types of client sessions: Browse Portfolio (comprising 70% of the sessions) and Stock Purchase (comprising 30% of the sessions).
The "client think time" (i.e., the time elapsed between the receipt of a response by a client and the issuance of a subsequent request by the same client, within the same session) is a random variable, uniformly distributed between 0.5 and 8 seconds.
The CBMG of
The user attribute model in the present example comprises two attributes: The client's Service-Level Agreement (SLA) and the client's monthly average spending. The SLA attribute can take three possible values: "platinum," "gold" or "regular." The monthly average spending attribute can be chosen from three possible Gaussian distributions (wherein μ denotes the mean and a denotes the variance of the distribution):
μ=$50,000, σ=$10,000, referred to as "heavy" monthly spending.
μ=$5,000, σ=$1000, referred to as "medium" monthly spending.
μ=$1,000, σ=$200, referred to as "light" monthly spending.
The user behavior model is thus represented by a set of nine clusters. Clients are divided into clusters according to the following table:
The same notation is used throughout
The following tables describe the tier-specific resource requirement model used in the present example. Each table comprises the CPU and I/O (database) requirements of each task that appears in the message breakdown diagrams shown in
Web-server tier:
Application-server tier:
Account - create
Account - VerifyLogin
Account - GetSummary
Account - ListPositions
Account - Logout
Ticker - create
Ticker - GetQuote
Ticker - GetFundamentals
Ticker - ListByTicker
Ticker - BuyOrder
Broker - create
Broker - BuyStock
Database-server tier:
exec verifyLogin
exec accountSummary
exec tickerPrice
exec tickerFundamentals
exec listByTicker
exec brokerBuy
exec addBuyOrder
exec accountLogout
The database server can be modeled, for example, as a processor-sharing facility that shares its resources equally among all pending requests. The state vector θ comprises a single element ηN that denotes the total number of active (or pending) requests. The function g(R,θ) updates vector θ each time a new request arrives and each time a serviced request is returned. In this example, updating the vector comprises incrementing or decrementing the value ηN by one.
Referring to the database request types given in the "database-server tier" table above, the response time of each request executed in isolation is the sum of its CPU and I/O times. Assuming that ηN requests are active simultaneously, and that the server resources are allocated evenly to the active requests, the response times returned by function f(R,θ) would be the following:
f(R, θ)
exec verifyLogin
exec accountSummary
exec tickerPrice
exec tickerFundamentals
exec listByTicker
exec brokerBuy
exec addBuyOrder
exec accountLogout
As noted above, f(R,θ) returns a response time as if a request of type R has just arrived. The actual remaining time for a specific active request of type R (which has been already partially served for a certain period of time) should be multiplied by a suitable factor. The computation of this remaining time is valid only as long as the state θ of the model does not change (in our case, no new request arrives and no serviced request is returned). The remaining time of each active request should be recomputed each time state θ of the model changes.
Using the four automatically-derived models, the simulation tool can model the structure of IT-site 30 and simulate its performance under conditions that closely resemble real-life conditions. As described above, the simulation tool generates client requests in accordance with user behavior model 80 and inserts into these requests attributes, in accordance with user attribute model 82. The resource utilization of each building block of the site, in response to the client requests, is calculated in accordance with tier-specific resource requirement model 84, which was derived based on the task invocation sequences modeled by the tier-level message breakdown model 83.
Although the methods and systems described herein mainly address the optimization of business-related performance in e-business IT-sites, the principles of the present invention can be used to perform capacity planning and performance optimization in other computer systems that process diverse client requests and transactions. Such systems may comprise, for example, various business-to-business (B2B) messaging applications. Other such systems may comprise various exception-handling applications, which process transactions that go through "exceptional" paths, such as transactions handled by a human operator.
It will thus be appreciated that the embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and sub-combinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art.
|Cited Patent
|Filing date
|Publication date
|Jan 17, 2000
|Nov 5, 2002
|Mercury Interactive Corporation
|Service for load testing a transactional server over the internet
|Aug 6, 2002
|Feb 17, 2004
|Mercury Interactive Corporation
|System and method for automated analysis of load testing results
|Aug 7, 2000
|Mar 15, 2005
|Sun Microsystems, Inc.
|System and method for testing server latencies using multiple concurrent users in a computer system
|Sep 26, 2003
|May 24, 2005
|Mercury Interactive Corporation
|Software system and methods for analyzing the performance of a server
|May 23, 2000
|May 24, 2005
|Microsoft Corporation
|Load simulation tool for server resource capacity planning
|Nov 12, 2003
|Sep 12, 2006
|Sprint Communications Company L.P.
|Method for modeling system performance
|Mar 21, 2002
|Dec 25, 2007
|Cisco Technology
|Method and apparatus for simulating a load on an application server in a network
|Citing Patent
|Filing date
|Publication date
|Jan 3, 2007
|Sep 27, 2011
|International Business Machines Corporation
|Method and apparatus for formalizing information technology (IT) business decision making
|Feb 27, 2012
|Aug 6, 2013
|Microsoft Corporation
|Centralized planning for real-time self tuning of planned actions in a distributed environment
|Feb 27, 2012
|Jul 12, 2012
|Microsoft Corporation
|Centralized planning for real-time self tuning of planned actions in a distributed environment
|Aug 30, 2011
|Oct 4, 2012
|Infosys Technologies, Ltd.
|System and method for optimizing planning production using feature driven value approximation techniques
|Feb 19, 2015
|Jul 23, 2015
|Interactive TKO, Inc
|Service modeling and virtualization
|Feb 19, 2015
|Jul 23, 2015
|Interactive TKO, Inc
|Service modeling and virtualization
|Feb 19, 2015
|Jul 23, 2015
|Interactive TKO, Inc
|Service modeling and virtualization
|Feb 19, 2015
|Jul 23, 2015
|Interactive TKO, Inc
|Service modeling and virtualization
|Feb 19, 2015
|Jul 23, 2015
|Interactive TKO, Inc
|Service modeling and virtualization
|Feb 19, 2015
|Jul 23, 2015
|Interactive TKO, Inc.
|Service modeling and virtualization
|Feb 19, 2015
|Jul 23, 2015
|Interactive TKO, Inc
|Service modeling and virtualization
|Jul 19, 2011
|Jan 24, 2013
|Siemens Aktiengesellschaft
|Performancesimulation von medizintechnischen Prozeduren in einer Client-Server-Umgebung
|U.S. Classification
|709/217, 709/248, 709/216
|International Classification
|Cooperative Classification
|European Classification
|Jul 19, 2005
Owner name: INTERNATINAL BUSINESS MACHINES CORPORATION, NEW YO
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AIBER, SAREL;GILAT, DAGAN;LANDAU, ARIEL;AND OTHERS;REEL/FRAME:016544/0522
Effective date: 20050509
|May 9, 2014
|Maintenance fee reminder mailed
|Jul 11, 2014
|Surcharge for late payment
|Jul 11, 2014
|Fee payment
Year of fee payment: 4


text:
StartUpHire is the place to find Research Assistant - Chemistry jobs. Review the list of Research Assistant - Chemistry career opportunities to the left. These Research Assistant - Chemistry jobs represent some of the most rewarding careers available.
You can refine your job search for Research Assistant - Chemistry career opportunities by adding a job title, company name, or keyword to the search box above … or click the "Advanced Search" link for more options.
Don't see the employment opportunity you're looking for? Check back soon for more Research Assistant - Chemistry jobs, or sign up for an email alert (link below) to receive periodic updates on new Research Assistant - Chemistry jobs.
Location:Audubon, PA Job Code:ORABC0815 Description The Orthopaedic Research Assistant will be responsible for the technical conduct of animal research studies in support of material and device applications for the FDA in a Good Laboratory Practices (GLP) research environment.9/15/2015 Audubon, PA Save This Job
Job Summary Anacor is seeking a research assistant who has experience with multiple aspects of animal research. The candidate should have strong abilities in the handling of rodents (rats and mice), dosing via all routes, blood collection and animal observation. The candidate8/29/2015 Palo Alto, CA Save This Job
Requisition Number 15-00460 Area of Interest Other Position Type Full-time Job Description Company: Federated Media JOB SUMMARY: The Research Assistant will join our new and growing dedicated Analytics team to learn the landscape of media, marketing, analytics, and8/16/2015 San Francisco, CA Save This Job
Etsy is seeking an Assistant Corporate Controller, to be based in Brooklyn, NY, who will report to the VP & Controller. This new position will help lead the accounting team through Etsy's next stage of growth as a public company.9/19/2015 Brooklyn, NY Save This Job
About the Job Nexant seeks an Intern - Summer Research Associate (SRA) in its Washington, DC office to provide research support to senior staff with the goal of submitting articles for peer-reviewed publication. Applicants should have an interest in the electricity industry and8/23/2015 Washington, DC Save This Job
Job Description Position Summary: The Sales Administrative Assistant will play a critical role within the sales team at Astute Solutions. The Sales Operations Assistant with support sales by developing and improving sales, sales and systems reporting, processes, systems,10/5/2015 Columbus, OH Save This Job
Assurex Health is a personalized medicine company dedicated to helping clinicians determine the right medication for individual patients with medical conditions. Assurex Health's proprietary technology is based on pharmacogenomics -- the study of the genetic factors that8/23/2015 Mason, OH Save This Job
San Francisco Prosper Marketplace is searching for an Executive Assistant to provide administrative support to our Executive staff. The Executive Assistant serves as a liaison to the board of directors and senior management teams; organizes and coordinates executive outreach and9/25/2015 San Francisco, CA Save This Job
Description ePromos Promotional Products, Inc., an ASI Top 40 firm and one of the fastest growing companies in the promotional products industry. We are passionate about helping our clients make powerful impressions using custome merchandise and apparel. We operate through two9/21/2015 St. Cloud, MN Save This Job
Description ePromos Promotional Products, Inc., a five -time winner of ASI Best Place to Work, is one of the fastest growing promotional products company in the U.S. We recommend and provide custom branded merchandise and apparel to businesses and organizations of all sizes8/22/2015 New York, NY Save This Job
Description ePromos Promotional Products, Inc., a five -time winner of ASI Best Place to Work, is one of the fastest growing promotional products company in the U.S. We recommend and provide custom branded merchandise and apparel to businesses and organizations of all sizes8/22/2015 New York, NY Save This Job
Tracking Code 1450 Job Description The Assistant Controller will work with the Director of Accounting to build, mentor and grow the Accounting team, take a hands-on role in evaluating and improving existing accounting processes, apply knowledge of Generally Accepted Accounting8/15/2015 Houston, TX Save This Job
Administrative Assistant/Senior Administrative Assistant will provide administrative support to the Chief Financial Officer (CFO), Chief Medical Officer (CMO) and the Senior Vice President of Research. Duties Set up meetings/activities via Outlook, draft/change/format documents8/30/2015 Mountain View, CA Save This Job
Job Code: 2015-70-7 Job Summary The Clinical Trial Assistant (CTA) provides Clinical Operations Team members with project-specific support related to the conduct of clinical trials. The CTA will assist with clinical operation activities, including, but not limited to: creating10/1/2015 Gaithersburg, MD Save This Job
Posted on July 22, 2015 by Human Resources ? No Comments ? The Fraud Prevention and Payment Assistant helps to control and mitigate the Company?s financial exposure to fraud loss. This is achieved through validation of relevant transaction details on customer orders, while8/4/2015 Plymouth, MA Save This Job
This Administrative Assistant will be the face of Ping Identity?s Burlington office. We are looking for a friendly, energetic person to welcome each guest that walks through our doors or calls our office. You will also be responsible for screening calls, managing calendars,9/21/2015 Boston, MA Save This Job
Location:Pittsburgh, PA Job Code:195 # of Openings:1 DESCRIPTION Human Resources Assistant/Office Administrator Pittsburgh, Pa Position Summary: Aquion-Energy, Inc. ? A high growth, alternative energy start-up company based in Pittsburgh, PA is seeking a dynamic,9/15/2015 Pittsburgh, PA Save This Job
This Administrative Assistant will be the face of Ping Identity?s Burlington office. We are looking for a friendly, energetic person to welcome each guest that walks through our doors or calls our office. You will also be responsible for screening calls, managing calendars,9/7/2015 Boston, MA Save This Job
The Assistant Product Manager will work closely with the Product Manager who is focused on the development of TouchTunes new Attract TV Digital Out of Home (DOOH) product. In addition, the Assistant Product Manager will have the opportunity to also support other company products9/5/2015 New York, NY Save This Job
POSITION SUMMARY The Executive Assistant (EA) is responsible for providing administrative support to C-level Executive(s), as well as to other members of the construction and engineering teams. The EA will be responsible for managing workflow to Executives and other team8/16/2015 Columbia, MD Save This Job

subset: commoncrawl


text:
I'm trying to use scheme to write a function
f that takes a number
n and a function
g and returns a list of lists of length
n, but according with booleans according to the pattern indicated by
g. For example, the function
f should take n say 3 and the function
g which makes every 3rd item on the list a true. It should return this:
(list (list true true false)
(list true true false)
(list true true false))
I have no idea where to start with this, so any help or tips would be greatly appreciated. THanks!


text:
Flurry of Fun Custom Banner
Vinyl Banner sizes:
Welcome guests in style!
Our personalized vinyl banner is available in seven different sizes and feature four metal grommets for easy hanging.
Personalized Banner features:
- Free personalization!
- Our exclusive customizing tool allows you to move, rotate and size.
- Vinyl banners are weather-resistant!
- Printed on durable 10 ounce white vinyl.
- Includes metal grommets for hanging.
- 7 sizes available (sizes are approximate):
- B1118 - 1 1/2 feet high x 4 1/2 feet wide
- B1124 - 2 feet high x 6 feet wide
- B1130 - 2 1/2 feet high x 6 3/4 feet wide
- B1136 - 3 feet high x 8 3/4 feet wide
- B1148 - 4 feet high x 11 1/2 feet wide
- B1160 - 5 feet high x 15 feet wide
- B1172 - 6 feet high x 16 3/4 feet wide
Attach N' Go Banner features:
- Printed on safe, low-tack vinyl sticker material
- Perfect for anywhere, no cords or tape needed
- 3 sizes available (sizes are approximate):
- B4118 - 1 1/2 feet high x 4 1/2 feet wide
- B4124 - 2 feet high x 6 feet wide
- B4130 - 2 1/2 feet high x 6 3/4 feet wide
- Not recommended for outdoor use or for application on windows.
Banners will be printed exactly as shown with the exception to the white border that will surround your banner's outer edges and is printed with our company logo tagline. Please, take a moment to review your final selections and check your spelling.
We reserve the right to refuse any objectionable material. We will not reproduce materials that are deemed to be offensive or obscene.
Please allow ample time for delivery. Our ship date for this product is noted in your shopping cart. Many items are shipped separately, so please allow extra time for these items to arrive. Shipping charges are based on the value of the merchandise and not the number of shipments. For additional shipping information, please contact our Customer Service Department at (email@example.com or 1-800-314-8794).
REVIEW SNAPSHOT®by PowerReviews
- Durable (4)
- Attractive (3)
Best Uses
Reviewed by 4 customers
Sort by
- Attractive Design
- Colorful
- Durable
- Easy To Use
- Good Value
- Not All What I Expected
Best Uses
- Adults
- Celebration
- School Activities
- Teens
- Themed Parties
- Young Children
Banner was ordered for my moms 65th birthday celebration; this banner was truly AWESOME & not at all what I expected. I was taken aback by the quick delivery, quality of the product and durability of the product. Yes, I'd order one again...
- Was this a gift?:
- Yes
- Attractive Design
- Colorful
- Durable
- Easy To Use
- Good Value
Best Uses
- Celebration
- School Activities
- Teens
- Themed Parties
- Young Children
I used the banner for a wedding. The size fit where I wanted it to fit. and the color matched the theme perfectly.
- Was this a gift?:
- No
- Attractive
- Durable
- Easy To Set Up
- Easy To Store
- Festive
- Fits Theme
Best Uses
- Decoration
This banner was perfect to advertise our school's event. The quality of the banner was very good, and the price was fantastic. SO much easier and more professional than making your own banner (have you ever TRIED to line up lettering on a banner? Not a walk in the park). Will definately purchase again.
- Durable
- Easy to Hang
- Fits Theme
Best Uses
- Decoration
The design is a winner. We used it as signage for an event weekend we were running at the ski lodge for a family weekend on the slopes. It was easy to hang, bright in color. Held up with the wind and flurries.
Service and delivery comments:
Came a day earlier than expected - packed well.
Do you have questions about this product?
Get answers from real customers and in-house experts with AnswerBox.
Q:What color is the flurry of Fun custom banner? Is it purple or lavender?Asked on 10/25/2014 by Deb from Rosedale, NY
1 answer
A:It is more of a Lavender colorAnswered on 10/28/2014 by csr


text:
Andy: After a few days of periodic usage of the Broadvoice WiFi phone, I'm missing both Vonage and CallVantage. Next trip up I'll try VoicePulse the same way. Sure it works, but the handset just doesn't sound as good and I'm finding some termination to cell phone issues as the party on the other end has asked what phone I'm using. Clearly people who one regularly speaks with can tell the difference.
Comments have been disabled for this post


text:
Reviews - Grasmere House Hotel3
70 Harnham Road, Salisbury, SP2 8JN
Price From £110View Rooms
Customer Reviews
Our reviews are from genuine LateRooms.com customers. We verify that the customer has stayed before leaving a review.
Very Good
79% would recommend it to a friend
Customer service
Food quality
Room quality
Relaxing Break
We were recommended to the Grasmere House and pleased that we followed this recommendation.
The room was spacious and comfortable; the bathroom clean and with a selection of toiletries. Fabulous view over the cathedral. Comfortable lounge to enjoy an evening drink. Breakfast was very nice, small amounts out on a buffet table regularly topped up. Above all, well staffed with well trained, efficient and friendly people
Read More Less
A Major Dissapointment
It was my birthday and so we looked around, and found the Grasmere Hotel.
It had a lovely view across to Salisbury Cathedral. However the room we booked had a picture of a walking stick on the door- there was no way someone with mobility problems could get up form the bed it was practically on the floor!. We had an Evening Meal (which we paid extra for) which was quite good, and so we were lulled into a false sense of security and looked forward to breakfast. I can truthfully say it was one of the worst breakfasts we had ever had!. two rashers of streaky bacon and a cheap sausage. The propaganda about the hotel is about how good it is, we disagree. In retrospect we wish we had stayed home.
Read More Less
Visiting friends for the weekend and accommodation in Salisbury seems hard to come by ...
as other guests have said the staff are great but frankly that doesn't make up for the shortcomings. We arrived late and were greeted by cracked floor tiles in the bathroom, no plug, unpleasantness in the plug hole, peeling wallpaper (yes it was actually hanging down) and a broken bedside lamp. Really .... I hate leaving poor reviews and there are good things about this hotel - the view is great, the staff are sweet although not one of them seemed to have any authority - and the modern rooms I peered into looked a lot better but my advice would be to insist on one of the newer rooms with a view or postpone your visit and book somewhere else.
Read More Less
Great friendly hotel
Staff very friendly and helpful, hotel nice and cosy.
Room very clean and warm. Had food in the hotel and had a varied menu, the food was well presented and perfectly cooked. Won't hesitate to reccomend. A+
Read More Less
could be better
The hotel is a bit run down and shabby, which is a pity as it could be very attractive.
The bedroom was fine bot the public areas were in general pretty tatty.
Read More Less
3 Day Break Away
Lovely hotel.
Breakfast was plentiful with lots to choose from. Loved the buffet style cooked breakfast where you could choose what you wanted. Lovely views of Cathedral and the various wild life along the river.
Read More Less
One night stop whilst travelling
Lovely outlook from our room but slightly spoilt by a wedding party with band directly under neath us.
Would certainly try again.
Read More Less
Good accommodation
Good room with a lovely bay window overlooking the water meadows and Salisbury Cathedral.
Lots of pictures on the walls and furniture in the room (very different from a Travelodge . The bathroom is looking a little tired. Buffet breakfast was good quality. We did get a special rate.
Read More Less
Grasmere house hotel
We enjoyed our stay very much.
The whole team were very helpful and very polite . The food was excellent and the room was very clean plus we felt everyone worked very hard.
Read More Less
My 75th birthday
The old Victorian House was lovely and decorated and furnished accordingly.
The bedroom was
comfortable and en-suite adequate. Room and bedding very clean and crisp. The only downside was the lounges and conservatory were used for seminars and meetings which we could understand in the Autumn but was lacking comfortable lounge to rest for a while when returning back in late afternoon without going to the bedroom. The grounds were fantastic and could have been enjoyed more if we could have sat in the lounge or conservatory. The food was good but overpriced which encourages guests to eat elsewhere.
Read More Less


text:
Rory O'Kane
Apparently, this user prefers to keep an air of mystery about them.
Communities (62)
Top Network Posts
- 121<fieldset> resizes wrong; appears to have unremovable `min-width: min-content`
- 52Graphics in GitHub commit messages
- 50What does [nyae] mean in Zsh?
- 34How can I remove RVM (Ruby Version Manager) from my system?
- 33Recurring Events in Calendar - Rails
- 32How to apply !important using .css()?
- 30Count number of lines in a git repository
- View more network posts →
Keeping a low profile.
This user hasn't posted... yet.


text:
If you've listened to big-name bond gurus recently, you might be surprised anybody is still investing in bonds.
A survey of preeminent fund managers reveals a growing number of bears. Last week, Dan Fuss of Loomis Sayles told Bloomberg News this is "the most overbought market" he's ever seen, and he's been in the bond business for 55 years. Pimco's Bill Gross wrote of a "credit supernova" that's running out of energy and time. DoubleLine's Jeff Gundlach has been growling bearishly for some time, telling investors they'd be better off parked in cash awaiting an eventual shift into stocks.
Despite such pronouncements, the bond market remains open for business. Investors put another $3.7 billion into taxable-bond funds last week, per Lipper data. The week saw the launch of the Eaton Vance Bond Fund (ticker: EVBAX) and the WisdomTree Global Corporate Bond Fund (GLCB), among others, while Fidelity filed the paperwork for a planned corporate-bond exchange-traded fund. Even Fuss delivered his dour assessment while opening a new bond fund for British investors.
This isn't a time to look for easy gains across typical income categories. Most bond markets are at the tail end of long bull runs. Current low yields make bond prices more vulnerable than ever to a seemingly inevitable rise in rates. Today, portfolio managers are differentiated by their convictions—about the economy, about comparative asset-class potential, about market sectors, about which bonds can keep making money.
Barron's spoke with Mark Kiesel, manager of the Pimco Investment-Grade Corporate Bond Fund (PBDAX), crowned 2012 fixed-income manager of the year by Morningstar, to see how he's approaching things. Kiesel is avoiding Treasuries and long-dated corporate bonds but says not all bond prices are doomed to fall as interest rates generally rise. "Credit-spread tightening can offset the rate rise, and some bonds can go up," Kiesel says. "We try to find the bonds that will rise."
Kiesel's fund leans on the research capabilities of giant Pimco to find companies he deems "misrated" as junk rather than investment-grade by rating agencies. Many are in the housing and energy sectors.
"We're in the beginning stages of what will be a multiyear expansion for homebuilders and housing materials," says Kiesel, who believes some of those companies can outgrow the broader economy by a factor of three in the coming years. Among the companies he favors: Weyerhaeuser wy -0.5005362888809438% Weyerhaeuser Co. U.S.: NYSE USD27.83 -0.14 -0.5005362888809438% /Date(1444165246420-0500)/ Volume (Delayed 15m) : 2560263 AFTER HOURS USD27.83 % Volume (Delayed 15m) : 90106 P/E Ratio 25.82351303702329 Market Cap 14382004980.183 Dividend Yield 4.455623427955444% Rev. per Employee 568516 More quote details and news » (WY) and Whirlpool whr -1.1978732944718469% Whirlpool Corp. U.S.: NYSE USD154.24 -1.87 -1.1978732944718469% /Date(1444165558975-0500)/ Volume (Delayed 15m) : 976864 AFTER HOURS USD154.24 % Volume (Delayed 15m) : 14161 P/E Ratio 18.13095098154461 Market Cap 12241833913.5242 Dividend Yield 2.3340248962655603% Rev. per Employee 208810 More quote details and news » (WHR).
Once-beleaguered homebuilders are flexing their muscles again. One, DR Horton DHI -3.4438364982298038% D.R. Horton Inc. U.S.: NYSE USD30 -1.07 -3.4438364982298038% /Date(1444165474741-0500)/ Volume (Delayed 15m) : 7902656 AFTER HOURS USD30 % Volume (Delayed 15m) : 177950 P/E Ratio 16.304347826086957 Market Cap 11395792818.3661 Dividend Yield 0.8333333333333334% Rev. per Employee 1801070 More quote details and news » (DHI)—which carries double-B ratings, the upper rung of junk—followed up an upbeat earnings report by selling $700 million in five- and 10-year bonds, paying yields of just 3.625% and 4.75%, respectively.
On the energy side, Kiesel says "we are going to become energy-independent as a country in the next 10 years, and a lot of companies are going to make money off of this." He cites midstream energy companies, which store, transport, or process oil and gas, with operations in the Bakken Shale in North Dakota, such as privately held Hiland Partners, or in the Gulf region, like Targa Resources ngls 0.5849753694581281% Targa Resources Partners L.P. U.S.: NYSE USD32.67 0.19 0.5849753694581281% /Date(1444165489968-0500)/ Volume (Delayed 15m) : 1419210 AFTER HOURS USD32.67 % Volume (Delayed 15m) : 4602 P/E Ratio 20.67721518987342 Market Cap 6003538072.12616 Dividend Yield 10.1010101010101% Rev. per Employee 5681930 More quote details and news » (NGLS).
Kiesel is eyeing emerging-market opportunities, too, notably in Asian gaming and South American banking, as well as Chinese gas-distribution companies.
Income investors have also been piling into leveraged loans—bank loans made to speculative-grade companies and sold to investors as senior floating-rate instruments. U.S. loan funds reported a record $927 million net inflow last week and grew by $3.3 billion in January, according to Bank of America, while returning 1.06% during the month, versus 1.38% for junk bonds and a loss of 0.89% for high-grade corporates.
Treasuries fell again Friday as January employment data was boosted by upward revisions to December and November job gains. That pushed the 10-year note yield above 2%, to 2.023%, up from 1.943% a week earlier.
E-mail: firstname.lastname@example.com


text: The was the first time at the Cactus. The outside looked a little seedy and the location odd, but local family members said it was a good place to eat. Our party was very large (18) and while there was a little confusion on who ordered what, we all got our meals in a timely fashion. My wife and I... read more


text:
Enter your name and email to receive alerts when new vacation deals are added to any property in this region.
By clicking "Submit" you are agreeing to the
Terms of Service.
Alert successfully created!
Showing 1-3 of 3 Luxury Resorts
Madison Beach Hotel
Each of the 33 guest-rooms has fabulous view of the water! Enjoy modern amenities such as high speed Internet, flat-screen televisions, plush bedding and luxurious linens. Relax during your Connecticut getaway with a trip to the Sounds of the Sea Spa. The Wharf offers a gourmet dining atmosphere with picturesque views of the beach and Long Island... more
- Wifi
- Restaurant Onsite
- Pets Allowed
- Property Size 33 units
- Conference Facility
- Kids Allowed
- Nearby City Madison
- Nearby Water Atlantic Ocean
- Open Dates All Year
- Beach
- Family
- Meetings
- Reunions
- Wedding
- Nature
- Fishing
- Romantic
- Pet Friendly
- Luxury
- Honeymoon
- Spa
- Villas and Condos
Linden Point House
Luxury at Linden Point House has a historical feel, with private & shared baths, skylights and even a bidet in the Master Suite. Yet your B&B vacation is thoroughly modern with features like Jacuzzi tubs, private balconies and exquisite furnishings.... more
The Heritage Hotel
The Heritage Hotel offers unique and elegant lodging. Everything from the bed frames to the carpets and drapes, to the bed linens themselves are of the finest quality to ensure that your stay is everything it should be. Every detail is taken care of and you will enjoy suites complete with everything thing from whirlpools to wet bars.... more
Showing 1-3 of 3 Luxury Resorts


text:
I am a graphic designer that likes creating logos, websites, and print designs. Take a look at my portfolios to see some of my designs! http://www.behance.net/mathewt/frame http://mathewt.deviantart.com/
760 participated with 31 other designers who submitted 170 entries and was awarded $600. View this project »
Name your own price, then watch as dozens of participants submit ideas and choose your favorite. Our 100% money-back guarantee makes it risk-free!
Let us match you up with one of our very best Creatives and work 1-to-1 in complete privacy. You'll have all of the same tools and features as our regular projects!


text:
Like in the children's paper and pen game of the same name, the main character takes incremental steps towards... : Literary Fiction » Read
» Users
Welcome Visitor:
No history available
About | News | Contact | Your Account | BooksieSilk | TheNextBigWriter | Self Publishing | Advertise
© 2013 TheNextBigWriter, LLC. All Rights Reserved. Terms under which this service is provided to you. Privacy Policy.


text:
Is this attraction free to the public?
Is gratuity suggested at this attraction?
Would this be a good rainy day activity?
Is there food available at this attraction?
Is a car required to access this attraction?
Is this attraction accessible using public transportation?
Is this attraction closed during certain parts of the year?
Does this attraction require payment to access?
Do you recommend that visitors take a guided tour at this attraction?
Is this attraction wheelchair accessible?
Thanks for helping!
From an easy booking process via email through to a breeze at checkin, the day trip was a delight - a day of enforced relaxation even in the freezing cold of the deep south...
read more
From an easy booking process via email through to a breeze at checkin, the day trip was a delight - a day of enforced relaxation even in the freezing cold of the deep south. Boarded a Britten Norman Islander plane in Invercargill for the short hop to Stewart Island. The back seats of the plane were smaller than the rest...
Wonderful place to visit, . Excellent transport, on time, quick and enjoyable. The islands were teeming with wide life. Great places to stay. You only need a couple of days. The sand flies are bad be warned.
Just a 15 odd minute flight with up to nine others and you are on the Island, great views between Invercargill and Stewart Island.
Our introduction to Stewart Island Flights was jump on the scales when we checked in! I am not a fan of small planes and it is not the smoothest of flights, however I am sure it is preferable to a rough ferry ride. My son sat next to the pilot and had great views, I sat next to a local...
A very professional and friendly operation. The whole operation is characterised by a friendly competence, and is a great service for Islanders and visitors alike. An easy, safe and enjoyable way to travel to and from Stewart Island.
Stewart Island Flights run a pretty effecient operation. My wife and I did the Stewart Island Special which was definately worth it. Every seat is a window seat so you don't miss much. If you get to sit next to the pilot so much the better.
Great value for money, as this trip enabled us to see not only Stewart Island but Ulva Island too, as the water taxi across to it was included, the walking tracks on Ulva Island we were well maintained and informative, with the complimentary booklet that was provided. the tour of Stewart Island was also very informative, at the end of...
I have flown them before - even onto a tiny beach on the west coast of Stewart Island. The pilots are very helpful, informative & professional. Great way to cross the straight with minimum delay.
Short and sweet, forget getting seasick on the ferry. The flight is definitely a good option, especially if you don't have much time on the Island.
I have flown multiple times with Stewart island flights and their customer service is getting progressively worse. From telling me my flight was cancelled cause the "plane is broken" to extreme rudeness when checking in. Overall it's an ok company to fly with, the younger guys (pilots) are friendly and professional. They are the only reason I gave this review...
Own or manage this property? Claim your listing for free to respond to reviews, update your profile and much more.


text:
- 21Promote
Stationery Cards
COFFEE Logoby Largetosti
Set of folded stationery cards printed on bright white, smooth card stock to bring your personal artistic style to everyday correspondence. Each card is blank on the inside and includes a soft white, European fold envelope for mailing.
If you had the sense that it is "Courage to confess" "告白する勇気".
"の" do not enter."告白するユウキ"
Interesting design.
From Japanese
"の" do not enter."告白するユウキ"
Interesting design.
From Japanese
Yeah we know, already fired that translator haha. Thanks though.
Strong design :) shame they don't sell cups here on society 6.
cool :)


text:
What gives SBUX its edge over competition?
Savvy shoppers know how to get good deals
Join the NASDAQ Community today and get free, instant access to portfolios, stock ratings, real-time alerts, and more!
Begining the final hour of trading Wednesday, the Dow traded
down 0.65 percent to 16,834.95 while the NASDAQ declined 0.28
percent to 4,325.82. The S&P also fell, dropping 0.41 percent
to 1,942.79.
Leading and Lagging Sectors
Wednesday morning, the technology sector proved to be a source
of strength for the market. Leading the sector was strength from
Synaptics (NASDAQ:
) and MakeMyTrip (NASDAQ:
Industrials shares fell about 0.71 percent in trading on
Wednesday. Meanwhile, top decliners in the sector included
Collectors Universe (NASDAQ:
), down 5.42 percent, and PMFG, (NASDAQ:
), off 3.33 percent.
Top Headline
H&R Block (NYSE:
reported a rise
in its fiscal fourth-quarter profit.
H&R Block's quarterly net income rose to $909.9 million,
or $3.29 per share, versus a year-ago profit of $644.3 million or
$2.42 per share. Its earnings from continuing operations came in
at $3.36 per share.
Its revenue increased 16% to $2.56 billion. However, analysts
were expecting a profit of $3.23 per share on revenue of $2.49
Equities Trading UP
Synaptics (NASDAQ:
) shares shot up 27.61 percent to $84.89 after the company
announced its
plans to acquire
display-chip company Renesas SP Drivers. The company also lifted
its Q4 revenue forecast.
Shares of ULTA Salon, Cosmetics & Fragrance (NASDAQ:
) got a boost, shooting up 14.61 percent to $97.77 after the
company reported
first-quarter results.
Montage Technology Group (NASDAQ:
) shares were also up, gaining 8.54 percent to $21.47 after the
company agreed to be acquired by Shanghai Pudong Science and
Technology Investment Co for US$22.60 per share.
Whitney Tilson of Kase Capital sent out an email stating
Montage tech and Shanghai Pudong Science are "conspiring to
defraud the government of Shanghai" which had no impact on the
share's pricing, but does raise questions about the practice of
spreading unfounded rumors.
Equities Trading DOWN
Shares of Orexigen Therapeutics (NASDAQ:
) were down 16.30 percent to $5.70 after the company received
three month extension
of the FDA NB32 review.
Auxilium Pharmaceuticals (NASDAQ:
) shares tumbled 7.46 percent to $20.16 after the company
announced the release of a generic version of Testim testosterone
Exelon (NYSE:
) was down, falling 3.04 percent to $36.03 after the company
announced an offering of 50 million shares.
In commodity news,
oil traded up 0.04 percent
to $104.39, while gold traded up 0.02 percent to $1,260.40.
Silver traded up 0.09 percent Wednesday to $19.18, while
copper fell 0.62 percent to $3.03.
European shares today.
The eurozone's STOXX 600 slipped 0.64 percent, the Spanish
IBEX Index fell 0.70 percent, while Italy's FTSE MIB Index
declined 1.24 percent.
Meanwhile, the German DAX dropped 0.79 percent and the French
CAC 40 fell 0.87 percent while UK shares dropped 0.59
The MBA reported that its index of mortgage application
activity rose 10.3% for the week ended June 6.
Crude stockpiles dropped 2.6 million barrels for the week
ended June 6, the US Energy Information Administration reported.
However, analysts were expecting a drop of 1.2 million
Gasoline supplies increased 1.7 million barrels, while
distillate stockpiles rose 900,000 barrels.
© 2014 Benzinga.com. Benzinga does not provide investment
advice. All rights reserved.
Free Trading Education -
Check out the free events taking place on Marketfy
this week. Spaces are limited. Sign up today.
Enter up to 25 symbols separated by commas or spaces in the text box below. These symbols will be available during your session for use on applicable pages.
You have selected to change your default setting for the Quote Search. This will now be your default target page;
unless you change your configuration again, or you delete your
cookies. Are you sure you want to change your settings?


text:
Finally available, a high quality book of the original classic edition of Oedipus King of Thebes.
This is a new and freshly published edition of this culturally important work by Sophocles, which is now, at last, again available to you.
Enjoy this classic work today. These selected paragraphs distill the contents and give you a quick look inside Oedipus King of Thebes:
Yet I may plead also that as a rule every diligent student of these great works can add something to the discoveries of his predecessors, and I think I have been able to bring out a few new points in the old and much-studied Oedipus, chiefly points connected with the dramatic technique and the religious atmosphere.Mythologists tell us that Oedipus was originally a daemon haunting Mount Kithairon, and Jocasta a form of that Earth-Mother who, as Aeschylus puts it, bringeth all things to being, and when she hath reared them receiveth again their seed into her body (Choephori, 127: cf.
...The state of feeling which produced this law, against the immensely strong conception of the patria potestas, may also have produced a folklore story telling how a boy once was exposed, in a peculiarly cruel way, by his wicked parents, and how Heaven preserved him to take upon both of them a vengeance which showed that the unnatural father had no longer a fathers sanctity nor the unnatural mother a mothers. But, as far as Sophocles is concerned, if anything in the nature of a criticism of life has been admitted into the play at all, it seems to be only a flash or two of that profound and pessimistic arraignment of the ruling powers which in other plays also opens at times like a sudden abyss across the smooth surface of his art.
...This is partly because the writing of Euripides, being less business-like and more penetrated by philosophic reflections and by subtleties of technique, actually needs more thorough re-casting to express it at all adequately; partly because there is in Sophocles, amid all his passion and all his naturalness, a certain severe and classic reticence, which, though impossible really to reproduce by any method, is less misrepresented by occasional insufficiency than by habitual redundance.
People who read this also enjoyed
You can read this item using any of the following Kobo apps and devices:


text:
Super 8 Berkeley
No prices found through our partners. Please contact the business directly or check some of our recommended alternatives.
How has this motel rated in the past?
Travelers also recommend:
TripAdvisor Reviews Super 8 Berkeley
Travel Blogs from Berkeley
There and back again...a New Zealand tale.
... to trek through mountains, feed kea (giant parrots) cornflakes, take a leak into a raging torrent of water at The Chasm (second only in my public urination top 10 to the Grand Canyon), drink in the beauty of Milford Sound (it's postcard famous), play in the snow at Homer Ice Field, walk down Gertrude Valley cautious of the real possibility of an actual avalanche and camp out in the open beneath a mountain and waking up to a red sky at dawn. It was amazing! Yet the highlight may ...
Alcatraz & Palace of Fine Arts
A fine morning to be crossing over to Alcatraz. Our friends Chris & Simon arrived last night and met us at the ferry for the 10am crossing. The dramatised audio tour was interesting and gave an insight into the grim life that felons had at this penitentiary (two new words for Nia). We couldn't but help wonder what is going to happen to the buildings on the island as ...
California sun :-)
... We also got a cell-phone to keep in touch with family.
In the afternoon we met up with AJ and got in his van. Roadworks and holiday doesn�t go together but eventually we reached the bridge. From there AJ drove South and we stopped a few times Before reaching the Golden Gate park. We Went to the Japanese tea garden and the De Young museum and took the lift up ...
Back to normal… sort of
... care enough to listen and occasionally to ask questions.
We're closer as a family. Yes, it's so cliche to say that, but I think it's truly impossible to spend nearly 24 hours a day for 300+ days together without forming some glue. I think we're more honest in our communications with each other. It's hard to hide your feelings and emotions when you're living together in spaces less than 400 square feet. There were a few emotional explosions, but ...
A day in San Francisco
... the city along the way. We passed by the top of Lombard Street, famous as the "crookedest street in the world". As you come to the end of the line you descend down the hill with a view of Alcatraz and the Golden Gate - priceless. Of course you are hanging on for dear life if your on the sideboards, so no pictures - lol! Even though it was only mid-morning we were ready for a top up on breakfast, so we grabbed some cups of clam chowder and a cup of prawns from one of the ...