Professional Documents
Culture Documents
2 Architecture
The figure below depicts the hierarchy involved in constructing an application profile: a profile consists of
applications. Applications can be represented as simple traffic sources, complex protocols or a discrete set of tasks.
Tasks may consist of many phases where each phase describes a pattern of data exchange between a source and
destination. The first two elements of this hierarchy, profiles and applications, are described in detail in the
following sections. The configuration of the other two elements, tasks and phases, applies to only one type of
application, the custom application. Refer to the Custom Application Model paper for detailed information on tasks
and phases.
Confidential--not for release without the written authorization of OPNET Technologies, Inc.
Page 1
7/16/01
Profiles
Profile Definition
Object
Applications
Application
Definition Object
Tasks
Task Definition
Object
Phases
In most cases, when describing the actions of a single user, the actions are serial since most people can only
perform one activity at a time. However, when using applications that can perform non-blocking tasks, you can
have more than one task running at a time. When describing the activities of a group of users, concurrency is
common. Like profile repetitions, application repetitions within the profile can execute either concurrently or
serially.
The diagrams below depict possible profile configurations.
Page 2
7/16/01
Page 3
7/16/01
Brief Description
FTP
File transfer
Remote Login
Rlogin (telnet)
Video Conferencing
Database
HTTP
Web browsing
Voice
Server-Based E-mail Application: When a client sends an e-mail, the e-mail is stored on the server. The client
polls the server on a regular basis, and receives e-mail destined to it. You can model this architecture easily by
configuring the e-mail Standard Application Model, which provides a Send Interarrival Time attribute and a
Receive Interarrival Time attribute (Note: interarrival time, the time between successive messages, is the
inverse of the rate). Inter-arrival times are configurable on an individual basis for each client. Send and receive
inter-arrival times are independent (i.e., a client can be a frequent sender of messages but an infrequent
recipient).
Confidential--not for release without the written authorization of OPNET Technologies, Inc.
Page 4
7/16/01
Networked Calendar Application: A networked calendaring application is used to schedule meetings and to
book resources for those meetings. When a calendar entry is made, the client application contacts the server
separately for each staff member or resource involved in the entered event. As each new data item is received,
schedule conflicts are generated and analyzed at the server side. The server then responds to the client,
indicating that it is prepared to process the next item. Once all information has been received and processed by
the server, the final entry is made, and a confirmation is returned to the client.
A custom application is a good choice to represent it because no standard calendaring application is provided.
Another reason to choose the custom application model in this instance is that the request-responses are serial in
nature, i.e., the next request is made only when the previous response is completed.
3.
Intranet Application: An I.S. department has deployed an intranet application that lets employees use services
such as the company directory, and marketing information. Each employee has a browser installed on her
desktop. A central web server serves the intranet site. The web-browsing application is two-tier with the
browser issuing requests to the web server and the server returning pages, text or images.
The HTTP application model will represent the above architecture appropriately because it allows the user to do
the following:
select the average number of pages downloaded and the average number of objects per page
choose the average page size and the number of servers accessed to download various objects on the page
The number of TCP connections that can be opened simultaneously by the browser can be specified.
Confidential--not for release without the written authorization of OPNET Technologies, Inc.
Page 5
7/16/01
Three-Tier Customer Relationship Management Application: A sales department uses a proprietary GUI to
create, browse, and edit customer information stored in a single database. The application is three-tier with a
thin client submitting requests to an application server. The application server submits queries to the database
server, organizes the returned information, and sends formatted text information back to the client for display.
Of specific interest to this case study are searches performed to display a collection of records for clients
responding to common criteria (e.g., all clients located in Virginia).
The application is programmed as follows: 1) the client submits a completed form to the application server; 2)
the application server processes the form and generates one or more queries to the database server, one query at
a time; 3) the database server responds to each query and the application server accepts and accumulates the
returned records; 4) the application server organizes the records and generates content which is sent to the
client; and, 5) the client parses the content and displays a form with appropriate information in each field.
CA is the most applicable model for the following reasons: (1) there is no corresponding standard application;
(2) there are more than two tiers; and, (3) on each of its tiers, the application consists of a series of blocking
(i.e., serial) requests, followed by responses.
5.
General Data Traffic from a LAN: A number of users on a LAN segment generate a variety of data traffic,
i.e., they transfer documents and images to and from one or more servers. The rate and size of these documents
can be measured using a protocol analyzer. A recommended approach to doing this is to use the analyzer to
monitor the behavior of typical users over a sufficient period of time. Relative to capturing all of the users
traffic, this method reduces the volume of data to analyze.
Since the application model is being used to represent the traffic of an entire LAN, the various documents
and/or images are transferred independently. These can occur at any time, and without blocking for each others
completion. The Custom Application corresponds well to this behavior. Furthermore, the Custom Application
can be scaled easily to represent many similar users, all users adhering to the same profile while acting
independently.
Confidential--not for release without the written authorization of OPNET Technologies, Inc.
Page 6
7/16/01
Place a new Application Definition Object in your project by dragging it from the Utilities object palette
into the workspace. Right click on the object and select Edit Attributes from the pop-up menu. Edit the
value of the Application Definitions attribute.
In the Applications Definitions Table, add a new row by changing the Rows value to 1. Give the application
you will create a descriptive name such as Engineers Email.
To describe the behavior of the application definition you just created, double-click in the Description field.
For standard applications such as E-mail, you can select any of the pre-configured settings such as Low
Load, Medium Load or High Load. If the pre-configured settings suit your modeling purpose, you are
done with this step. However, if you want to edit any of these pre-configured settings, you should first
select it and then click on the field again to edit its value.
Confidential--not for release without the written authorization of OPNET Technologies, Inc.
Page 7
7/16/01
If the standard applications are not suitable and you want to customize your application, you should use the
Custom Application model. This model requires that the applications tasks have been defined in a separate
object, the Task Definition Object. Therefore, create a Task Definition Object using the Utilities object
palette and configure the task definition. Since task definition is a detailed process, please refer to the paper
entitled The Custom Application Model to understand task architecture and configuration.
Once you complete the task definition, you can come back to the application definition and select the list of
tasks for your custom application specification.
Confidential--not for release without the written authorization of OPNET Technologies, Inc.
Page 8
7/16/01
Confidential--not for release without the written authorization of OPNET Technologies, Inc.
Page 9
7/16/01
Add a profile Definition Object to the project workspace from the Utilities object palette. Right click and
select Edit Attributes. Edit the value of the Profile Configuration attribute.
2.
Enter a Profile Name. You can use any name for the profile; typically, you may want to base the name on
workgroups such as Engineer or Sales Person if your objective is to represent different user types
based on divisions within your organization. However, a profile can be constructed to represent not only
traffic generated by an individual, but also aggregate traffic on a LAN or even just one application. Choose
a name that appropriately reflects what you are trying to model.
For each profile, you can configure the applications it supports by using the start time, duration, operation
mode and repeatability attributes. The operation mode refers to the order in which applications within the
profile are executed. Serial (Ordered) implies that applications are executed one after another in the order
specified in the table. Serial (Random) implies that the applications are executed serially but the order of
execution is random. Simultaneous implies that applications are executed at the same time.
Confidential--not for release without the written authorization of OPNET Technologies, Inc.
Page 10
7/16/01
Edit the value of the Applications attribute. Add as many rows to the Applications Table as the number of
applications you want to support in this profile. In each row, you will have to specify the application name,
its start time offset (relative to the profile start time), duration and repeatability.
The application name fields pull down menu lists applications that have been defined in the Application
Definition object. This object was configured in step 1. If you did not execute step 1, there will be no
application definitions listed in the Name field pull-down menu.
The Start Time Offset is the time between the profiles start time and the applications start time. To have
the application start at the same time as the profile, set the start time offset to 0. The Duration attribute
specifies the applications duration in seconds. If you set the duration to the End of Profile, the
application will end at the same time that the profile ends. The Repeatability attribute specifies the number
of application sessions for this application within the profile.
Note: If you have specified the Operation Mode for the applications as Serial (Ordered) or Serial
(Random) and you have multiple applications in the application table, you should not set the Duration for
any application to End of Profile. This will cause only one application to execute until the end of the
profile. Since the second application cannot begin until the first one completes, the second application will
never be executed.
Edit the Application: Supported Profiles attribute on the object that will execute this profile.
2.
Add the desired number of rows and select the profiles you wish to support. Note that if you have not
executed steps 1 and 2 as described earlier, there will be no profiles available for selection. In this case,
OPNET will automatically place a default application and profile definition object and give you a list of
default profiles that are available.
Confidential--not for release without the written authorization of OPNET Technologies, Inc.
Page 11
7/16/01
2.
Add as many rows as the number of applications you want to support. Edit the Name field. This will
automatically pop-up the list of applications you have configured on the global Application Definition
Object. Select the application of interest and edit the Description field to indicate that the application is
Supported.
Confidential--not for release without the written authorization of OPNET Technologies, Inc.
Page 12
7/16/01
Assign a unique name for the server or client by editing its Server Address attribute. [Note: This step is
necessary only if you want the application to select a specific server. If the application can select any
server, you can leave this address as Auto-assigned.]
Confidential--not for release without the written authorization of OPNET Technologies, Inc.
Page 13
7/16/01
Edit the Application: Destination Preferences attribute on the object that is executing the profile. Add the
required symbolic names to the table. The choices available from the Symbolic Name pull down menu
correspond to the symbolic names specified in the global Application Definition Object. Assign actual
names for each symbolic name. Note that you can have more than one actual name for a symbolic name.
The Name field in the actual name table will automatically pop-up the list of where the Server Address has
been explicitly specified. If the Server Address attribute has not been changed from its default value of
Auto-Assigned (i.e. you have not executed step a), this server will not show up in the list.
Specifying the destination preferences for the custom application is slightly more involved. When setting
up the CA in the Task Definition Object, names were specified for the Source and Destination of each
phase. Since phases are defined in a global object, these names did not refer to specific objects of a
particular project. For the custom application to function correctly, you need to associate the names used in
the custom application with specific objects in your project. Consider the following task configuration from
a custom application. An illustration of the configuration shown appears on the next page.
Confidential--not for release without the written authorization of OPNET Technologies, Inc.
Page 14
7/16/01
On each object, you have to list its immediate destination. Hence you have to identify the Proxy_Server and
the destination for the Wkstn object, the Main_Server as the destination for the Proxy_Server and so on.
The steps for the latter case are illustrated below:
1.
2.
In the Symbolic Name column of the Application: Destination Preferences row, list the symbolic
destinations.
3.
In the Actual Name Table, specify the name of the node that you want the Symbolic Name to refer to.
For our example, we want the symbolic name Main Server to refer to the object called Main_Server.
Confidential--not for release without the written authorization of OPNET Technologies, Inc.
Page 15
7/16/01
Confidential--not for release without the written authorization of OPNET Technologies, Inc.
Page 16
7/16/01
It is illegal to reproduce any part of this document in any form without the written consent of
OPNET Technologies, Inc.
Confidential--not for release without the written authorization of OPNET Technologies, Inc.
Page 17
7/16/01