Sherlock
will be based on the client/server model.
The client may be any entity with read/search access permissions, or a
administrator with add, delete, and modify access permissions. The server will handle requests and store
and retrieve information via an LDAP interface.
System Model Diagram
(IO=”Input/Output” and DP=”Data Processing”):
Our
system model obviously follows the “thin client” paradigm. The client is to be kept as “dumb” as
possible, for several reasons. First,
this will vastly simplify security management.
We feel that any non-necessary functionality in the client simply
invites hacking. Also, it will
effectively allow anyone with a web browser to have immediate access to
Sherlock.
We have attempted to capture Sherlock’s functionality and formulate it in terms of use case modeling. Our use case diagram consists of two actors and six use cases. The actors are “Information Browser” and “Administrator,” and the use cases are “Search,” “Navigate,” “Notify,” “Modify Data,” “Modify Access,” and “Modify View.”
Use Case Diagram:
The
Information Browser actor plays the role of any user who is simply searching
for information about some object in the system, such as a person or conference
room. The Administrator actor plays the
role of anyone who modifies personal or otherwise sensitive information,
display format of information, or access permissions to information.
3.1 Search
The
initial function most users will employ is the search option. This option will allow the user to locate
specific information about various types of objects. Examples include people, printers, offices, conference rooms,
jacks, ports, and computers. After the
user specifies what type of object he is looking for, a set of search criteria
will be presented to him. This set of
criteria will be modifiable by each user according to personal preference. The user will also be able to specify what
information about the matching objects will be displayed in the results. This might be useful if a person is only
interested in a certain piece of information that could easily be viewed from
the results screen, like birth date.
The information he chooses to be displayed on the results page, as well
as his search criteria, will be stored as his preference, and the next time he
searches for an object of this type, his saved settings will be used. After the user determines the criteria by
which to search, he will fill in the form with the information he knows, and
click search. Within ten seconds, the
user will be presented with a screen of results showing all objects that meet
the search criteria. Each object listed
will refer to a page showing relevant information about that object. The map location of the object will link to
the map navigation view where the user will be able to view the physical
location of the object. This leads the
user to the next use case: the
navigation interface to Sherlock.
3.2 Navigate
If
the user elects to enter into the map navigation function of Sherlock directly,
he will initially be asked to choose which of the Tellabs campuses he wants to
view. Mouse-over data should be
supported for the campuses themselves.
When the user selects a campus, he will be presented with all the
buildings at that campus. Once a
building is selected, the user will get to a building/floor view and be able to
choose a floor. Further zooming will be
allowed, and the user will be able to browse the map as desired. All devices in the area will support
mouse-over data, and if the user clicks on an object, the object’s information
screen will appear with detailed information.
This will show the same screen as that which would be shown if the user
had found the object using the search use case. He will be able to choose any devices to appear on the map. This might be useful when looking for
relatively small objects that could be covered by others.
3.3 Notify
The
final functionality available to the user is the ability to send
notifications. This functionality is
fairly simple from the user’s standpoint.
He simply clicks on someone's email address and an email form will
appear for him to write a message.
Users will also be able to directly reserve a conference room. Likewise, clicking on a pager number will
allow the user to send a page. If the
pager being accessed is alpha-numeric, the user should be presented with a form
similar to the email form to type a message to be sent.
Due
to the need for remote administration and security, the server will run in a
Solaris or Linux environment. The
client will be an SSL-capable web browser, and may be Java-enabled.
The
choice of implementation language for the server will be limited to those which
have wide commercial support and do not have a negative effect on the
performance of the system-- probably C or C++.
The source code for the project will be delivered to Tellabs at the
conclusion of the project and this source code must be modifiable.
Sherlock
will be able to handle multiple, simultaneous client queries. These queries will be processed in under ten
(10) seconds, given a moderate server and network load. Sherlock will also be able to update
quickly, under a moderate load, from its parent LDAP server, allowing scheduled
update events between the two.
For
the directory service, open protocols will be used for client/server communication. The directory solution will be robust and
secure, and will support replication and distribution. Tools will be provided
for data management.
CD-ROM Compact
Disk-Read Only Memory
DSM Data
Store Module
EIM External
Interface Module
LDAP Lightweight
Directory Access Protocol