diff --git a/README.editNotes b/README.editNotes new file mode 100644 index 0000000..4e9158b --- /dev/null +++ b/README.editNotes @@ -0,0 +1,11 @@ +Paul, + +I put back the read/write transfer CDFs. I meant to get rid of the curve fitting for those CDFs, not the graph themselves. I added some text for those graphs as well. I removed the discussion section and moved the text to the relevant subsection in the data analysis. + +I don’t think there is anything major in terms of data collection that you need to do. I put some XXX’s in the text where I had questions. I’m still uneasy about the fact that there is no IATs for reads and writes. + +I won’t be in the office on Monday and Tuesday, so we’ll have to still communicate by email when you get back. I’ll be back Tuesday evening. + +Have a safe flight back. + +John. diff --git a/acmcopyright.sty b/acmcopyright.sty new file mode 100644 index 0000000..e8de127 --- /dev/null +++ b/acmcopyright.sty @@ -0,0 +1,221 @@ +%% +%% This is file `acmcopyright.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% acmcopyright.dtx (with options: `style') +%% +%% IMPORTANT NOTICE: +%% +%% For the copyright see the source file. +%% +%% Any modified versions of this file must be renamed +%% with new filenames distinct from acmcopyright.sty. +%% +%% For distribution of the original source see the terms +%% for copying and modification in the file acmcopyright.dtx. +%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{acmcopyright} +[2014/06/29 v1.2 Copyright statemens for ACM classes] +\newif\if@printcopyright +\@printcopyrighttrue +\newif\if@printpermission +\@printpermissiontrue +\newif\if@acmowned +\@acmownedtrue +\RequirePackage{xkeyval} +\define@choicekey*{ACM@}{acmcopyrightmode}[% + \acm@copyrightinput\acm@copyrightmode]{none,acmcopyright,acmlicensed,% + rightsretained,usgov,usgovmixed,cagov,cagovmixed,% + licensedusgovmixed,licensedcagovmixed,othergov,licensedothergov}{% + \@printpermissiontrue + \@printcopyrighttrue + \@acmownedtrue + \ifnum\acm@copyrightmode=0\relax % none + \@printpermissionfalse + \@printcopyrightfalse + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=2\relax % acmlicensed + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=3\relax % rightsretained + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=4\relax % usgov + \@printpermissiontrue + \@printcopyrightfalse + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=6\relax % cagov + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=8\relax % licensedusgovmixed + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=9\relax % licensedcagovmixed + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=10\relax % othergov + \@acmownedtrue + \fi + \ifnum\acm@copyrightmode=11\relax % licensedothergov + \@acmownedfalse + \@printcopyrightfalse + \fi} +\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}} +\setcopyright{acmcopyright} +\def\@copyrightowner{% + \ifcase\acm@copyrightmode\relax % none + \or % acmcopyright + ACM. + \or % acmlicensed + Copyright held by the owner/author(s). Publication rights licensed to + ACM. + \or % rightsretained + Copyright held by the owner/author(s). + \or % usgov + \or % usgovmixed + ACM. + \or % cagov + Crown in Right of Canada. + \or %cagovmixed + ACM. + \or %licensedusgovmixed + Copyright held by the owner/author(s). Publication rights licensed to + ACM. + \or %licensedcagovmixed + Copyright held by the owner/author(s). Publication rights licensed to + ACM. + \or % othergov + ACM. + \or % licensedothergov + \fi} +\def\@copyrightpermission{% + \ifcase\acm@copyrightmode\relax % none + \or % acmcopyright + Permission to make digital or hard copies of all or part of this + work for personal or classroom use is granted without fee provided + that copies are not made or distributed for profit or commercial + advantage and that copies bear this notice and the full citation on + the first page. Copyrights for components of this work owned by + others than ACM must be honored. Abstracting with credit is + permitted. To copy otherwise, or republish, to post on servers or to + redistribute to lists, requires prior specific permission + and\hspace*{.5pt}/or a fee. Request permissions from + permissions@acm.org. + \or % acmlicensed + Permission to make digital or hard copies of all or part of this + work for personal or classroom use is granted without fee provided + that copies are not made or distributed for profit or commercial + advantage and that copies bear this notice and the full citation on + the first page. Copyrights for components of this work owned by + others than the author(s) must be honored. Abstracting with credit + is permitted. To copy otherwise, or republish, to post on servers + or to redistribute to lists, requires prior specific permission + and\hspace*{.5pt}/or a fee. Request permissions from + permissions@acm.org. + \or % rightsretained + Permission to make digital or hard copies of part or all of this work + for personal or classroom use is granted without fee provided that + copies are not made or distributed for profit or commercial advantage + and that copies bear this notice and the full citation on the first + page. Copyrights for third-party components of this work must be + honored. For all other uses, contact the + owner\hspace*{.5pt}/author(s). + \or % usgov + This paper is authored by an employee(s) of the United States + Government and is in the public domain. Non-exclusive copying or + redistribution is allowed, provided that the article citation is + given and the authors and agency are clearly identified as its + source. + \or % usgovmixed + ACM acknowledges that this contribution was authored or co-authored + by an employee, or contractor of the national government. As such, + the Government retains a nonexclusive, royalty-free right to + publish or reproduce this article, or to allow others to do so, for + Government purposes only. Permission to make digital or hard copies + for personal or classroom use is granted. Copies must bear this + notice and the full citation on the first page. Copyrights for + components of this work owned by others than ACM must be + honored. To copy otherwise, distribute, republish, or post, + requires prior specific permission and\hspace*{.5pt}/or a + fee. Request permissions from permissions@acm.org. + \or % cagov + This article was authored by employees of the Government of Canada. + As such, the Canadian government retains all interest in the + copyright to this work and grants to ACM a nonexclusive, + royalty-free right to publish or reproduce this article, or to allow + others to do so, provided that clear attribution is given both to + the authors and the Canadian government agency employing them. + Permission to make digital or hard copies for personal or classroom + use is granted. Copies must bear this notice and the full citation + on the first page. Copyrights for components of this work owned by + others than the Canadain Government must be honored. To copy + otherwise, distribute, republish, or post, requires prior specific + permission and\hspace*{.5pt}/or a fee. Request permissions from + permissions@acm.org. + \or % cagovmixed + ACM acknowledges that this contribution was co-authored by an + affiliate of the national government of Canada. As such, the Crown + in Right of Canada retains an equal interest in the copyright. + Reprints must include clear attribution to ACM and the author's + government agency affiliation. Permission to make digital or hard + copies for personal or classroom use is granted. Copies must bear + this notice and the full citation on the first page. Copyrights for + components of this work owned by others than ACM must be honored. + To copy otherwise, distribute, republish, or post, requires prior + specific permission and\hspace*{.5pt}/or a fee. Request permissions + from permissions@acm.org. + \or % licensedusgovmixed + Publication rights licensed to ACM. ACM acknowledges that this + contribution was authored or co-authored by an employee, contractor + or affiliate of the United States government. As such, the + Government retains a nonexclusive, royalty-free right to publish or + reproduce this article, or to allow others to do so, for Government + purposes only. + \or % licensedcagovmixed + Publication rights licensed to ACM. ACM acknowledges that this + contribution was authored or co-authored by an employee, contractor + or affiliate of the national government of Canada. As such, the + Government retains a nonexclusive, royalty-free right to publish or + reproduce this article, or to allow others to do so, for Government + purposes only. + \or % othergov + ACM acknowledges that this contribution was authored or co-authored + by an employee, contractor or affiliate of a national government. As + such, the Government retains a nonexclusive, royalty-free right to + publish or reproduce this article, or to allow others to do so, for + Government purposes only. + \or % licensedothergov + Publication rights licensed to ACM. ACM acknowledges that this + contribution was authored or co-authored by an employee, contractor + or affiliate of a national government. As such, the Government + retains a nonexclusive, royalty-free right to publish or reproduce + this article, or to allow others to do so, for Government purposes + only. + \fi} +\endinput +%% +%% End of file `acmcopyright.sty'. diff --git a/images/AIO.pdf b/images/AIO.pdf new file mode 100644 index 0000000..f4951d3 Binary files /dev/null and b/images/AIO.pdf differ diff --git a/images/CDF-cRT-win.pdf b/images/CDF-cRT-win.pdf new file mode 100644 index 0000000..6491ac9 Binary files /dev/null and b/images/CDF-cRT-win.pdf differ diff --git a/images/CDF-gIAT-win.pdf b/images/CDF-gIAT-win.pdf new file mode 100644 index 0000000..15d7b79 Binary files /dev/null and b/images/CDF-gIAT-win.pdf differ diff --git a/images/CDF-gRT-win.pdf b/images/CDF-gRT-win.pdf new file mode 100644 index 0000000..a130b1e Binary files /dev/null and b/images/CDF-gRT-win.pdf differ diff --git a/images/CDF-ioBuff-win.pdf b/images/CDF-ioBuff-win.pdf new file mode 100644 index 0000000..85fc6f5 Binary files /dev/null and b/images/CDF-ioBuff-win.pdf differ diff --git a/images/CDF-ioRT-win.pdf b/images/CDF-ioRT-win.pdf new file mode 100644 index 0000000..67111f4 Binary files /dev/null and b/images/CDF-ioRT-win.pdf differ diff --git a/images/CDF-rBuff-win.pdf b/images/CDF-rBuff-win.pdf new file mode 100644 index 0000000..0ea2a17 Binary files /dev/null and b/images/CDF-rBuff-win.pdf differ diff --git a/images/CDF-rRT-win.pdf b/images/CDF-rRT-win.pdf new file mode 100644 index 0000000..5375a36 Binary files /dev/null and b/images/CDF-rRT-win.pdf differ diff --git a/images/CDF-wBuff-win.pdf b/images/CDF-wBuff-win.pdf new file mode 100644 index 0000000..ab550ab Binary files /dev/null and b/images/CDF-wBuff-win.pdf differ diff --git a/images/CDF-wRT-win.pdf b/images/CDF-wRT-win.pdf new file mode 100644 index 0000000..3babb42 Binary files /dev/null and b/images/CDF-wRT-win.pdf differ diff --git a/images/RWIO-win.pdf b/images/RWIO-win.pdf new file mode 100644 index 0000000..8b50f49 Binary files /dev/null and b/images/RWIO-win.pdf differ diff --git a/images/aggAIO.pdf b/images/aggAIO.pdf new file mode 100644 index 0000000..4fb9d96 Binary files /dev/null and b/images/aggAIO.pdf differ diff --git a/images/aggAvgBytes.pdf b/images/aggAvgBytes.pdf new file mode 100644 index 0000000..05dd1c5 Binary files /dev/null and b/images/aggAvgBytes.pdf differ diff --git a/images/aggAvgIATs-windowed.pdf b/images/aggAvgIATs-windowed.pdf new file mode 100644 index 0000000..2bf5858 Binary files /dev/null and b/images/aggAvgIATs-windowed.pdf differ diff --git a/images/aggAvgRTs-windowed.pdf b/images/aggAvgRTs-windowed.pdf new file mode 100644 index 0000000..8e6e4ca Binary files /dev/null and b/images/aggAvgRTs-windowed.pdf differ diff --git a/images/aggAvgRTs.pdf b/images/aggAvgRTs.pdf new file mode 100644 index 0000000..9f584c4 Binary files /dev/null and b/images/aggAvgRTs.pdf differ diff --git a/images/aggCDF-cRT-win.pdf b/images/aggCDF-cRT-win.pdf new file mode 100644 index 0000000..838b740 Binary files /dev/null and b/images/aggCDF-cRT-win.pdf differ diff --git a/images/aggCDF-gIAT-win.pdf b/images/aggCDF-gIAT-win.pdf new file mode 100644 index 0000000..49c8c7c Binary files /dev/null and b/images/aggCDF-gIAT-win.pdf differ diff --git a/images/aggCDF-gRT-win.pdf b/images/aggCDF-gRT-win.pdf new file mode 100644 index 0000000..cca2b43 Binary files /dev/null and b/images/aggCDF-gRT-win.pdf differ diff --git a/images/aggCDF-rRT-win.pdf b/images/aggCDF-rRT-win.pdf new file mode 100644 index 0000000..0e7cef3 Binary files /dev/null and b/images/aggCDF-rRT-win.pdf differ diff --git a/images/aggCDF-wRT-win.pdf b/images/aggCDF-wRT-win.pdf new file mode 100644 index 0000000..3e7e9ff Binary files /dev/null and b/images/aggCDF-wRT-win.pdf differ diff --git a/images/aggCompare.pdf b/images/aggCompare.pdf new file mode 100644 index 0000000..e3aa1f6 Binary files /dev/null and b/images/aggCompare.pdf differ diff --git a/images/bytesCompare.pdf b/images/bytesCompare.pdf new file mode 100644 index 0000000..00ea6ee Binary files /dev/null and b/images/bytesCompare.pdf differ diff --git a/images/packetcapturetopology.png b/images/packetcapturetopology.png new file mode 100644 index 0000000..b09e69b Binary files /dev/null and b/images/packetcapturetopology.png differ diff --git a/images/smbPacket.jpg b/images/smbPacket.jpg new file mode 100644 index 0000000..410d965 Binary files /dev/null and b/images/smbPacket.jpg differ diff --git a/images/smb_create_iats_cdf.pdf b/images/smb_create_iats_cdf.pdf new file mode 100644 index 0000000..9803a9c Binary files /dev/null and b/images/smb_create_iats_cdf.pdf differ diff --git a/images/smb_create_iats_pdf.pdf b/images/smb_create_iats_pdf.pdf new file mode 100644 index 0000000..bc2e3d6 Binary files /dev/null and b/images/smb_create_iats_pdf.pdf differ diff --git a/images/smb_create_rts_cdf.pdf b/images/smb_create_rts_cdf.pdf new file mode 100644 index 0000000..262d9f5 Binary files /dev/null and b/images/smb_create_rts_cdf.pdf differ diff --git a/images/smb_create_rts_pdf.pdf b/images/smb_create_rts_pdf.pdf new file mode 100644 index 0000000..028b0f5 Binary files /dev/null and b/images/smb_create_rts_pdf.pdf differ diff --git a/images/smb_general_iats_cdf.pdf b/images/smb_general_iats_cdf.pdf new file mode 100644 index 0000000..9af911a Binary files /dev/null and b/images/smb_general_iats_cdf.pdf differ diff --git a/images/smb_general_iats_pdf.pdf b/images/smb_general_iats_pdf.pdf new file mode 100644 index 0000000..263a08c Binary files /dev/null and b/images/smb_general_iats_pdf.pdf differ diff --git a/images/smb_general_rts_cdf.pdf b/images/smb_general_rts_cdf.pdf new file mode 100644 index 0000000..0164633 Binary files /dev/null and b/images/smb_general_rts_cdf.pdf differ diff --git a/images/smb_general_rts_pdf.pdf b/images/smb_general_rts_pdf.pdf new file mode 100644 index 0000000..512e475 Binary files /dev/null and b/images/smb_general_rts_pdf.pdf differ diff --git a/images/smb_read_bytes_cdf.pdf b/images/smb_read_bytes_cdf.pdf new file mode 100644 index 0000000..5faafea Binary files /dev/null and b/images/smb_read_bytes_cdf.pdf differ diff --git a/images/smb_read_iats_cdf.pdf b/images/smb_read_iats_cdf.pdf new file mode 100644 index 0000000..dd2f88e Binary files /dev/null and b/images/smb_read_iats_cdf.pdf differ diff --git a/images/smb_read_iats_pdf.pdf b/images/smb_read_iats_pdf.pdf new file mode 100644 index 0000000..e755b61 Binary files /dev/null and b/images/smb_read_iats_pdf.pdf differ diff --git a/images/smb_read_rts_cdf.pdf b/images/smb_read_rts_cdf.pdf new file mode 100644 index 0000000..0e0c164 Binary files /dev/null and b/images/smb_read_rts_cdf.pdf differ diff --git a/images/smb_read_rts_pdf.pdf b/images/smb_read_rts_pdf.pdf new file mode 100644 index 0000000..2259513 Binary files /dev/null and b/images/smb_read_rts_pdf.pdf differ diff --git a/images/smb_write_bytes_cdf.pdf b/images/smb_write_bytes_cdf.pdf new file mode 100644 index 0000000..fc1b03b Binary files /dev/null and b/images/smb_write_bytes_cdf.pdf differ diff --git a/images/smb_write_iats_cdf.pdf b/images/smb_write_iats_cdf.pdf new file mode 100644 index 0000000..83605eb Binary files /dev/null and b/images/smb_write_iats_cdf.pdf differ diff --git a/images/smb_write_iats_pdf.pdf b/images/smb_write_iats_pdf.pdf new file mode 100644 index 0000000..a7e730c Binary files /dev/null and b/images/smb_write_iats_pdf.pdf differ diff --git a/images/smb_write_rts_cdf.pdf b/images/smb_write_rts_cdf.pdf new file mode 100644 index 0000000..600016f Binary files /dev/null and b/images/smb_write_rts_cdf.pdf differ diff --git a/images/smb_write_rts_pdf.pdf b/images/smb_write_rts_pdf.pdf new file mode 100644 index 0000000..ea387eb Binary files /dev/null and b/images/smb_write_rts_pdf.pdf differ diff --git a/sig-alternate-05-2015.cls b/sig-alternate-05-2015.cls new file mode 100644 index 0000000..b922ec2 --- /dev/null +++ b/sig-alternate-05-2015.cls @@ -0,0 +1,1893 @@ +% SIG-ALTERNATE.CLS - VERSION 2.8 +% "COMPATIBLE" WITH THE "ACM_PROC_ARTICLE-SP.CLS" V3.2SP +% Gerald Murray - May 23rd 2012 +% Boris Veytsman - April 23 2013 +% Boris Veytsman - May 12 2013 +% Boris Veytsman - June 09 2013 +% Boris Veytsman - August 12 2013 +% +% ---- Start of 'updates' ---- +% Added new permission/copyright statement - BV +% Changed $10 fee to $15 -- May 2012 -- Gerry +% Changed $5 fee to $10 -- April 2009 -- Gerry +% April 22nd. 2009 - Fixed 'Natbib' incompatibility problem - Gerry +% April 22nd. 2009 - Fixed 'Babel' incompatibility problem - Gerry +% April 22nd. 2009 - Inserted various bug-fixes and improvements - Gerry +% +% To produce Type 1 fonts in the document plus allow for 'normal LaTeX accenting' in the critical areas; +% title, author block, section-heads, confname, etc. etc. +% i.e. the whole purpose of this version update is to NOT resort to 'inelegant accent patches'. +% After much research, three extra .sty packages were added to the the tail (ae, aecompl, aeguill) to solve, +% in particular, the accenting problem(s). We _could_ ask authors (via instructions/sample file) to 'include' these in +% the source .tex file - in the preamble - but if everything is already provided ('behind the scenes' - embedded IN the .cls) +% then this is less work for authors and also makes everything appear 'vanilla'. +% NOTE: all 'patchwork accenting" has been commented out (here) and is no longer 'used' in the sample .tex file (either). +% Gerry June 2007 +% +% Patch for accenting in conference name/location. Gerry May 3rd. 2007 +% Rule widths changed to .5, author count (>6) fixed, roll-back for Type 3 problem. Gerry March 20th. 2007 +% Changes made to 'modernize' the fontnames but esp. for MikTeX users V2.4/2.5 - Nov. 30th. 2006 +% Updated the \email definition to allow for its use inside of 'shared affiliations' - Nov. 30th. 2006 +% Fixed the 'section number depth value' - Nov. 30th. 2006 +% +% Footnotes inside table cells using \minipage (Oct. 2002) +% Georgia fixed bug in sub-sub-section numbering in paragraphs (July 29th. 2002) +% JS/GM fix to vertical spacing before Proofs (July 30th. 2002) +% +% Made the Permission Statement / Conference Info / Copyright Info +% 'user definable' in the source .tex file OR automatic if +% not specified. +% +% Allowance made to switch default fonts between those systems using +% normal/modern font names and those using 'Type 1' or 'Truetype' fonts. +% See LINE NUMBER 255 for details. +% Also provided for enumerated/annotated Corollaries 'surrounded' by +% enumerated Theorems (line 848). +% Gerry November 11th. 1999 +% +% ---- End of 'updates' ---- +% +\def\fileversion{v2.9} % for ACM's tracking purposes +\def\filedate{August 12, 2013} % Gerry Murray's tracking data +\def\docdate {\filedate} +\usepackage{epsfig} +\usepackage{amssymb} +\usepackage{amsmath} +\usepackage{amsfonts} +% Need this for accents in Arial/Helvetica +%\usepackage[T1]{fontenc} % Gerry March 12, 2007 - causes Type 3 problems (body text) +%\usepackage{textcomp} +% +% SIG-ALTERNATE DOCUMENT STYLE +% G.K.M. Tobin August-October 1999 +% adapted from ARTICLE document style by Ken Traub, Olin Shivers +% also using elements of esub2acm.cls +% HEAVILY MODIFIED, SUBSEQUENTLY, BY GERRY MURRAY 2000 +% ARTICLE DOCUMENT STYLE -- Released 16 March 1988 +% for LaTeX version 2.09 +% Copyright (C) 1988 by Leslie Lamport +% +% +%%% sig-alternate.cls is an 'ALTERNATE' document style for producing +%%% two-column camera-ready pages for ACM conferences. +%%% THIS FILE DOES NOT STRICTLY ADHERE TO THE SIGS (BOARD-ENDORSED) +%%% PROCEEDINGS STYLE. It has been designed to produce a 'tighter' +%%% paper in response to concerns over page budgets. +%%% The main features of this style are: +%%% +%%% 1) Two columns. +%%% 2) Side and top margins of 4.5pc, bottom margin of 6pc, column gutter of +%%% 2pc, hence columns are 20pc wide and 55.5pc tall. (6pc =3D 1in, approx) +%%% 3) First page has title information, and an extra 6pc of space at the +%%% bottom of the first column for the ACM copyright notice. +%%% 4) Text is 9pt on 10pt baselines; titles (except main) are 9pt bold. +%%% +%%% +%%% There are a few restrictions you must observe: +%%% +%%% 1) You cannot change the font size; ACM wants you to use 9pt. +%%% 3) You must start your paper with the \maketitle command. Prior to the +%%% \maketitle you must have \title and \author commands. If you have a +%%% \date command it will be ignored; no date appears on the paper, since +%%% the proceedings will have a date on the front cover. +%%% 4) Marginal paragraphs, tables of contents, lists of figures and tables, +%%% and page headings are all forbidden. +%%% 5) The `figure' environment will produce a figure one column wide; if you +%%% want one that is two columns wide, use `figure*'. +%%% +% +%%% Copyright Space: +%%% This style automatically reserves 1" blank space at the bottom of page 1/ +%%% column 1. This space can optionally be filled with some text using the +%%% \toappear{...} command. If used, this command must be BEFORE the \maketitle +%%% command. If this command is defined AND [preprint] is on, then the +%%% space is filled with the {...} text (at the bottom); otherwise, it is +%%% blank. If you use \toappearbox{...} instead of \toappear{...} then a +%%% box will be drawn around the text (if [preprint] is on). +%%% +%%% A typical usage looks like this: +%%% \toappear{To appear in the Ninth AES Conference on Medievil Lithuanian +%%% Embalming Technique, June 1991, Alfaretta, Georgia.} +%%% This will be included in the preprint, and left out of the conference +%%% version. +%%% +%%% WARNING: +%%% Some dvi-ps converters heuristically allow chars to drift from their +%%% true positions a few pixels. This may be noticeable with the 9pt sans-serif +%%% bold font used for section headers. +%%% You may turn this hackery off via the -e option: +%%% dvips -e 0 foo.dvi >foo.ps +%%% +\typeout{Document Class 'sig-alternate' <9th June '13>. Modified by + G.K.M. Tobin/Gerry Murray/Boris Veytsman} +\typeout{Based in part upon document Style `acmconf' <22 May 89>. Hacked 4/91 by} +\typeout{shivers@cs.cmu.edu, 4/93 by theobald@cs.mcgill.ca} +\typeout{Excerpts were taken from (Journal Style) 'esub2acm.cls'.} +\typeout{****** Bugs/comments/suggestions/technicalities to Gerry Murray -- murray@hq.acm.org ******} +\typeout{Questions on the style, SIGS policies, etc. to Adrienne Griscti griscti@acm.org} + +% New option code by BV + +\newcount\ACM@basesize +\ACM@basesize=9\relax +\DeclareOption{9pt}{\ACM@basesize=9\relax} +\DeclareOption{10pt}{\ACM@basesize=10\relax} +\DeclareOption{11pt}{\ClassError{sig-alternate}{The `11pt' option is + not allowed}{sig-alternate now exists in 9pt and 10pt versions only}} +\DeclareOption{12pt}{\ClassError{sig-alternate}{The `12pt' option is + not allowed}{sig-alternate now exists in 9pt and 10pt versions only}} + +\ExecuteOptions{9pt} +\ProcessOptions + + +\let\@concepts\@empty +% Support for CCSXML file +\RequirePackage{comment} +\excludecomment{CCSXML} + +% New concepts scheme +% +% The first argument is the significance, the +% second is the concept(s) +% +\newcommand\ccsdesc[2][100]{% + \ccsdesc@parse#1~#2~} +% +% The parser of the expression Significance~General~Specific +% +\def\ccsdesc@parse#1~#2~#3~{% + \expandafter\ifx\csname CCS@#2\endcsname\relax + \expandafter\gdef\csname CCS@#2\endcsname{\textbullet\textbf{#2} $\to$ }% + \g@addto@macro{\@concepts}{\csname CCS@#2\endcsname}\fi + \expandafter\g@addto@macro\expandafter{\csname CCS@#2\endcsname}{% + \ifnum#1>499\textbf{#3; }\else + \ifnum#1>299\textit{#3; }\else + #3; \fi\fi}} + +\newcommand\printccsdesc{% + \ifx\@concepts\@empty\else + \if@twocolumn + \section*{CCS Concepts} + \@concepts + \else \small + \quotation{\@concepts}% + \fi + \fi} + + + + +\def\doi#1{\def\@doi{#1}} +\doi{http://dx.doi.org/10.1145/0000000.0000000} + +\oddsidemargin 4.5pc +\evensidemargin 4.5pc +\advance\oddsidemargin by -1in % Correct for LaTeX gratuitousness +\advance\evensidemargin by -1in % Correct for LaTeX gratuitousness +\marginparwidth 0pt % Margin pars are not allowed. +\marginparsep 11pt % Horizontal space between outer margin and + % marginal note + + % Top of page: +\topmargin 4.5pc % Nominal distance from top of page to top of + % box containing running head. +\advance\topmargin by -1in % Correct for LaTeX gratuitousness +\headheight 0pt % Height of box containing running head. +\headsep 0pt % Space between running head and text. + % Bottom of page: +\footskip 30pt % Distance from baseline of box containing foot + % to baseline of last line of text. +\@ifundefined{footheight}{\newdimen\footheight}{}% this is for LaTeX2e +\footheight 12pt % Height of box containing running foot. + +%% Must redefine the top margin so there's room for headers and +%% page numbers if you are using the preprint option. Footers +%% are OK as is. Olin. +\advance\topmargin by -37pt % Leave 37pt above text for headers +\headheight 12pt % Height of box containing running head. +\headsep 25pt % Space between running head and text. + +\textheight 666pt % 9 1/4 column height +\textwidth 42pc % Width of text line. + % For two-column mode: +\columnsep 2pc % Space between columns +\columnseprule 0pt % Width of rule between columns. +\hfuzz 1pt % Allow some variation in column width, otherwise it's + % too hard to typeset in narrow columns. + +\ifnum\ACM@basesize=9\relax +\footnotesep 5.6pt % Height of strut placed at the beginning of every + % footnote =3D height of normal \footnotesize strut, + % so no extra space between footnotes. +\fi +\ifnum\ACM@basesize=10\relax +\footnotesep 6.22pt % Height of strut placed at the beginning of every + % footnote =3D height of normal \footnotesize strut, + % so no extra space between footnotes. +\fi + +\skip\footins 8.1pt plus 4pt minus 2pt % Space between last line of text and + % top of first footnote. +\floatsep 11pt plus 2pt minus 2pt % Space between adjacent floats moved + % to top or bottom of text page. +\textfloatsep 18pt plus 2pt minus 4pt % Space between main text and floats + % at top or bottom of page. +\intextsep 11pt plus 2pt minus 2pt % Space between in-text figures and + % text. +\@ifundefined{@maxsep}{\newdimen\@maxsep}{}% this is for LaTeX2e +\@maxsep 18pt % The maximum of \floatsep, + % \textfloatsep and \intextsep (minus + % the stretch and shrink). +\dblfloatsep 11pt plus 2pt minus 2pt % Same as \floatsep for double-column + % figures in two-column mode. +\dbltextfloatsep 18pt plus 2pt minus 4pt% \textfloatsep for double-column + % floats. +\@ifundefined{@dblmaxsep}{\newdimen\@dblmaxsep}{}% this is for LaTeX2e +\@dblmaxsep 18pt % The maximum of \dblfloatsep and + % \dbltexfloatsep. +\@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must be + % 0pt plus ...) +\@fpsep 8pt plus 2fil % Space between floats on float page/column. +\@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must be + % 0pt plus ... ) +\@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...) +\@dblfpsep 8pt plus 2fil % Space between floats on float page. +\@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be + % 0pt plus ... ) +\marginparpush 5pt % Minimum vertical separation between two marginal + % notes. + +\parskip 0pt plus 1pt % Extra vertical space between + % paragraphs. +\ifnum\ACM@basesize=9\relax +\parindent 9pt % GM July 2000 / was 0pt - width of paragraph + % indentation. +\fi +\ifnum\ACM@basesize=10\relax +\parindent 10pt % GM July 2000 / was 0pt - width of paragraph + % indentation. +\fi +\partopsep 2pt plus 1pt minus 1pt% Extra vertical space, in addition to + % \parskip and \topsep, added when user + % leaves blank line before environment. + +\@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1] +\@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2] +\@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3] + +\@beginparpenalty -\@lowpenalty % Before a list or paragraph environment. +\@endparpenalty -\@lowpenalty % After a list or paragraph environment. +\@itempenalty -\@lowpenalty % Between list items. + + +\RequirePackage{ifpdf}% +\ifpdf +\pdfpagewidth=8.5in +\pdfpageheight=11in +\fi + + +\lineskip 2pt % \lineskip is 1pt for all font sizes. +\normallineskip 2pt +\def\baselinestretch{1} + + +\ifnum\ACM@basesize=9\relax +\abovedisplayskip 9pt plus2pt minus4.5pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 5.4pt plus3pt minus3pt% +\let\@listi\@listI % Setting of \@listi added 9 Jun 87 + +\def\small{\@setsize\small{9pt}\viiipt\@viiipt +\abovedisplayskip 7.6pt plus 3pt minus 4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus2pt% +\belowdisplayshortskip 3.6pt plus2pt minus 2pt +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} + +\def\footnotesize{\@setsize\footnotesize{9pt}\ixpt\@ixpt +\abovedisplayskip 6.4pt plus 2pt minus 4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus 1pt% +\belowdisplayshortskip 2.7pt plus 1pt minus 2pt +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} +\fi + +\ifnum\ACM@basesize=10\relax +\abovedisplayskip 10pt plus2pt minus4.5pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus3pt% +\belowdisplayshortskip 6pt plus3pt minus3pt% +\let\@listi\@listI % Setting of \@listi added 9 Jun 87 + +\def\small{\@setsize\small{10pt}\ixpt\@ixpt +\abovedisplayskip 8.5pt plus 3pt minus 4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus2pt% +\belowdisplayshortskip 4pt plus2pt minus 2pt +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep 4.5pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} + +\def\footnotesize{\@setsize\footnotesize{10pt}\xpt\@xpt +\abovedisplayskip 7.6pt plus 2pt minus 4pt% +\belowdisplayskip \abovedisplayskip +\abovedisplayshortskip \z@ plus 1pt% +\belowdisplayshortskip 3.0pt plus 1pt minus 2pt +\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87 +\topsep 3.2pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt +\itemsep \parsep}} +\fi + + +\newcount\aucount +\newcount\originalaucount +\newdimen\auwidth +\auwidth=\textwidth +\newdimen\auskip +\newcount\auskipcount +\newdimen\auskip +\global\auskip=1pc +\newdimen\allauboxes +\allauboxes=\auwidth +\newtoks\addauthors +\newcount\addauflag +\global\addauflag=0 %Haven't shown additional authors yet + +\newtoks\subtitletext +\gdef\subtitle#1{\subtitletext={#1}} + +\gdef\additionalauthors#1{\addauthors={#1}} + +\gdef\numberofauthors#1{\global\aucount=#1 +\ifnum\aucount>3\global\originalaucount=\aucount \global\aucount=3\fi %g} % 3 OK - Gerry March 2007 +\global\auskipcount=\aucount\global\advance\auskipcount by 1 +\global\multiply\auskipcount by 2 +\global\multiply\auskip by \auskipcount +\global\advance\auwidth by -\auskip +\global\divide\auwidth by \aucount} + +% \and was modified to count the number of authors. GKMT 12 Aug 1999 +\def\alignauthor{% % \begin{tabular} +\end{tabular}% + \begin{tabular}[t]{p{\auwidth}}\centering}% + +% *** NOTE *** NOTE *** NOTE *** NOTE *** +% If you have 'font problems' then you may need +% to change these, e.g. 'arialb' instead of "arialbd". +% Gerry Murray 11/11/1999 +% *** OR ** comment out block A and activate block B or vice versa. +% ********************************************** +% +% -- Start of block A -- (Type 1 or Truetype fonts) +%\newfont{\secfnt}{timesbd at 12pt} % was timenrb originally - now is timesbd +%\newfont{\secit}{timesbi at 12pt} %13 Jan 00 gkmt +%\newfont{\subsecfnt}{timesi at 11pt} % was timenrri originally - now is timesi +%\newfont{\subsecit}{timesbi at 11pt} % 13 Jan 00 gkmt -- was times changed to timesbi gm 2/4/2000 +% % because "normal" is italic, "italic" is Roman +%\newfont{\ttlfnt}{arialbd at 18pt} % was arialb originally - now is arialbd +%\newfont{\ttlit}{arialbi at 18pt} % 13 Jan 00 gkmt +%\newfont{\subttlfnt}{arial at 14pt} % was arialr originally - now is arial +%\newfont{\subttlit}{ariali at 14pt} % 13 Jan 00 gkmt +%\newfont{\subttlbf}{arialbd at 14pt} % 13 Jan 00 gkmt +%\newfont{\aufnt}{arial at 12pt} % was arialr originally - now is arial +%\newfont{\auit}{ariali at 12pt} % 13 Jan 00 gkmt +%\newfont{\affaddr}{arial at 10pt} % was arialr originally - now is arial +%\newfont{\affaddrit}{ariali at 10pt} %13 Jan 00 gkmt +%\newfont{\eaddfnt}{arial at 12pt} % was arialr originally - now is arial +%\newfont{\ixpt}{times at 9pt} % was timenrr originally - now is times +%\newfont{\confname}{timesi at 8pt} % was timenrri - now is timesi +%\newfont{\crnotice}{times at 8pt} % was timenrr originally - now is times +%\newfont{\ninept}{times at 9pt} % was timenrr originally - now is times + +% ********************************************* +% -- End of block A -- +% +% +% -- Start of block B -- UPDATED FONT NAMES +% ********************************************* +% Gerry Murray 11/30/2006 +% ********************************************* +\ifnum\ACM@basesize=9\relax +\newfont{\secfnt}{ptmb8t at 12pt} +\newfont{\secit}{ptmbi8t at 12pt} %13 Jan 00 gkmt +\newfont{\subsecfnt}{ptmri8t at 11pt} +\newfont{\subsecit}{ptmbi8t at 11pt} % +\newfont{\ttlfnt}{phvb8t at 18pt} +\newfont{\ttlit}{phvbo8t at 18pt} % GM 2/4/2000 +\newfont{\subttlfnt}{phvr8t at 14pt} +\newfont{\subttlit}{phvro8t at 14pt} % GM 2/4/2000 +\newfont{\subttlbf}{phvb8t at 14pt} % 13 Jan 00 gkmt +\newfont{\aufnt}{phvr8t at 12pt} +\newfont{\auit}{phvro8t at 12pt} % GM 2/4/2000 +\newfont{\affaddr}{phvr8t at 10pt} +\newfont{\affaddrit}{phvro8t at 10pt} % GM 2/4/2000 +\newfont{\eaddfnt}{phvr8t at 12pt} +\newfont{\ixpt}{ptmr8t at 9pt} +\newfont{\confname}{ptmri8t at 8pt} +\newfont{\crnotice}{ptmr8t at 8pt} +\newfont{\ninept}{ptmr8t at 9pt} +\fi +\ifnum\ACM@basesize=10\relax +\newfont{\secfnt}{ptmb8t at 13pt} +\newfont{\secit}{ptmbi8t at 13pt} %13 Jan 00 gkmt +\newfont{\subsecfnt}{ptmri8t at 12pt} +\newfont{\subsecit}{ptmbi8t at 12pt} % +\newfont{\ttlfnt}{phvb8t at 20pt} +\newfont{\ttlit}{phvbo8t at 20pt} % GM 2/4/2000 +\newfont{\subttlfnt}{phvr8t at 15pt} +\newfont{\subttlit}{phvro8t at 15pt} % GM 2/4/2000 +\newfont{\subttlbf}{phvb8t at 15pt} % 13 Jan 00 gkmt +\newfont{\aufnt}{phvr8t at 12pt} +\newfont{\auit}{phvro8t at 12pt} % GM 2/4/2000 +\newfont{\affaddr}{phvr8t at 11pt} +\newfont{\affaddrit}{phvro8t at 11pt} % GM 2/4/2000 +\newfont{\eaddfnt}{phvr8t at 12pt} +\newfont{\ixpt}{ptmr8t at 10pt} +\newfont{\confname}{ptmri8t at 9pt} +\newfont{\crnotice}{ptmr8t at 9pt} +\newfont{\ninept}{ptmr8t at 10pt} +\fi +% +++++++++++++++++++++++++++++++++++++++++++++ +% -- End of block B -- + +%\def\email#1{{{\eaddfnt{\vskip 4pt#1}}}} +% If we have an email, inside a "shared affiliation" then we need the following instead +\def\email#1{{{\eaddfnt{\par #1}}}} % revised - GM - 11/30/2006 + +\def\addauthorsection{\ifnum\originalaucount>6 % was 3 - Gerry March 2007 + \section{Additional Authors}\the\addauthors + \fi} + +\newcount\savesection +\newcount\sectioncntr +\global\sectioncntr=1 + +\setcounter{secnumdepth}{3} + +\def\appendix{\par +\section*{APPENDIX} +\setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}} } + +\leftmargini 22.5pt +\leftmarginii 19.8pt % > \labelsep + width of '(m)' +\leftmarginiii 16.8pt % > \labelsep + width of 'vii.' +\leftmarginiv 15.3pt % > \labelsep + width of 'M.' +\leftmarginv 9pt +\leftmarginvi 9pt + +\leftmargin\leftmargini +\labelsep 4.5pt +\labelwidth\leftmargini\advance\labelwidth-\labelsep + +\def\@listI{\leftmargin\leftmargini \parsep 3.6pt plus 2pt minus 1pt% +\topsep 7.2pt plus 2pt minus 4pt% +\itemsep 3.6pt plus 2pt minus 1pt} + +\let\@listi\@listI +\@listi + +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 3.6pt plus 2pt minus 1pt + \parsep 1.8pt plus 0.9pt minus 0.9pt + \itemsep \parsep} + +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1.8pt plus 0.9pt minus 0.9pt + \parsep \z@ \partopsep 1pt plus 0pt minus 1pt + \itemsep \topsep} + +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} + +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep} + +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} + +\def\labelenumi{\theenumi.} +\def\theenumi{\arabic{enumi}} + +\def\labelenumii{(\theenumii)} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi} + +\def\labelenumiii{\theenumiii.} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi(\theenumii)} + +\def\labelenumiv{\theenumiv.} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii} + +\def\labelitemi{$\bullet$} +\def\labelitemii{\bf --} +\def\labelitemiii{$\ast$} +\def\labelitemiv{$\cdot$} + +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]} +\let\endverse\endlist + +\def\quotation{\list{}{\listparindent 1.5em + \itemindent\listparindent + \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]} +\let\endquotation=\endlist + +\def\quote{\list{}{\rightmargin\leftmargin}\item[]} +\let\endquote=\endlist + +\def\descriptionlabel#1{\hspace\labelsep \bf #1} +\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + +\let\enddescription\endlist + +\def\theequation{\arabic{equation}} + + +\ifnum\ACM@basesize=9\relax +\arraycolsep 4.5pt % Half the space between columns in an array environment. +\tabcolsep 5.4pt % Half the space between columns in a tabular environment. +\arrayrulewidth .5pt % Width of rules in array and tabular environment. % (was .4) updated Gerry March 20 2007 +\doublerulesep 1.8pt % Space between adjacent rules in array or tabular env. + +\fi + +\ifnum\ACM@basesize=10\relax +\arraycolsep 5pt % Half the space between columns in an array environment. +\tabcolsep 6pt % Half the space between columns in a tabular environment. +\arrayrulewidth .5pt % Width of rules in array and tabular environment. % (was .4) updated Gerry March 20 2007 +\doublerulesep 1.8pt % Space between adjacent rules in array or tabular env. + +\fi + +\tabbingsep \labelsep % Space used by the \' command. (See LaTeX manual.) + +\skip\@mpfootins =\skip\footins + +\fboxsep =2.7pt % Space left between box and text by \fbox and \framebox. +\fboxrule =.5pt % Width of rules in box made by \fbox and \framebox. % (was .4) updated Gerry March 20 2007 + +\def\thepart{\Roman{part}} % Roman numeral part numbers. +\def\thesection {\arabic{section}} +\def\thesubsection {\thesection.\arabic{subsection}} +%\def\thesubsubsection {\thesubsection.\arabic{subsubsection}} % GM 7/30/2002 +%\def\theparagraph {\thesubsubsection.\arabic{paragraph}} % GM 7/30/2002 +\def\thesubparagraph {\theparagraph.\arabic{subparagraph}} + +\def\@pnumwidth{1.55em} +\def\@tocrmarg {2.55em} +\def\@dotsep{4.5} +\setcounter{tocdepth}{3} + +%\def\tableofcontents{\@latexerr{\tableofcontents: Tables of contents are not +% allowed in the `acmconf' document style.}\@eha} + +\def\tableofcontents{\ClassError{% + \string\tableofcontents\space is not allowed in the `acmconf' document % January 2008 + style}\@eha} + +\def\l@part#1#2{\addpenalty{\@secpenalty} + \addvspace{2.25em plus 1pt} % space above part line + \begingroup + \@tempdima 3em % width of box holding part number, used by + \parindent \z@ \rightskip \@pnumwidth %% \numberline + \parfillskip -\@pnumwidth + {\large \bf % set line in \large boldface + \leavevmode % TeX command to enter horizontal mode. + #1\hfil \hbox to\@pnumwidth{\hss #2}}\par + \nobreak % Never break after part entry + \endgroup} + +\def\l@section#1#2{\addpenalty{\@secpenalty} % good place for page break + \addvspace{1.0em plus 1pt} % space above toc entry + \@tempdima 1.5em % width of box holding section number + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \bf % Boldface. + \leavevmode % TeX command to enter horizontal mode. + \advance\leftskip\@tempdima %% added 5 Feb 88 to conform to + \hskip -\leftskip %% 25 Jan 88 change to \numberline + #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par + \endgroup} + + +\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} +\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} +\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} +\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}} + +%\def\listoffigures{\@latexerr{\listoffigures: Lists of figures are not +% allowed in the `acmconf' document style.}\@eha} + +\def\listoffigures{\ClassError{% + \string\listoffigures\space is not allowed in the `acmconf' document % January 2008 + style}\@eha} + +\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} + +%\def\listoftables{\@latexerr{\listoftables: Lists of tables are not +% allowed in the `acmconf' document style.}\@eha} +%\let\l@table\l@figure + +\def\listoftables{\ClassError{% + \string\listoftables\space is not allowed in the `acmconf' document % January 2008 + style}\@eha} + \let\l@table\l@figure + +\def\footnoterule{\kern-3\p@ + \hrule width .5\columnwidth % (was .4) updated Gerry March 20 2007 + \kern 2.6\p@} % The \hrule has default height of .4pt % (was .4) updated Gerry March 20 2007 +% ------ +\long\def\@makefntext#1{\noindent +%\hbox to .5em{\hss$^{\@thefnmark}$}#1} % original +\hbox to .5em{\hss\textsuperscript{\@thefnmark}}#1} % C. Clifton / GM Oct. 2nd. 2002 +% ------- + +\long\def\@maketntext#1{\noindent +#1} + +\long\def\@maketitlenotetext#1#2{\noindent + \hbox to 1.8em{\hss$^{#1}$}#2} + +\setcounter{topnumber}{2} +\def\topfraction{.7} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.3} +\setcounter{totalnumber}{3} +\def\textfraction{.2} +\def\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.7} +\def\dblfloatpagefraction{.5} + +% +\long\def\@makecaption#1#2{ + \vskip \baselineskip + \setbox\@tempboxa\hbox{\textbf{#1: #2}} + \ifdim \wd\@tempboxa >\hsize % IF longer than one line: + \textbf{#1: #2}\par % THEN set as ordinary paragraph. + \else % ELSE center. + \hbox to\hsize{\hfil\box\@tempboxa\hfil}\par + \fi} + +% + +\long\def\@makecaption#1#2{ + \vskip 10pt + \setbox\@tempboxa\hbox{\textbf{#1: #2}} + \ifdim \wd\@tempboxa >\hsize % IF longer than one line: + \textbf{#1: #2}\par % THEN set as ordinary paragraph. + \else % ELSE center. + \hbox to\hsize{\hfil\box\@tempboxa\hfil} + \fi} + +\@ifundefined{figure}{\newcounter {figure}} % this is for LaTeX2e + +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{Figure \thefigure} +\def\figure{\@float{figure}} +%\let\endfigure\end@float +\def\endfigure{\end@float} % Gerry January 2008 +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} + +\@ifundefined{table}{\newcounter {table}} % this is for LaTeX2e + +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{Table \thetable} +\def\table{\@float{table}} +%\let\endtable\end@float +\def\endtable{\end@float} % Gerry January 2008 +\@namedef{table*}{\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} + +\newtoks\titleboxnotes +\newcount\titleboxnoteflag + +\def\maketitle{\par + \begingroup + \def\thefootnote{\fnsymbol{footnote}} + \def\@makefnmark{\hbox + to 0pt{$^{\@thefnmark}$\hss}} + \twocolumn[\@maketitle] +\@thanks + \endgroup + \setcounter{footnote}{0} + \let\maketitle\relax + \let\@maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@subtitle{}\let\thanks\relax + \@copyrightspace} + +%% CHANGES ON NEXT LINES +\newif\if@ll % to record which version of LaTeX is in use + +\expandafter\ifx\csname LaTeXe\endcsname\relax % LaTeX2.09 is used +\else% LaTeX2e is used, so set ll to true +\global\@lltrue +\fi + +\if@ll + \NeedsTeXFormat{LaTeX2e} + \ProvidesClass{sig-alternate} [2013/05/12 v2.7 based on acmproc.cls V1.3 ] + \RequirePackage{latexsym}% QUERY: are these two really needed? + \let\dooptions\ProcessOptions +\else + \let\dooptions\@options +\fi +%% END CHANGES + +\def\@height{height} +\def\@width{width} +\def\@minus{minus} +\def\@plus{plus} +\def\hb@xt@{\hbox to} +\newif\if@faircopy +\@faircopyfalse +\def\ds@faircopy{\@faircopytrue} + +\def\ds@preprint{\@faircopyfalse} + +\@twosidetrue +\@mparswitchtrue +\def\ds@draft{\overfullrule 5\p@} +%% CHANGE ON NEXT LINE +\dooptions + +\lineskip \p@ +\normallineskip \p@ +\def\baselinestretch{1} +\def\@ptsize{0} %needed for amssymbols.sty + +%% CHANGES ON NEXT LINES +\if@ll% allow use of old-style font change commands in LaTeX2e +\@maxdepth\maxdepth +% +\DeclareOldFontCommand{\rm}{\ninept\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}} +\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}} +\fi +% +\if@ll + \renewcommand{\rmdefault}{cmr} % was 'ttm' +% Note! I have also found 'mvr' to work ESPECIALLY well. +% Gerry - October 1999 +% You may need to change your LV1times.fd file so that sc is +% mapped to cmcsc - -for smallcaps -- that is if you decide +% to change {cmr} to {times} above. (Not recommended) +\ifnum\ACM@basesize=9\relax + \renewcommand{\@ptsize}{} + \renewcommand{\normalsize}{% + \@setfontsize\normalsize\@ixpt{10.5\p@}%\ninept% + \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@ + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 6\p@ \@minus 3\p@ + \belowdisplayshortskip 6\p@ \@minus 3\p@ + \let\@listi\@listI} +\fi +\ifnum\ACM@basesize=10\relax + \renewcommand{\@ptsize}{} + \renewcommand{\normalsize}{% + \@setfontsize\normalsize\@xpt{11.5\p@}%\ninept% + \abovedisplayskip 6.5\p@ \@plus2\p@ \@minus\p@ + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 6.5\p@ \@minus 3\p@ + \belowdisplayshortskip 6.5\p@ \@minus 3\p@ + \let\@listi\@listI} +\fi +\else + \def\@normalsize{%changed next to 9 from 10 + \@setsize\normalsize{9\p@}\ixpt\@ixpt + \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@ + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 6\p@ \@minus 3\p@ + \belowdisplayshortskip 6\p@ \@minus 3\p@ + \let\@listi\@listI + }% +\fi +\if@ll +\ifnum\ACM@basesize=9\relax + \newcommand\scriptsize{\@setfontsize\scriptsize\@viipt{8\p@}} + \newcommand\tiny{\@setfontsize\tiny\@vpt{6\p@}} + \newcommand\large{\@setfontsize\large\@xiipt{14\p@}} + \newcommand\Large{\@setfontsize\Large\@xivpt{18\p@}} + \newcommand\LARGE{\@setfontsize\LARGE\@xviipt{20\p@}} + \newcommand\huge{\@setfontsize\huge\@xxpt{25\p@}} + \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30\p@}} +\fi +\ifnum\ACM@basesize=10\relax + \newcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9\p@}} + \newcommand\tiny{\@setfontsize\tiny\@vipt{7\p@}} + \newcommand\large{\@setfontsize\large\@xiiipt{15\p@}} + \newcommand\Large{\@setfontsize\Large\@xvpt{20\p@}} + \newcommand\LARGE{\@setfontsize\LARGE\@xixpt{22\p@}} + \newcommand\huge{\@setfontsize\huge\@xixpt{30\p@}} + \newcommand\Huge{\@setfontsize\Huge30pt{36\p@}} +\fi +\else + \def\scriptsize{\@setsize\scriptsize{8\p@}\viipt\@viipt} + \def\tiny{\@setsize\tiny{6\p@}\vpt\@vpt} + \def\large{\@setsize\large{14\p@}\xiipt\@xiipt} + \def\Large{\@setsize\Large{18\p@}\xivpt\@xivpt} + \def\LARGE{\@setsize\LARGE{20\p@}\xviipt\@xviipt} + \def\huge{\@setsize\huge{25\p@}\xxpt\@xxpt} + \def\Huge{\@setsize\Huge{30\p@}\xxvpt\@xxvpt} +\fi +\normalsize + +% make aubox hsize/number of authors up to 3, less gutter +% then showbox gutter showbox gutter showbox -- GKMT Aug 99 +\newbox\@acmtitlebox +\ifnum\ACM@basesize=9\relax +\def\@maketitle{\newpage + \null + \setbox\@acmtitlebox\vbox{% +\baselineskip 20pt +\vskip 2em % Vertical space above title. + \begin{center} + {\ttlfnt \@title\par} % Title set in 18pt Helvetica (Arial) bold size. + \vskip 1.5em % Vertical space after title. +%This should be the subtitle. +{\subttlfnt \the\subtitletext\par}\vskip 1.25em%\fi + {\baselineskip 16pt\aufnt % each author set in \12 pt Arial, in a + \lineskip .5em % tabular environment + \begin{tabular}[t]{c}\@author + \end{tabular}\par} + \vskip 1.5em % Vertical space after author. + \end{center}} + \dimen0=\ht\@acmtitlebox + \advance\dimen0 by -12.75pc\relax % Increased space for title box -- KBT + \unvbox\@acmtitlebox + \ifdim\dimen0<0.0pt\relax\vskip-\dimen0\fi} +\fi +\ifnum\ACM@basesize=10\relax +\def\@maketitle{\newpage + \null + \setbox\@acmtitlebox\vbox{% +\baselineskip 22pt +\vskip 2.2em % Vertical space above title. + \begin{center} + {\ttlfnt \@title\par} % Title set in 18pt Helvetica (Arial) bold size. + \vskip 2em % Vertical space after title. +%This should be the subtitle. +{\subttlfnt \the\subtitletext\par}\vskip 1.25em%\fi + {\baselineskip 18pt\aufnt % each author set in \12 pt Arial, in a + \lineskip .5em % tabular environment + \begin{tabular}[t]{c}\@author + \end{tabular}\par} + \vskip 2em % Vertical space after author. + \end{center}} + \dimen0=\ht\@acmtitlebox + \advance\dimen0 by -12.75pc\relax % Increased space for title box -- KBT + \unvbox\@acmtitlebox + \ifdim\dimen0<0.0pt\relax\vskip-\dimen0\fi} +\fi + +\newcount\titlenotecount +\global\titlenotecount=0 +\newtoks\tntoks +\newtoks\tntokstwo +\newtoks\tntoksthree +\newtoks\tntoksfour +\newtoks\tntoksfive + +\def\abstract{ +\ifnum\titlenotecount>0 % was =1 + \insert\footins{% + \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + }% + \color@begingroup +\ifnum\titlenotecount=1 + \@maketntext{% + \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\@finalstrut\strutbox}% +\fi +\ifnum\titlenotecount=2 + \@maketntext{% + \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\@finalstrut\strutbox}% +\fi +\ifnum\titlenotecount=3 + \@maketntext{% + \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\@finalstrut\strutbox}% +\fi +\ifnum\titlenotecount=4 + \@maketntext{% + \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\@finalstrut\strutbox}% +\fi +\ifnum\titlenotecount=5 + \@maketntext{% + \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\par\@finalstrut\strutbox}% +\@maketntext{% + \raisebox{4pt}{$\P$}\rule\z@\footnotesep\ignorespaces\the\tntoksfive\@finalstrut\strutbox}% +\fi + \color@endgroup} %g} +\fi +\setcounter{footnote}{0} +\section*{ABSTRACT}\normalsize%\ninept +} + +\def\endabstract{\if@twocolumn\else\endquotation\fi} + +\def\keywords{\if@twocolumn +\section*{Keywords} +\else \small +\quotation +\fi} + +\def\terms#1{% +%\if@twocolumn +%\section*{General Terms} +%\else \small +%\quotation +%\fi +} + +% -- Classification needs to be a bit smart due to optionals - Gerry/Georgia November 2nd. 1999 +\newcount\catcount +\global\catcount=1 + +\def\category#1#2#3{% +\ifnum\catcount=1 +\section*{Categories and Subject Descriptors} +\advance\catcount by 1\else{\unskip; }\fi + \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}% +} + + +\def\@category#1#2#3[#4]{% + \begingroup + \let\and\relax + #1 [\textbf{#2}]% + \if!#4!% + \if!#3!\else : #3\fi + \else + :\space + \if!#3!\else #3\kern\z@---\hskip\z@\fi + \textit{#4}% + \fi + \endgroup +} +% + + + + + + +%%% This section (written by KBT) handles the 1" box in the lower left +%%% corner of the left column of the first page by creating a picture, +%%% and inserting the predefined string at the bottom (with a negative +%%% displacement to offset the space allocated for a non-existent +%%% caption). +%%% +\newtoks\copyrightnotice +\def\ftype@copyrightbox{8} +\def\@copyrightspace{ +\@float{copyrightbox}[b] +\begin{center} +\setlength{\unitlength}{1pc} +\ifnum\ACM@basesize=9 +\begin{picture}(20,6) %Space for copyright notice +\put(0,-0.95){\crnotice{\@toappear}} +\end{picture} +\fi +\ifnum\ACM@basesize=10 +\begin{picture}(20,7) %Space for copyright notice +\put(0,-0.95){\crnotice{\@toappear}} +\end{picture} +\fi +\end{center} +\end@float} + +\def\@toappear{} % Default setting blank - commands below change this. +\long\def\toappear#1{\def\@toappear{\parbox[b]{20pc}{\baselineskip 9pt#1}}} +\def\toappearbox#1{\def\@toappear{\raisebox{5pt}{\framebox[20pc]{\parbox[b]{19pc}{#1}}}}} + +\newtoks\conf +\newtoks\confinfo +\def\conferenceinfo#1#2{\global\conf={#1}\global\confinfo{#2}} + + +%\def\marginpar{\@latexerr{The \marginpar command is not allowed in the +% `acmconf' document style.}\@eha} + +\def\marginpar{\ClassError{% + \string\marginpar\space is not allowed in the `acmconf' document % January 2008 + style}\@eha} + +\mark{{}{}} % Initializes TeX's marks + +\def\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} + +\def\@begintheorem#1#2{% + \parskip 0pt % GM July 2000 (for tighter spacing) + \trivlist + \item[% + \hskip 10\p@ + \hskip \labelsep + {{\sc #1}\hskip 5\p@\relax#2.}% + ] + \it +} +\def\@opargbegintheorem#1#2#3{% + \parskip 0pt % GM July 2000 (for tighter spacing) + \trivlist + \item[% + \hskip 10\p@ + \hskip \labelsep + {\sc #1\ #2\ % This mod by Gerry to enumerate corollaries + \setbox\@tempboxa\hbox{(#3)} % and bracket the 'corollary title' + \ifdim \wd\@tempboxa>\z@ % and retain the correct numbering of e.g. theorems + \hskip 5\p@\relax % if they occur 'around' said corollaries. + \box\@tempboxa % Gerry - Nov. 1999. + \fi.}% + ] + \it +} +\newif\if@qeded +\global\@qededfalse + +% -- original +%\def\proof{% +% \vspace{-\parskip} % GM July 2000 (for tighter spacing) +% \global\@qededfalse +% \@ifnextchar[{\@xproof}{\@proof}% +%} +% -- end of original + +% (JSS) Fix for vertical spacing bug - Gerry Murray July 30th. 2002 +\def\proof{% +\vspace{-\lastskip}\vspace{-\parsep}\penalty-51% +\global\@qededfalse +\@ifnextchar[{\@xproof}{\@proof}% +} + +\def\endproof{% + \if@qeded\else\qed\fi + \endtrivlist +} +\def\@proof{% + \trivlist + \item[% + \hskip 10\p@ + \hskip \labelsep + {\sc Proof.}% + ] + \ignorespaces +} +\def\@xproof[#1]{% + \trivlist + \item[\hskip 10\p@\hskip \labelsep{\sc Proof #1.}]% + \ignorespaces +} +\def\qed{% + \unskip + \kern 10\p@ + \begingroup + \unitlength\p@ + \linethickness{.4\p@}% + \framebox(6,6){}% + \endgroup + \global\@qededtrue +} + +\def\newdef#1#2{% + \expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}% + \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% + \global\@namedef{#1}{\@defthm{#1}{#2}}% + \global\@namedef{end#1}{\@endtheorem}% + }% +} +\def\@defthm#1#2{% + \refstepcounter{#1}% + \@ifnextchar[{\@ydefthm{#1}{#2}}{\@xdefthm{#1}{#2}}% +} +\def\@xdefthm#1#2{% + \@begindef{#2}{\csname the#1\endcsname}% + \ignorespaces +} +\def\@ydefthm#1#2[#3]{% + \trivlist + \item[% + \hskip 10\p@ + \hskip \labelsep + {\it #2% +% \savebox\@tempboxa{#3}% + \saveb@x\@tempboxa{#3}% % January 2008 + \ifdim \wd\@tempboxa>\z@ + \ \box\@tempboxa + \fi.% + }]% + \ignorespaces +} +\def\@begindef#1#2{% + \trivlist + \item[% + \hskip 10\p@ + \hskip \labelsep + {\it #1\ \rm #2.}% + ]% +} +\def\theequation{\arabic{equation}} + +\newcounter{part} +\newcounter{section} +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] +\def\thepart{\Roman{part}} +\def\thesection{\arabic{section}} +\def\thesubsection{\thesection.\arabic{subsection}} +\def\thesubsubsection{\thesubsection.\arabic{subsubsection}} %removed \subsecfnt 29 July 2002 gkmt +\def\theparagraph{\thesubsubsection.\arabic{paragraph}} %removed \subsecfnt 29 July 2002 gkmt +\newif\if@uchead +\@ucheadfalse + +%% CHANGES: NEW NOTE +%% NOTE: OK to use old-style font commands below, since they were +%% suitably redefined for LaTeX2e +%% END CHANGES +\setcounter{secnumdepth}{3} +\def\part{% + \@startsection{part}{9}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@} + {4\p@}{\normalsize\@ucheadtrue}% +} +\def\section{% + \@startsection{section}{1}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}% GM + {4\p@}{\baselineskip 14pt\secfnt\@ucheadtrue}% +} + +\def\subsection{% + \@startsection{subsection}{2}{\z@}{-8\p@ \@plus -2\p@ \@minus -\p@} + {4\p@}{\secfnt}% +} +\def\subsubsection{% + \@startsection{subsubsection}{3}{\z@}{-8\p@ \@plus -2\p@ \@minus -\p@}% + {4\p@}{\subsecfnt}% +} +%\def\paragraph{% +% \vskip 12pt\@startsection{paragraph}{3}{\z@}{6\p@ \@plus \p@}% original +% {-5\p@}{\subsecfnt}% +%} +% If one wants sections, subsections and subsubsections numbered, +% but not paragraphs, one usually sets secnumepth to 3. +% For that, the "depth" of paragraphs must be given correctly +% in the definition (``4'' instead of ``3'' as second argument +% of @startsection): +\def\paragraph{% + \vskip 12pt\@startsection{paragraph}{4}{\z@}{6\p@ \@plus \p@}% % GM and Wolfgang May - 11/30/06 + {-5\p@}{\subsecfnt}% +} +\let\@period=. +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec %gkmt, 11 aug 99 + \global\let\@period\@empty + \leavevmode + \global\let\@period.% + \fi + \par % + \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ + \@tempskipa -\@tempskipa + \@afterindentfalse + \fi + \if@nobreak + \everypar{}% + \else + \addpenalty\@secpenalty + \addvspace\@tempskipa + \fi +\parskip=0pt % GM July 2000 (non numbered) section heads + \@ifstar + {\@ssect{#3}{#4}{#5}{#6}} + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}% +} +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \edef\@svsec{% + \begingroup + %\ifnum#2>2 \noexpand\rm \fi % changed to next 29 July 2002 gkmt + \ifnum#2>2 \noexpand#6 \fi + \csname the#1\endcsname + \endgroup + \ifnum #2=1\relax .\fi + \hskip 1em + }% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup + #6\relax + \@hangfrom{\hskip #3\relax\@svsec}% + \begingroup + \interlinepenalty \@M + \if@uchead + \uppercase{#8}% + \else + #8% + \fi + \par + \endgroup + \endgroup + \csname #1mark\endcsname{#7}% + \vskip -12pt %gkmt, 11 aug 99 and GM July 2000 (was -14) - numbered section head spacing +\addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7% + }% + \else + \def\@svsechd{% + #6% + \hskip #3\relax + \@svsec + \if@uchead + \uppercase{#8}% + \else + #8% + \fi + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7% + }% + }% + \fi + \@xsect{#5}\hskip 1pt + \par +} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par + \nobreak + \vskip \@tempskipa + \@afterheading + \else + \global\@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + \clubpenalty\@M + \hskip -\parindent + \begingroup + \@svsechd + \@period + \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi + }% + \fi + \ignorespaces +} +\def\@trivlist{% + \@topsepadd\topsep + \if@noskipsec + \global\let\@period\@empty + \leavevmode + \global\let\@period.% + \fi + \ifvmode + \advance\@topsepadd\partopsep + \else + \unskip + \par + \fi + \if@inlabel + \@noparitemtrue + \@noparlisttrue + \else + \@noparlistfalse + \@topsep\@topsepadd + \fi + \advance\@topsep \parskip + \leftskip\z@skip + \rightskip\@rightskip + \parfillskip\@flushglue + \@setpar{\if@newlist\else{\@@par}\fi} + \global\@newlisttrue + \@outerparskip\parskip +} + +%%% Actually, 'abbrev' works just fine as the default +%%% Bibliography style. + +\typeout{Using 'Abbrev' bibliography style} +\newcommand\bibyear[2]{% + \unskip\quad\ignorespaces#1\unskip + \if#2..\quad \else \quad#2 \fi +} +\newcommand{\bibemph}[1]{{\em#1}} +\newcommand{\bibemphic}[1]{{\em#1\/}} +\newcommand{\bibsc}[1]{{\sc#1}} +\def\@normalcite{% + \def\@cite##1##2{[##1\if@tempswa , ##2\fi]}% +} +\def\@citeNB{% + \def\@cite##1##2{##1\if@tempswa , ##2\fi}% +} +\def\@citeRB{% + \def\@cite##1##2{##1\if@tempswa , ##2\fi]}% +} +\def\start@cite#1#2{% + \edef\citeauthoryear##1##2##3{% + ###1% + \ifnum#2=\z@ \else\ ###2\fi + }% + \ifnum#1=\thr@@ + \let\@@cite\@citeyear + \else + \let\@@cite\@citenormal + \fi + \@ifstar{\@citeNB\@@cite}{\@normalcite\@@cite}% +} +%\def\cite{\start@cite23} +\DeclareRobustCommand\cite{\start@cite23} % January 2008 +\def\citeNP{\cite*} % No Parentheses e.g. 5 +%\def\citeA{\start@cite10} +\DeclareRobustCommand\citeA{\start@cite10} % January 2008 +\def\citeANP{\citeA*} +%\def\shortcite{\start@cite23} +\DeclareRobustCommand\shortcite{\start@cite23} % January 2008 +\def\shortciteNP{\shortcite*} +%\def\shortciteA{\start@cite20} +\DeclareRobustCommand\shortciteA{\start@cite20} % January 2008 +\def\shortciteANP{\shortciteA*} +%\def\citeyear{\start@cite30} +\DeclareRobustCommand\citeyear{\start@cite30} % January 2008 +\def\citeyearNP{\citeyear*} +%\def\citeN{% +\DeclareRobustCommand\citeN{% % January 2008 + \@citeRB + \def\citeauthoryear##1##2##3{##1\ [##3% + \def\reserved@a{##1}% + \def\citeauthoryear####1####2####3{% + \def\reserved@b{####1}% + \ifx\reserved@a\reserved@b + ####3% + \else + \errmessage{Package acmart Error: author mismatch + in \string\citeN^^J^^J% + See the acmart package documentation for explanation}% + \fi + }% + }% + \@ifstar\@citeyear\@citeyear +} +%\def\shortciteN{% +\DeclareRobustCommand\shortciteN{% % January 2008 + \@citeRB + \def\citeauthoryear##1##2##3{##2\ [##3% + \def\reserved@a{##2}% + \def\citeauthoryear####1####2####3{% + \def\reserved@b{####2}% + \ifx\reserved@a\reserved@b + ####3% + \else + \errmessage{Package acmart Error: author mismatch + in \string\shortciteN^^J^^J% + See the acmart package documentation for explanation}% + \fi + }% + }% + \@ifstar\@citeyear\@citeyear % GM July 2000 +} + +\def\@citenormal{% + \@ifnextchar [{\@tempswatrue\@citex;}% +% original {\@tempswafalse\@citex,[]}% was ; Gerry 2/24/00 +{\@tempswafalse\@citex[]}% % GERRY FIX FOR BABEL 3/20/2009 +} + +\def\@citeyear{% + \@ifnextchar [{\@tempswatrue\@citex,}% +% original {\@tempswafalse\@citex,[]}% +{\@tempswafalse\@citex[]}% % GERRY FIX FOR BABEL 3/20/2009 +} + +\def\@citex#1[#2]#3{% + \let\@citea\@empty + \@cite{% + \@for\@citeb:=#3\do{% + \@citea +% original \def\@citea{#1 }% + \def\@citea{#1, }% % GERRY FIX FOR BABEL 3/20/2009 -- SO THAT YOU GET [1, 2] IN THE BODY TEXT + \edef\@citeb{\expandafter\@iden\@citeb}% + \if@filesw + \immediate\write\@auxout{\string\citation{\@citeb}}% + \fi + \@ifundefined{b@\@citeb}{% + {\bf ?}% + \@warning{% + Citation `\@citeb' on page \thepage\space undefined% + }% + }% + {\csname b@\@citeb\endcsname}% + }% + }{#2}% +} +%\let\@biblabel\@gobble % Dec. 2008 - Gerry +% ---- +\def\@biblabelnum#1{[#1]} % Gerry's solution #1 - for Natbib -- April 2009 +\let\@biblabel=\@biblabelnum % Gerry's solution #1 - for Natbib -- April 2009 +\def\newblock{\relax} % Gerry Dec. 2008 +% --- +\newdimen\bibindent +\setcounter{enumi}{1} +\bibindent=0em +\def\thebibliography#1{% +\ifnum\addauflag=0\addauthorsection\global\addauflag=1\fi + \section[References]{% <=== OPTIONAL ARGUMENT ADDED HERE + {References} % was uppercased but this affects pdf bookmarks (SP/GM October 2004) + {\vskip -9pt plus 1pt} % GM Nov. 2006 / GM July 2000 (for somewhat tighter spacing) + \@mkboth{{\refname}}{{\refname}}% + }% + \list{[\arabic{enumi}]}{% + \settowidth\labelwidth{[#1]}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \advance\leftmargin\bibindent + \parsep=0pt\itemsep=1pt % GM July 2000 + \itemindent -\bibindent + \listparindent \itemindent + \usecounter{enumi} + }% + \let\newblock\@empty + \raggedright % GM July 2000 + \sloppy + \sfcode`\.=1000\relax +} + + +\gdef\balancecolumns +{\vfill\eject +\global\@colht=\textheight +\global\ht\@cclv=\textheight +} + +\newcount\colcntr +\global\colcntr=0 +%\newbox\savebox +\newbox\saveb@x % January 2008 + +\gdef \@makecol {% +\global\advance\colcntr by 1 +\ifnum\colcntr>2 \global\colcntr=1\fi + \ifvoid\footins + \setbox\@outputbox \box\@cclv + \else + \setbox\@outputbox \vbox{% +\boxmaxdepth \@maxdepth + \@tempdima\dp\@cclv + \unvbox \@cclv + \vskip-\@tempdima + \vskip \skip\footins + \color@begingroup + \normalcolor + \footnoterule + \unvbox \footins + \color@endgroup + }% + \fi + \xdef\@freelist{\@freelist\@midlist}% + \global \let \@midlist \@empty + \@combinefloats + \ifvbox\@kludgeins + \@makespecialcolbox + \else + \setbox\@outputbox \vbox to\@colht {% +\@texttop + \dimen@ \dp\@outputbox + \unvbox \@outputbox + \vskip -\dimen@ + \@textbottom + }% + \fi + \global \maxdepth \@maxdepth +} +\def\titlenote{\@ifnextchar[\@xtitlenote{\stepcounter\@mpfn +\global\advance\titlenotecount by 1 +\ifnum\titlenotecount=1 + \raisebox{9pt}{$\ast$} +\fi +\ifnum\titlenotecount=2 + \raisebox{9pt}{$\dagger$} +\fi +\ifnum\titlenotecount=3 + \raisebox{9pt}{$\ddagger$} +\fi +\ifnum\titlenotecount=4 +\raisebox{9pt}{$\S$} +\fi +\ifnum\titlenotecount=5 +\raisebox{9pt}{$\P$} +\fi + \@titlenotetext +}} + +\long\def\@titlenotetext#1{\insert\footins{% +\ifnum\titlenotecount=1\global\tntoks={#1}\fi +\ifnum\titlenotecount=2\global\tntokstwo={#1}\fi +\ifnum\titlenotecount=3\global\tntoksthree={#1}\fi +\ifnum\titlenotecount=4\global\tntoksfour={#1}\fi +\ifnum\titlenotecount=5\global\tntoksfive={#1}\fi + \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + }% + \color@begingroup + \color@endgroup}} + +%%%%%%%%%%%%%%%%%%%%%%%%% +\ps@plain +\baselineskip=11pt +\let\thepage\relax % For NO page numbers - GM Nov. 30th. 1999 and July 2000 +\def\setpagenumber#1{\global\setcounter{page}{#1}} +%\pagenumbering{arabic} % Arabic page numbers GM July 2000 +\twocolumn % Double column. +\flushbottom % Even bottom -- alas, does not balance columns at end of document +\pagestyle{plain} + +% Need Copyright Year and Copyright Data to be user definable (in .tex file). +% Gerry Nov. 30th. 1999 +\newtoks\copyrtyr +\newtoks\acmcopyr +\newtoks\boilerplate +\global\acmcopyr={X-XXXXX-XX-X/XX/XX} % Default - 5/11/2001 *** Gerry +\global\copyrtyr={\the\year} % Default - 3/3/2003 *** Gerry +\def\acmPrice#1{\gdef\@acmPrice{#1}} +\acmPrice{} %article price % Changed to 15 - June 2012 - Gerry + + +\def\CopyrightYear#1{\global\copyrtyr{#1}} +\def\crdata#1{\global\acmcopyr{#1}} +\def\permission#1{\global\boilerplate{#1}} + +% ISBN +% +\def\isbn#1{\global\acmcopyr={#1}} +\isbn{978-1-4503-2138-9} + +\RequirePackage{url} +\urlstyle{rm} +\def\doi#1{\def\@doi{#1}} +\doi{10.1145/1235} +\def\printdoi#1{\url{#1}} + + + +% Copyright +\RequirePackage{acmcopyright} +\setcopyright{none} + +% +\global\boilerplate={\@copyrightpermission} + + + +\newtoks\copyrightetc +\ifnum\ACM@basesize=9\relax +\global\copyrightetc{% +{\noindent\confname\ \the\conf\ \the\confinfo}\par\smallskip + \if@printcopyright + \copyright\ \the\copyrtyr\ \@copyrightowner + \fi + \if@acmowned ISBN \else\ifnum\acm@copyrightmode=2 ISBN \else \par\smallskip ACM ISBN \fi\fi + \the\acmcopyr\ifx\@acmPrice\@empty.\else\dots\@acmPrice\fi\par\smallskip +{DOI: \small\expandafter\printdoi\expandafter{\@doi}}} +\toappear{\fontsize{7pt}{8pt}\fontfamily{ptm}\selectfont + \the\boilerplate\par\smallskip + \the\copyrightetc} +\fi +\ifnum\ACM@basesize=10\relax +\global\copyrightetc{% +{\noindent\confname\ \the\conf\ \the\confinfo}\par\smallskip + \if@printcopyright + \copyright\ \the\copyrtyr\ \@copyrightowner + \fi + \if@acmowned ISBN \else\ifnum\acm@copyrightmode=2 ISBN \else \par\smallskip ACM ISBN \fi\fi + \the\acmcopyr\ifx\@acmPrice\@empty.\else\dots\@acmPrice\fi\par\smallskip +{DOI: \small\expandafter\printdoi\expandafter{\@doi}}} +\toappear{\fontsize{7.5pt}{8.5pt}\fontfamily{ptm}\selectfont + \the\boilerplate\par\smallskip + \the\copyrightetc} +\fi +%\DeclareFixedFont{\altcrnotice}{OT1}{tmr}{m}{n}{8} % << patch needed for accenting e.g. Montreal - Gerry, May 2007 +%\DeclareFixedFont{\altconfname}{OT1}{tmr}{m}{it}{8} % << patch needed for accenting in italicized confname - Gerry, May 2007 +% +%{\altconfname{{\the\conf}}} {\altcrnotice\the\confinfo\par} \the\copyrightetc.} % << Gerry, May 2007 +% +% The following section (i.e. 3 .sty inclusions) was added in May 2007 so as to fix the problems that many +% authors were having with accents. Sometimes accents would occur, but the letter-character would be of a different +% font. Conversely the letter-character font would be correct but, e.g. a 'bar' would appear superimposed on the +% character instead of, say, an unlaut/diaresis. Sometimes the letter-character would NOT appear at all. +% Using [T1]{fontenc} outright was not an option as this caused 99% of the authors to 'produce' a Type-3 (bitmapped) +% PDF file - useless for production. +% +% For proper (font) accenting we NEED these packages to be part of the .cls file i.e. 'ae', 'aecompl' and 'aeguil' +% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +%% This is file `ae.sty' +\def\fileversion{1.3} +\def\filedate{2001/02/12} +\NeedsTeXFormat{LaTeX2e} +%\ProvidesPackage{ae}[\filedate\space\fileversion\space % GM +% Almost European Computer Modern] % GM - keeping the log file clean(er) +\newif\if@ae@slides \@ae@slidesfalse +\DeclareOption{slides}{\@ae@slidestrue} +\ProcessOptions +\fontfamily{aer} +\RequirePackage[T1]{fontenc} +\if@ae@slides + \renewcommand{\sfdefault}{laess} + \renewcommand{\rmdefault}{laess} % no roman + \renewcommand{\ttdefault}{laett} +\else + \renewcommand{\sfdefault}{aess} + \renewcommand{\rmdefault}{aer} + \renewcommand{\ttdefault}{aett} +\fi +\endinput +%% +%% End of file `ae.sty'. +% +% +\def\fileversion{0.9} +\def\filedate{1998/07/23} +\NeedsTeXFormat{LaTeX2e} +%\ProvidesPackage{aecompl}[\filedate\space\fileversion\space % GM +%T1 Complements for AE fonts (D. Roegel)] % GM -- keeping the log file clean(er) + +\def\@ae@compl#1{{\fontencoding{T1}\fontfamily{cmr}\selectfont\symbol{#1}}} +\def\guillemotleft{\@ae@compl{19}} +\def\guillemotright{\@ae@compl{20}} +\def\guilsinglleft{\@ae@compl{14}} +\def\guilsinglright{\@ae@compl{15}} +\def\TH{\@ae@compl{222}} +\def\NG{\@ae@compl{141}} +\def\ng{\@ae@compl{173}} +\def\th{\@ae@compl{254}} +\def\DJ{\@ae@compl{208}} +\def\dj{\@ae@compl{158}} +\def\DH{\@ae@compl{208}} +\def\dh{\@ae@compl{240}} +\def\@perthousandzero{\@ae@compl{24}} +\def\textperthousand{\%\@perthousandzero} +\def\textpertenthousand{\%\@perthousandzero\@perthousandzero} +\endinput +% +% +%% This is file `aeguill.sty' +% This file gives french guillemets (and not guillemots!) +% built with the Polish CMR fonts (default), WNCYR fonts, the LASY fonts +% or with the EC fonts. +% This is useful in conjunction with the ae package +% (this package loads the ae package in case it has not been loaded) +% and with or without the french(le) package. +% +% In order to get the guillemets, it is necessary to either type +% \guillemotleft and \guillemotright, or to use an 8 bit encoding +% (such as ISO-Latin1) which selects these two commands, +% or, if you use the french package (but not the frenchle package), +% to type << or >>. +% +% By default, you get the Polish CMR guillemets; if this package is loaded +% with the `cm' option, you get the LASY guillemets; with `ec,' you +% get the EC guillemets, and with `cyr,' you get the cyrillic guillemets. +% +% In verbatim mode, you always get the EC/TT guillemets. +% +% The default option is interesting in conjunction with PDF, +% because there is a Type 1 version of the Polish CMR fonts +% and these guillemets are very close in shape to the EC guillemets. +% There are no free Type 1 versions of the EC fonts. +% +% Support for Polish CMR guillemets was kindly provided by +% Rolf Niepraschk in version 0.99 (2000/05/22). +% Bernd Raichle provided extensive simplifications to the code +% for version 1.00. +% +% This package is released under the LPPL. +% +% Changes: +% Date version +% 2001/04/12 1.01 the frenchle and french package are now distinguished. +% +\def\fileversion{1.01} +\def\filedate{2001/04/12} +\NeedsTeXFormat{LaTeX2e} +%\ProvidesPackage{aeguill}[2001/04/12 1.01 % % GM +%AE fonts with french guillemets (D. Roegel)] % GM - keeping the log file clean(er) +%\RequirePackage{ae} % GM May 2007 - already embedded here + +\newcommand{\@ae@switch}[4]{#4} +\DeclareOption{ec}{\renewcommand\@ae@switch[4]{#1}} +\DeclareOption{cm}{\renewcommand\@ae@switch[4]{#2}} +\DeclareOption{cyr}{\renewcommand\@ae@switch[4]{#3}} +\DeclareOption{pl}{\renewcommand\@ae@switch[4]{#4}} + + +% +% Load necessary packages +% +\@ae@switch{% ec + % do nothing +}{% cm + \RequirePackage{latexsym}% GM - May 2007 - already 'mentioned as required' up above +}{% cyr + \RequirePackage[OT2,T1]{fontenc}% +}{% pl + \RequirePackage[OT4,T1]{fontenc}% +} + +% The following command will be compared to \frenchname, +% as defined in french.sty and frenchle.sty. +\def\aeguillfrenchdefault{french}% + +\let\guill@verbatim@font\verbatim@font +\def\verbatim@font{\guill@verbatim@font\ecguills{cmtt}% + \let\guillemotleft\@oguills\let\guillemotright\@fguills} + +\begingroup \catcode`\<=13 \catcode`\>=13 +\def\x{\endgroup + \def\ae@lfguill{<<}% + \def\ae@rfguill{>>}% +}\x + +\newcommand{\ecguills}[1]{% + \def\selectguillfont{\fontencoding{T1}\fontfamily{#1}\selectfont}% + \def\@oguills{{\selectguillfont\symbol{19}}}% + \def\@fguills{{\selectguillfont\symbol{20}}}% + } + +\newcommand{\aeguills}{% + \ae@guills + % We redefine \guillemotleft and \guillemotright + % in order to catch them when they are used + % with \DeclareInputText (in latin1.def for instance) + % We use \auxWARNINGi as a safe indicator that french.sty is used. + \gdef\guillemotleft{\ifx\auxWARNINGi\undefined + \@oguills % neither french.sty nor frenchle.sty + \else + \ifx\aeguillfrenchdefault\frenchname + \ae@lfguill % french.sty + \else + \@oguills % frenchle.sty + \fi + \fi}% + \gdef\guillemotright{\ifx\auxWARNINGi\undefined + \@fguills % neither french.sty nor frenchle.sty + \else + \ifx\aeguillfrenchdefault\frenchname + \ae@rfguill % french.sty + \else + \@fguills % frenchle.sty + \fi + \fi}% + } + +% +% Depending on the class option +% define the internal command \ae@guills +\@ae@switch{% ec + \newcommand{\ae@guills}{% + \ecguills{cmr}}% +}{% cm + \newcommand{\ae@guills}{% + \def\selectguillfont{\fontencoding{U}\fontfamily{lasy}% + \fontseries{m}\fontshape{n}\selectfont}% + \def\@oguills{\leavevmode\nobreak + \hbox{\selectguillfont (\kern-.20em(\kern.20em}\nobreak}% + \def\@fguills{\leavevmode\nobreak + \hbox{\selectguillfont \kern.20em)\kern-.2em)}% + \ifdim\fontdimen\@ne\font>\z@\/\fi}}% +}{% cyr + \newcommand{\ae@guills}{% + \def\selectguillfont{\fontencoding{OT2}\fontfamily{wncyr}\selectfont}% + \def\@oguills{{\selectguillfont\symbol{60}}}% + \def\@fguills{{\selectguillfont\symbol{62}}}} +}{% pl + \newcommand{\ae@guills}{% + \def\selectguillfont{\fontencoding{OT4}\fontfamily{cmr}\selectfont}% + \def\@oguills{{\selectguillfont\symbol{174}}}% + \def\@fguills{{\selectguillfont\symbol{175}}}} +} + + +\AtBeginDocument{% + \ifx\GOfrench\undefined + \aeguills + \else + \let\aeguill@GOfrench\GOfrench + \gdef\GOfrench{\aeguill@GOfrench \aeguills}% + \fi + } + +\endinput +% + diff --git a/sigproc.bib b/sigproc.bib new file mode 100644 index 0000000..6c9f504 --- /dev/null +++ b/sigproc.bib @@ -0,0 +1,732 @@ +@INPROCEEDINGS{sara, +author={Tehranipoor, F. and Yan, W. and Chandy, J.}, +booktitle={Hardware-Oriented Security and Trust (HOST), 2016 IEEE International Symposium on}, +title={Robust Hardware True Random Number Generators using DRAM Remanence Effects}, +year={2016} +} + +@inproceedings{tehranipoor2015dram, + title="{DRAM} based intrinsic physical unclonable functions for system level security", + author={Tehranipoor, Fatemeh and Karimina, Nima and Xiao, Kan and Chandy, John}, + booktitle={Proceedings of the 25th edition on Great Lakes Symposium on VLSI}, + pages={15--20}, + year={2015}, + organization={ACM} +} + +@inproceedings{karimian2015genetic, + title={Genetic algorithm for hardware Trojan detection with ring oscillator network (RON)}, + author={Karimian, Nima and Tehranipoor, Fatemeh and Rahman, Md Tauhidur and Kelly, Shane and Forte, Domenic}, + booktitle={Technologies for Homeland Security (HST), 2015 IEEE International Symposium on}, + pages={1--6}, + year={2015}, + organization={IEEE} +} + +@inproceedings{yan2015novel, + title={A Novel Way to Authenticate Untrusted Integrated Circuits}, + author={Yan, Wei and Tehranipoor, Fatemeh and Chandy, John A}, + booktitle={Proceedings of the IEEE/ACM International Conference on Computer-Aided Design}, + pages={132--138}, + year={2015}, + organization={IEEE Press} +} + +@article{sangiovanni2002defining, + title={Defining platform-based design}, + author={Sangiovanni-Vincentelli, Alberto}, + journal={EEDesign of EETimes}, + year={2002} +} + +@article{schaumont2005platform, + title={Platform-based design for an embedded-fingerprint-authentication device}, + author={Schaumont, Patrick and Hwang, David and Verbauwhede, Ingrid}, + journal={Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on}, + volume={24}, + number={12}, + pages={1929--1936}, + year={2005}, + publisher={IEEE} +} + +@techreport{benzel2005design, + title={Design principles for security}, + author={Benzel, Terry V and Irvine, Cynthia E and Levin, Timothy E and Bhaskara, Ganesha and Nguyen, Thuy D and Clark, Paul C}, + year={2005}, + institution={DTIC Document} +} + +@article{avivzienis2004basic, + title={Basic concepts and taxonomy of dependable and secure computing}, + author={Avi{\v{z}}ienis, Algirdas and Laprie, Jean-Claude and Randell, Brian and Landwehr, Carl}, + journal={Dependable and Secure Computing, IEEE Transactions on}, + volume={1}, + number={1}, + pages={11--33}, + year={2004}, + publisher={IEEE} +} + +@article{sangiovanni2007quo, + title="Quo vadis, {SLD? Reasoning} about the trends and challenges of system level design", + author={Sangiovanni-Vincentelli, Alberto}, + journal={Proceedings of the IEEE}, + volume={95}, + number={3}, + pages={467--506}, + year={2007}, + publisher={IEEE} +} + +@inproceedings{densmore2009platform, + title={A platform-based design environment for synthetic biological systems}, + author={Densmore, Douglas and Van Devender, Anne and Johnson, Matthew and Sritanyaratana, Nade}, + booktitle={The Fifth Richard Tapia Celebration of Diversity in Computing Conference: Intellect, Initiatives, Insight, and Innovations}, + pages={24--29}, + year={2009}, + organization={ACM} +} + +@article{teich2012hardware, + title={Hardware/software codesign: The past, the present, and predicting the future}, + author={Teich, J{\"u}rgen}, + journal={Proceedings of the IEEE}, + volume={100}, + number={Special Centennial Issue}, + pages={1411--1430}, + year={2012}, + publisher={IEEE} +} + +@article{keutzer2000system, + title={System-level design: orthogonalization of concerns and platform-based design}, + author={Keutzer, Kurt and Rabaey, Jan M and Sangiovanni-Vincentelli, A and others}, + journal={Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on}, + volume={19}, + number={12}, + pages={1523--1543}, + year={2000}, + publisher={IEEE} +} + +@inproceedings{lin2013security, + title="Security-aware mapping for {CAN}-based real-time distributed automotive systems", + author={Lin, Chung-Wei and Zhu, Qi and Phung, Congchi and Sangiovanni-Vincentelli, Alberto}, + booktitle={Computer-Aided Design (ICCAD), 2013 IEEE/ACM International Conference on}, + pages={115--121}, + year={2013}, + organization={IEEE} +} + +@article{gerstlauer2009electronic, + title={Electronic system-level synthesis methodologies}, + author={Gerstlauer, Andreas and Haubelt, Christian and Pimentel, Andy D and Stefanov, Todor P and Gajski, Daniel D and Teich, J{\"u}rgen}, + journal={Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on}, + volume={28}, + number={10}, + pages={1517--1530}, + year={2009}, + publisher={IEEE} +} + +@inproceedings{gronbaek2008architecture, + title="Architecture for the {Internet of Things (IoT): API} and interconnect", + author={Gronbaek, I}, + booktitle={Sensor Technologies and Applications, 2008. SENSORCOMM'08. Second International Conference on}, + pages={802--807}, + year={2008}, + organization={IEEE} +} + +@article{pimentel2006systematic, + title={A systematic approach to exploring embedded system architectures at multiple abstraction levels}, + author={Pimentel, Andy D and Erbas, Cagkan and Polstra, Simon}, + journal={Computers, IEEE Transactions on}, + volume={55}, + number={2}, + pages={99--112}, + year={2006}, + publisher={IEEE} +} + +@phdthesis{sedcole2006reconfigurable, + title={Reconfigurable platform-based design in FPGAs for video image processing}, + author={Sedcole, Nicholas Peter}, + year={2006}, + school={Department of Electrical and Electronic Engineering, Imperial College} +} + +@techreport{benveniste2012contracts, + title={Contracts for system design}, + author={Benveniste, Albert and Caillaud, Beno{\^\i}t and Nickovic, Dejan and Passerone, Roberto and Raclet, Jean-Baptiste and Reinkemeier, Philipp and Sangiovanni-Vincentelli, Alberto and Damm, Werner and Henzinger, Thomas and Larsen, Kim G}, + number="RR-8147", + institution="INRIA", + year={2012} +} + +@article{pinto2004system, + title={System level design paradigms: Platform-based design and communication synthesis}, + author={Pinto, Alessandro and Bonivento, Alvise and Sangiovanni-Vincentelli, Alberto L and Passerone, Roberto and Sgroi, Marco}, + journal={ACM Transactions on Design Automation of Electronic Systems (TODAES)}, + volume={11}, + number={3}, + pages={537--563}, + year={2004}, + organization={ACM} +} + +@article{bonivento2006platform, + title={Platform based design for wireless sensor networks}, + author={Bonivento, Alvise and Carloni, Luca P and Sangiovanni-Vincentelli, Alberto}, + journal={Mobile Networks and Applications}, + volume={11}, + number={4}, + pages={469--485}, + year={2006}, + publisher={Springer-Verlag New York, Inc.} +} + +@inproceedings{pellizzoni2009handling, + title={Handling mixed-criticality in SoC-based real-time embedded systems}, + author={Pellizzoni, Rodolfo and Meredith, Patrick and Nam, Min-Young and Sun, Mu and Caccamo, Marco and Sha, Lui}, + booktitle={Proceedings of the seventh ACM International Conference on Embedded software}, + pages={235--244}, + year={2009}, + organization={ACM} +} + +@article{kreku2008combining, + title="Combining {UML2} application and {SystemC} platform modelling for performance evaluation of real-time embedded systems", + author={Kreku, Jari and Hoppari, Mika and Kestil{\"a}, Tuomo and Qu, Yang and Soininen, Juha-Pekka and Andersson, Per and Tiensyrj{\"a}, Kari}, + journal={EURASIP Journal on Embedded Systems}, + volume={2008}, + number={1}, + pages={1--18}, + year={2008}, + publisher={Springer} +} + +@article{gamatie2011model, + title={A model-driven design framework for massively parallel embedded systems}, + author={Gamati{\'e}, Abdoulaye and Le Beux, S{\'e}bastien and Piel, {\'E}ric and Ben Atitallah, Rabie and Etien, Anne and Marquet, Philippe and Dekeyser, Jean-Luc}, + journal={ACM Transactions on Embedded Computing Systems (TECS)}, + volume={10}, + number={4}, + pages={39}, + year={2011}, + publisher={ACM} +} + +@article{gruttner2013complex, + title="The {COMPLEX} reference framework for {HW/SW} co-design and power management supporting platform-based design-space exploration", + author={Gr{\"u}ttner, Kim and Hartmann, Philipp A and Hylla, Kai and Rosinger, Sven and Nebel, Wolfgang and Herrera, Fernando and Villar, Eugenio and Brandolese, Carlo and Fornaciari, William and Palermo, Gianluca and others}, + journal={Microprocessors and Microsystems}, + volume={37}, + number={8}, + pages={966--980}, + year={2013}, + publisher={Elsevier} +} + +@phdthesis{lin2015security, + title={Security Mechanisms and Security-Aware Mapping for Real-Time Distributed Embedded Systems}, + author={Lin, Chung-Wei}, + school={University of California, Berkeley}, + year={2015} +} + +@inproceedings{danger2009overview, + title={Overview of Dual rail with Precharge logic styles to thwart implementation-level attacks on hardware cryptoprocessors}, + author={Danger, Jean-Luc and Guilley, Sylvain and Bhasin, Shivam and Nassar, Maxime and Sauvage, Laurent}, + booktitle = {Proceedings of International Confereonce on Signals, Circuits and Systems}, + year={2009} +} + +@techreport{ellison2015extending, + title="Extending {AADL} for Security Design Assurance of Cyber-Physical Systems", + author={Ellison, Robert and Householder, Allen and Hudak, John and Kazman, Rick and Woody, Carol}, + number={CMU/SEI-2015-TR-014}, + institution="Software Engineering Institute", + year={2015} +} + +@techreport{CommonCriteria, + title={Common Criteria for Information Technology Security Evaluation}, + institution={ISO/IEC}, + number={ISO/IEC 15408}, + month={July}, + year={2015} +} + +@misc{ThomasNoll, + author="Thomas Noll", + title="{D-MILS and MILS-AADL}", + howpublished="AADL Standards Meeting", + month=jan, + year="2016" +} + +@misc{SecurityInAADL, + author="Julien Delange", + title="Improving System and Software Security with {AADL}", + url="https://insights.sei.cmu.edu/sei_blog/2016/02/improving-system-and-software-security-with-aadl.html", + month=feb, + year="2016" +} + +@misc{jeepHack, + author="Alex Drozhzhin", + title="{Black Hat USA} 2015: The full story of how that {Jeep} was hacked", + howpublished="https://blog.kaspersky.com/blackhat-jeep -cherokee-hack-explained/9493/", + month=aug, + year="2015" +} + +@misc{planeHack, + author="Kim Zetter", + title="Feds say that banned researcher commandeered a plane", + url="http://www.wired.com/2015/05/feds-say-banned-researcher-commandeered-plane/", + month=may, + year="2015" +} + +@misc{superFish, + author="Paco Hope", + title="Superfish adware weakens security and injects ads on some {Lenovo} laptops", + howpublished="http://www.techrepublic.com/article/superfish-adware-weakens-security-and-injects-ads-on-some-lenovo-laptops/", + month=feb, + year="2015" +} + +@misc{lenovoWPBT, + author="James Sanders", + title="Windows and {UEFI} anti-theft mechanism makes systems less secure", + howpublished="http://www.techrepublic.com/article/windows-and -uefi-anti-theft-mechanism-makes-systems-less-secure/", + month=aug, + year="2015" +} + +@misc{govHack, + author="Toluse Olorunnipa", + title="Breach of Employee Data Wider Than Initial Report, {U.S.} Says", + howpublished="http://www.bloomberg.com/politics/articles/2015-06-12/white-house-says-personnel-records-possibly-breached-twice", + month=jun, + year="2015" +} + +@misc{stageFright, + author="Steven J. Vaughan-Nicholas", + title="Stagefright: Just how scary is it for {Android} users?", + howpublished="http://www.zdnet.com/article/stagefright-just-how-scary-is-it-for-android-users/", + month=jul, + year="2015" +} + +@misc{stageFright2, + author="Zack Whittaker", + title="Stagefright is back, and affecting millions of {Android} devices", + howpublished="http://www.zdnet.com/article/new-stagefright-2-0-flaws-affect-millions-of-android-devices/", + month=oct, + year="2015" +} + +@misc{androidUpdates, + author="Kevin Tofel", + title="{HTC} says monthly {Android} security updates are {``unrealistic''}", + howpublished="http://www.zdnet.com/article/htc-says-monthly-stagefright-android-security-updates-are-unrealistic/", + month=oct, + year="2015" +} + +@misc{androidMarshmallow, + author="Jack Wallen", + title="The woes of {Android} updates, and how to fix the process", + howpublished="http://www.techrepublic.com/article/the-woes-of-android-updates-and-how-to-fix-the-process/", + month=nov, + year="2015" +} + +@misc{googleAndroid, + author="James Sanders", + title="Google finally doubles down on security with monthly {Android} updates", + howpublished="http://www.techrepublic.com/article/google-and-some -android-phone-vendors-introduce-welcome-changes-to-security-update-process/", + month=aug, + year="2015" +} + +@article{denning1996location, + title={Location-based authentication: Grounding cyberspace for better security}, + author={Denning, Dorothy E and MacDoran, Peter F}, + journal={Computer Fraud \& Security}, + volume={1996}, + number={2}, + pages={12--16}, + year={1996}, + publisher={Elsevier} +} + +@article{mapayi2013evaluating, + title={Evaluating usability factors in different authentication methods using artificial neural network}, + author={Mapayi, T and Olaniyan, O and Isamotu, N and Moses, O}, + journal={African Journal of Computing \& ICT}, + volume={6}, + number={1}, + pages={69--78}, + year={2013}, + publisher={Citeseer} +} + +@article{shi2013new, + title={A new user authentication protocol for wireless sensor networks using elliptic curves cryptography}, + author={Shi, Wenbo and Gong, Peng}, + journal={International Journal of Distributed Sensor Networks}, + volume={2013}, + year={2013}, + publisher={Hindawi Publishing Corporation} +} + +@article{saito2015case, + title={A case-based management system for secure software development using software security knowledge}, + author={Saito, Masahito and Hazeyama, Atsuo and Yoshioka, Nobukazu and Kobashi, Takanori and Washizaki, Hironori and Kaiya, Haruhiko and Ohkubo, Takao}, + journal={Procedia Computer Science}, + volume={60}, + pages={1092--1100}, + year={2015}, + publisher={Elsevier} +} + +@article{son2015software, + title={A Software Weakness Analysis Technique for Secure Software}, + author={Son, Yunsik and Lee, Yangsun and Oh, Seman}, + journal={Advanced Science and Technology Letters}, + volume={93}, + pages={5--8}, + year={2015} +} + +@article{denning2015toward, + title={Toward more secure software}, + author={Denning, Dorothy E}, + journal={Communications of the ACM}, + volume={58}, + number={4}, + pages={24--26}, + year={2015}, + publisher={ACM} +} + +@phdthesis{nguyen2015model, + title={Model-Driven Security With Modularity and Reusability For Engineering Secure Software Systems}, + author={Nguyen, Phu}, + year={2015}, + school={University of Luxembourg} +} + +@article{ravi2004security, + title={Security in embedded systems: Design challenges}, + author={Ravi, Srivaths and Raghunathan, Anand and Kocher, Paul and Hattangady, Sunil}, + journal={ACM Transactions on Embedded Computing Systems (TECS)}, + volume={3}, + number={3}, + pages={461--491}, + year={2004}, + publisher={ACM} +} + +@article{gokhale2008model, + title={Model driven middleware: A new paradigm for developing distributed real-time and embedded systems}, + author={Gokhale, Aniruddha and Balasubramanian, Krishnakumar and Krishna, Arvind S and Balasubramanian, Jaiganesh and Edwards, George and Deng, Gan and Turkay, Emre and Parsons, Jeffrey and Schmidt, Douglas C}, + journal={Science of Computer programming}, + volume={73}, + number={1}, + pages={39--58}, + year={2008}, + publisher={Elsevier} +} + +@article{aaraj2008analysis, + title={Analysis and design of a hardware/software trusted platform module for embedded systems}, + author={Aaraj, Najwa and Raghunathan, Anand and Jha, Niraj K}, + journal={ACM Transactions on Embedded Computing Systems (TECS)}, + volume={8}, + number={1}, + pages={8}, + year={2008}, + publisher={ACM} +} + +@inproceedings{perez2006vtpm, + title={vTPM: virtualizing the trusted platform module}, + author={Perez, Ronald and Sailer, Reiner and van Doorn, Leendert and others}, + booktitle={Proc. 15th Conf. on USENIX Security Symposium}, + pages={305--320}, + year={2006} +} + +% ----------- New Sources for the Tracking paper -------------------------- +@misc{ntopWebsite, + title="ntop - High Performance Network Monitoring Solutions", + url="http://www.ntop.org/", +} + +@misc{pfringWebsite, + title="{PF\_RING} - High-speed packet capture, filtering and analysis", + url="http://www.ntop.org/products/packet-capture/pf_ring/", +} + +@misc{PFRINGMan, + title="{PF\_RING} User Guide", + url="https://svn.ntop.org/svn/ntop/trunk/PF_RING/doc/UsersGuide.pdf", +} + +@misc{dataseriesGit, + title="DataSeries: structured serial data library", + url="https://github.com/dataseries/DataSeries", +} + +@misc{pandasPythonWebsite, + title="pandas: Python Data Analysis Library", + url="http://pandas.pydata.org/", +} + +@inproceedings{leung2008measurement, + title={Measurement and Analysis of Large-Scale Network File System Workloads}, + author={Leung, Andrew W and Pasupathy, Shankar and Goodson, Garth R and Miller, Ethan L}, + booktitle={USENIX Annual Technical Conference}, + pages={213--226}, + year={2008} +} + +@inproceedings{anderson2004buttress, + title={Buttress: A toolkit for flexible and high fidelity {I/O} benchmarking}, + author={Anderson, Eric and Kallahalla, Mahesh and Uysal, Mustafa and Swaminathan, Ram}, + booktitle={Proceedings of the 3rd USENIX Conference on File and Storage Technologies}, + pages={4--4}, + year={2004}, + organization={USENIX Association} +} + +@inproceedings{Orosz2013, + title={Multi-threaded Packet Timestamping for End-to-End {QoS} Evaluation}, + author={Orosz, Peter and Skopko, Tamas}, + booktitle={ICSNC 2013, The Eighth International Conference on Systems and Networks Communications}, + year={2013} +} + +@inproceedings{dabir2007bottleneck, + title="Bottleneck analysis of traffic monitoring using {Wireshark}", + author={Dabir, Abes and Matrawy, Ashraf}, + booktitle={Innovations in Information Technology, 2007. IIT'07. 4th International Conference on}, + pages={158--162}, + year={2007}, + organization={IEEE} +} + +@inproceedings{narayan2010characterization, + title={I/O characterization on a parallel file system}, + author={Narayan, Sumit and Chandy, John A}, + booktitle={Performance Evaluation of Computer and Telecommunication Systems (SPECTS), 2010 International Symposium on}, + pages={133--140}, + year={2010}, + organization={IEEE} +} + +@article{skopko2012loss, + title={Loss analysis of the software-based packet capturing}, + author={Skopk{\'o}, Tam{\'a}s}, + journal={Carpathian Journal of Electronic and Computer Engineering}, + volume={5}, + pages={107}, + year={2012}, + publisher={North University of Baia Mare} +} + +@article{seltzer2003nfs, + title="{NFS} Tricks and Benchmarking Traps", + author={Seltzer, Margo and Ellard, Daniel}, + year={2003}, + publisher={USENIX Association} +} + +@article{malkani2003passive, + title={Passive {NFS} tracing of email and research workloads}, + author={Malkani, Pia and Ellard, Daniel and Ledlie, Jonathan and Seltzer, Margo}, + year={2003}, + publisher={USENIX Association} +} + +@inproceedings{vogels1999file, + title="File system usage in {Windows NT 4.0}", + author={Vogels, Werner}, + booktitle={ACM SIGOPS Operating Systems Review}, + volume={33}, + number={5}, + pages={93--109}, + year={1999}, + organization={ACM} +} + +@article{traeger2008nine, + title={A nine year study of file system and storage benchmarking}, + author={Traeger, Avishay and Zadok, Erez and Joukov, Nikolai and Wright, Charles P}, + journal={ACM Transactions on Storage (TOS)}, + volume={4}, + number={2}, + pages={5}, + year={2008}, + publisher={ACM} +} + +@book{ruemmler1992unix, + title={UNIX disk access patterns}, + author={Ruemmler, Chris and Wilkes, John}, + year={1992}, + publisher={Hewlett-Packard Laboratories} +} + +@inproceedings{roselli2000comparison, + title={A Comparison of File System Workloads.}, + author={Roselli, Drew S and Lorch, Jacob R and Anderson, Thomas E}, + booktitle={USENIX Annual Technical Conference}, + pages={41--54}, + year={2000} +} + +@article{douceur1999large, + title={A large-scale study of file-system contents}, + author={Douceur, John R and Bolosky, William J}, + journal={ACM SIGMETRICS Performance Evaluation Review}, + volume={27}, + number={1}, + pages={59--70}, + year={1999}, + publisher={ACM} +} + +% Source for the Table of past examinations +@article{agrawal2007five, + title={A five-year study of file-system metadata}, + author={Agrawal, Nitin and Bolosky, William J and Douceur, John R and Lorch, Jacob R}, + journal={ACM Transactions on Storage (TOS)}, + volume={3}, + number={3}, + pages={9}, + year={2007}, + publisher={ACM} +} + +%@article{malkani2003passive, +% title={Passive NFS tracing of email and research workloads}, +% author={Malkani, Pia and Ellard, Daniel and Ledlie, Jonathan and Seltzer, Margo}, +% year={2003}, +% publisher={USENIX Association} +%} + +@inproceedings{baker1991measurements, + title={Measurements of a distributed file system}, + author={Baker, Mary G and Hartman, John H and Kupfer, Michael D and Shirriff, Ken W and Ousterhout, John K}, + booktitle={ACM SIGOPS Operating Systems Review}, + volume={25}, + number={5}, + pages={198--212}, + year={1991}, + organization={ACM} +} + +%@article{douceur1999large, +% title={A large-scale study of file-system contents}, +% author={Douceur, John R and Bolosky, William J}, +% journal={ACM SIGMETRICS Performance Evaluation Review}, +% volume={27}, +% number={1}, +% pages={59--70}, +% year={1999}, +% publisher={ACM} +%} + +@article{gribble1996self, + title={Self-similarity in File-systems: Measurements and Applications}, + author={Gribble, Steven D and Manku, Gurmeet Singh and Brewer, Eric A}, + journal={Unpublished Paper, Department of Computer Science, University of California, Berkeley}, + year={1996} +} + +@book{ousterhout1985trace, + title={A trace-driven analysis of the UNIX 4.2 BSD file system}, + author={Ousterhout, John K and Da Costa, Herve and Harrison, David and Kunze, John A and Kupfer, Mike and Thompson, James G}, + volume={19}, + number={5}, + year={1985}, + publisher={ACM} +} + +@inproceedings{ramakrishnan1992analysis, + title={Analysis of file I/O traces in commercial computing environments}, + author={Ramakrishnan, KK and Biswas, Prabuddha and Karedla, Ramakrishna}, + booktitle={ACM SIGMETRICS Performance Evaluation Review}, + volume={20}, + number={1}, + pages={78--90}, + year={1992}, + organization={ACM} +} + +%@inproceedings{roselli2000comparison, +% title={A Comparison of File System Workloads.}, +% author={Roselli, Drew S and Lorch, Jacob R and Anderson, Thomas E and others}, +% booktitle={USENIX annual technical conference, general track}, +% pages={41--54}, +% year={2000} +%} + +%@inproceedings{vogels1999file, +% title={File system usage in Windows NT 4.0}, +% author={Vogels, Werner}, +% booktitle={ACM SIGOPS Operating Systems Review}, +% volume={33}, +% number={5}, +% pages={93--109}, +% year={1999}, +% organization={ACM} +%} + +@inproceedings{zhou1999analysis, + title={Analysis of personal computer workloads}, + author={Zhou, Min and Smith, Alan Jay}, + booktitle={Modeling, Analysis and Simulation of Computer and Telecommunication Systems, 1999. Proceedings. 7th International Symposium on}, + pages={208--217}, + year={1999}, + organization={IEEE} +} + +@article{vrable2009cumulus, + title={Cumulus: Filesystem backup to the cloud}, + author={Vrable, Michael and Savage, Stefan and Voelker, Geoffrey M}, + journal={ACM Transactions on Storage (TOS)}, + volume={5}, + number={4}, + pages={14}, + year={2009}, + publisher={ACM} +} + +@inproceedings{benson2010network, + title={Network traffic characteristics of data centers in the wild}, + author={Benson, Theophilus and Akella, Aditya and Maltz, David A}, + booktitle={Proceedings of the 10th ACM SIGCOMM conference on Internet measurement}, + pages={267--280}, + year={2010}, + organization={ACM} +} + +@article{chen2012interactive, + title={Interactive analytical processing in big data systems: A cross-industry study of mapreduce workloads}, + author={Chen, Yanpei and Alspaugh, Sara and Katz, Randy}, + journal={Proceedings of the VLDB Endowment}, + volume={5}, + number={12}, + pages={1802--1813}, + year={2012}, + publisher={VLDB Endowment} +} \ No newline at end of file diff --git a/trackingPaper.aux b/trackingPaper.aux new file mode 100644 index 0000000..d82ae14 --- /dev/null +++ b/trackingPaper.aux @@ -0,0 +1,166 @@ +\relax +\citation{leung2008measurement} +\citation{PFRINGMan} +\citation{ousterhout1985trace} +\citation{ramakrishnan1992analysis} +\citation{baker1991measurements} +\citation{gribble1996self} +\citation{douceur1999large} +\citation{vogels1999file} +\citation{zhou1999analysis} +\citation{roselli2000comparison} +\citation{malkani2003passive} +\citation{agrawal2007five} +\citation{leung2008measurement} +\citation{vrable2009cumulus} +\citation{benson2010network} +\citation{chen2012interactive} +\citation{vogels1999file} +\citation{malkani2003passive} +\citation{seltzer2003nfs} +\citation{anderson2004buttress} +\citation{Orosz2013} +\citation{dabir2007bottleneck} +\citation{skopko2012loss} +\citation{traeger2008nine} +\citation{ruemmler1992unix} +\citation{roselli2000comparison} +\citation{traeger2008nine} +\citation{ruemmler1992unix} +\citation{douceur1999large} +\citation{malkani2003passive} +\citation{seltzer2003nfs} +\citation{leung2008measurement} +\citation{roselli2000comparison} +\citation{seltzer2003nfs} +\citation{leung2008measurement} +\citation{leung2008measurement} +\citation{vogels1999file} +\citation{roselli2000comparison} +\citation{seltzer2003nfs} +\citation{anderson2004buttress} +\@writefile{toc}{\contentsline {section}{\numberline {I}Introduction}{1}\protected@file@percent } +\citation{leung2008measurement} +\citation{leung2008measurement} +\citation{anderson2004buttress} +\citation{Orosz2013} +\citation{dabir2007bottleneck} +\citation{skopko2012loss} +\citation{leung2008measurement} +\citation{roselli2000comparison} +\citation{seltzer2003nfs} +\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {I-A}}Related Work}{2}\protected@file@percent } +\newlabel{Previous Advances Due to Testing}{{\unhbox \voidb@x \hbox {I-A}}{2}} +\@writefile{toc}{\contentsline {section}{\numberline {II}Background}{2}\protected@file@percent } +\citation{Orosz2013} +\citation{dabir2007bottleneck} +\citation{skopko2012loss} +\citation{anderson2004buttress} +\citation{PFRINGMan} +\citation{Orosz2013} +\@writefile{lot}{\contentsline {table}{\numberline {I}{\ignorespaces Summary of major file system studies over the past decades. For each study the tables shows the dates of the trace data, the file system or protocol studied, whether it involved network file systems, the trace methodology used, and the workloads studied. Dynamic trace studies are those that involve traces of live requests. Snapshot studies involve snapshots of file system contents.}}{3}\protected@file@percent } +\newlabel{tbl:studySummary}{{I}{3}} +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Visualization of SMB Packet}}{3}\protected@file@percent } +\newlabel{fig:smbPacket}{{1}{3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {II-A}}Issues with Tracing}{3}\protected@file@percent } +\newlabel{Issues with Tracing}{{\unhbox \voidb@x \hbox {II-A}}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {III}Packet Capturing System}{3}\protected@file@percent } +\citation{ntopWebsite} +\citation{pfringWebsite} +\citation{dataseriesGit} +\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {III-A}}UITS System Overview}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {III-B}}High-speed Packet Capture}{4}\protected@file@percent } +\newlabel{Capture}{{\unhbox \voidb@x \hbox {III-B}}{4}} +\newlabel{tbl:TraceSummaryTotal}{{IV}{4}} +\@writefile{lot}{\contentsline {table}{\numberline {II}{\ignorespaces Summary of Trace I/O Statistics for the time of February 3rd, 2019 to March 15th, 2019}}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {III-C}}DataSeries Analysis}{4}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {IV}Data Analysis}{4}\protected@file@percent } +\newlabel{sec:data-analysis}{{IV}{4}} +\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Visualization of Packet Capturing System}}{5}\protected@file@percent } +\newlabel{fig:captureTopology}{{2}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {IV-A}}I/O Data Request Sizes}{5}\protected@file@percent } +\@writefile{lot}{\contentsline {table}{\numberline {III}{\ignorespaces Percentage of SMB and SMB2 Protocol Commands on March 15th. Breakdown of General Operations for SMB2}}{5}\protected@file@percent } +\newlabel{tbl:SMBCommands}{{III}{5}} +\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces CDF of Bytes Transferred for Read I/O}}{6}\protected@file@percent } +\newlabel{fig:CDF-Bytes-Read}{{3}{6}} +\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces CDF of Bytes Transferred for Write I/O}}{6}\protected@file@percent } +\newlabel{fig:CDF-Bytes-Write}{{4}{6}} +\@writefile{lot}{\contentsline {table}{\numberline {IV}{\ignorespaces Percentage of transfer sizes for reads and writes}}{6}\protected@file@percent } +\newlabel{fig:transferSizes}{{IV}{6}} +\@writefile{lot}{\contentsline {table}{\numberline {V}{\ignorespaces Summary of Trace Statistics: Average Response Time (RT) and Inter Arrival Time (IAT)}}{6}\protected@file@percent } +\newlabel{tbl:PercentageTraceSummary}{{V}{6}} +\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {IV-B}}I/O Response Times}{6}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces CDF of Inter Arrival Time for General I/O}}{7}\protected@file@percent } +\newlabel{fig:CDF-IAT-General}{{5}{7}} +\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces PDF of Inter Arrival Time for General I/O}}{7}\protected@file@percent } +\newlabel{fig:PDF-IAT-General}{{6}{7}} +\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces CDF of Inter Arrival Time for Read I/O}}{7}\protected@file@percent } +\newlabel{fig:CDF-IAT-Read}{{7}{7}} +\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces PDF of Inter Arrival Time for Read I/O}}{7}\protected@file@percent } +\newlabel{fig:PDF-IAT-Read}{{8}{7}} +\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces CDF of Inter Arrival Time for Write I/O}}{7}\protected@file@percent } +\newlabel{fig:CDF-IAT-Write}{{9}{7}} +\@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces PDF of Inter Arrival Time for Write I/O}}{8}\protected@file@percent } +\newlabel{fig:PDF-IAT-Write}{{10}{8}} +\@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces CDF of Inter Arrival Time for Create I/O}}{8}\protected@file@percent } +\newlabel{fig:CDF-IAT-Create}{{11}{8}} +\@writefile{lof}{\contentsline {figure}{\numberline {12}{\ignorespaces PDF of Inter Arrival Time for Create I/O}}{8}\protected@file@percent } +\newlabel{fig:PDF-IAT-Create}{{12}{8}} +\@writefile{lof}{\contentsline {figure}{\numberline {13}{\ignorespaces CDF of Response Time for General I/O}}{8}\protected@file@percent } +\newlabel{fig:CDF-RT-General}{{13}{8}} +\@writefile{lof}{\contentsline {figure}{\numberline {14}{\ignorespaces PDF of Response Time for General I/O}}{8}\protected@file@percent } +\newlabel{fig:PDF-RT-General}{{14}{8}} +\@writefile{lof}{\contentsline {figure}{\numberline {15}{\ignorespaces CDF of Response Time for Read I/O}}{8}\protected@file@percent } +\newlabel{fig:CDF-RT-Read}{{15}{8}} +\@writefile{lof}{\contentsline {figure}{\numberline {16}{\ignorespaces PDF of Response Time for Read I/O}}{8}\protected@file@percent } +\newlabel{fig:PDF-RT-Read}{{16}{8}} +\citation{Orosz2013} +\citation{dabir2007bottleneck} +\citation{skopko2012loss} +\citation{Orosz2013} +\citation{seltzer2003nfs} +\citation{anderson2004buttress} +\@writefile{lof}{\contentsline {figure}{\numberline {17}{\ignorespaces CDF of Return Time for Write IO}}{9}\protected@file@percent } +\newlabel{fig:CDF-RT-Write}{{17}{9}} +\@writefile{lof}{\contentsline {figure}{\numberline {18}{\ignorespaces PDF of Return Time for Write IO}}{9}\protected@file@percent } +\newlabel{fig:PDF-RT-Write}{{18}{9}} +\@writefile{lof}{\contentsline {figure}{\numberline {19}{\ignorespaces CDF of Response Time for Create I/O}}{9}\protected@file@percent } +\newlabel{fig:CDF-RT-Create}{{19}{9}} +\@writefile{lof}{\contentsline {figure}{\numberline {20}{\ignorespaces PDF of Response Time for Create I/O}}{9}\protected@file@percent } +\newlabel{fig:PDF-RT-Create}{{20}{9}} +\@writefile{lot}{\contentsline {table}{\numberline {VI}{\ignorespaces Comparison of $\mu $, $\sigma $, $k$, and $\lambda $ Values for Curve Fitting Equations on CDF Graphs}}{9}\protected@file@percent } +\newlabel{tbl:curveFitting}{{VI}{9}} +\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {IV-C}}Distribution Models}{9}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {IV-D}}System Limitations and Challenges}{9}\protected@file@percent } +\newlabel{System Limitations and Challenges}{{\unhbox \voidb@x \hbox {IV-D}}{9}} +\bibstyle{IEEEtran} +\bibdata{sigproc} +\bibcite{leung2008measurement}{1} +\bibcite{PFRINGMan}{2} +\bibcite{ousterhout1985trace}{3} +\bibcite{ramakrishnan1992analysis}{4} +\@writefile{toc}{\contentsline {section}{\numberline {V}Conclusions and Future Work}{10}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {V-A}}Future Work}{10}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{References}{10}\protected@file@percent } +\bibcite{baker1991measurements}{5} +\bibcite{gribble1996self}{6} +\bibcite{douceur1999large}{7} +\bibcite{vogels1999file}{8} +\bibcite{zhou1999analysis}{9} +\bibcite{roselli2000comparison}{10} +\bibcite{malkani2003passive}{11} +\bibcite{agrawal2007five}{12} +\bibcite{vrable2009cumulus}{13} +\bibcite{benson2010network}{14} +\bibcite{chen2012interactive}{15} +\bibcite{seltzer2003nfs}{16} +\bibcite{anderson2004buttress}{17} +\bibcite{Orosz2013}{18} +\bibcite{dabir2007bottleneck}{19} +\bibcite{skopko2012loss}{20} +\bibcite{traeger2008nine}{21} +\bibcite{ruemmler1992unix}{22} +\bibcite{ntopWebsite}{23} +\bibcite{pfringWebsite}{24} +\bibcite{dataseriesGit}{25} +\bibcite{pandasPythonWebsite}{26} diff --git a/trackingPaper.bbl b/trackingPaper.bbl new file mode 100644 index 0000000..8abb6ef --- /dev/null +++ b/trackingPaper.bbl @@ -0,0 +1,161 @@ +% Generated by IEEEtran.bst, version: 1.14 (2015/08/26) +\begin{thebibliography}{10} +\providecommand{\url}[1]{#1} +\csname url@samestyle\endcsname +\providecommand{\newblock}{\relax} +\providecommand{\bibinfo}[2]{#2} +\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax} +\providecommand{\BIBentryALTinterwordstretchfactor}{4} +\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus +\BIBentryALTinterwordstretchfactor\fontdimen3\font minus + \fontdimen4\font\relax} +\providecommand{\BIBforeignlanguage}[2]{{% +\expandafter\ifx\csname l@#1\endcsname\relax +\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}% +\typeout{** loaded for the language `#1'. Using the pattern for}% +\typeout{** the default language instead.}% +\else +\language=\csname l@#1\endcsname +\fi +#2}} +\providecommand{\BIBdecl}{\relax} +\BIBdecl + +\bibitem{leung2008measurement} +A.~W. Leung, S.~Pasupathy, G.~R. Goodson, and E.~L. Miller, ``Measurement and + analysis of large-scale network file system workloads,'' in \emph{USENIX + Annual Technical Conference}, 2008, pp. 213--226. + +\bibitem{PFRINGMan} +\BIBentryALTinterwordspacing +``{PF\_RING} user guide.'' [Online]. Available: + \url{https://svn.ntop.org/svn/ntop/trunk/PF_RING/doc/UsersGuide.pdf} +\BIBentrySTDinterwordspacing + +\bibitem{ousterhout1985trace} +J.~K. Ousterhout, H.~Da~Costa, D.~Harrison, J.~A. Kunze, M.~Kupfer, and J.~G. + Thompson, \emph{A trace-driven analysis of the UNIX 4.2 BSD file + system}.\hskip 1em plus 0.5em minus 0.4em\relax ACM, 1985, vol.~19, no.~5. + +\bibitem{ramakrishnan1992analysis} +K.~Ramakrishnan, P.~Biswas, and R.~Karedla, ``Analysis of file i/o traces in + commercial computing environments,'' in \emph{ACM SIGMETRICS Performance + Evaluation Review}, vol.~20, no.~1.\hskip 1em plus 0.5em minus 0.4em\relax + ACM, 1992, pp. 78--90. + +\bibitem{baker1991measurements} +M.~G. Baker, J.~H. Hartman, M.~D. Kupfer, K.~W. Shirriff, and J.~K. Ousterhout, + ``Measurements of a distributed file system,'' in \emph{ACM SIGOPS Operating + Systems Review}, vol.~25, no.~5.\hskip 1em plus 0.5em minus 0.4em\relax ACM, + 1991, pp. 198--212. + +\bibitem{gribble1996self} +S.~D. Gribble, G.~S. Manku, and E.~A. Brewer, ``Self-similarity in + file-systems: Measurements and applications,'' \emph{Unpublished Paper, + Department of Computer Science, University of California, Berkeley}, 1996. + +\bibitem{douceur1999large} +J.~R. Douceur and W.~J. Bolosky, ``A large-scale study of file-system + contents,'' \emph{ACM SIGMETRICS Performance Evaluation Review}, vol.~27, + no.~1, pp. 59--70, 1999. + +\bibitem{vogels1999file} +W.~Vogels, ``File system usage in {Windows NT 4.0},'' in \emph{ACM SIGOPS + Operating Systems Review}, vol.~33, no.~5.\hskip 1em plus 0.5em minus + 0.4em\relax ACM, 1999, pp. 93--109. + +\bibitem{zhou1999analysis} +M.~Zhou and A.~J. Smith, ``Analysis of personal computer workloads,'' in + \emph{Modeling, Analysis and Simulation of Computer and Telecommunication + Systems, 1999. Proceedings. 7th International Symposium on}.\hskip 1em plus + 0.5em minus 0.4em\relax IEEE, 1999, pp. 208--217. + +\bibitem{roselli2000comparison} +D.~S. Roselli, J.~R. Lorch, and T.~E. Anderson, ``A comparison of file system + workloads.'' in \emph{USENIX Annual Technical Conference}, 2000, pp. 41--54. + +\bibitem{malkani2003passive} +P.~Malkani, D.~Ellard, J.~Ledlie, and M.~Seltzer, ``Passive {NFS} tracing of + email and research workloads,'' 2003. + +\bibitem{agrawal2007five} +N.~Agrawal, W.~J. Bolosky, J.~R. Douceur, and J.~R. Lorch, ``A five-year study + of file-system metadata,'' \emph{ACM Transactions on Storage (TOS)}, vol.~3, + no.~3, p.~9, 2007. + +\bibitem{vrable2009cumulus} +M.~Vrable, S.~Savage, and G.~M. Voelker, ``Cumulus: Filesystem backup to the + cloud,'' \emph{ACM Transactions on Storage (TOS)}, vol.~5, no.~4, p.~14, + 2009. + +\bibitem{benson2010network} +T.~Benson, A.~Akella, and D.~A. Maltz, ``Network traffic characteristics of + data centers in the wild,'' in \emph{Proceedings of the 10th ACM SIGCOMM + conference on Internet measurement}.\hskip 1em plus 0.5em minus 0.4em\relax + ACM, 2010, pp. 267--280. + +\bibitem{chen2012interactive} +Y.~Chen, S.~Alspaugh, and R.~Katz, ``Interactive analytical processing in big + data systems: A cross-industry study of mapreduce workloads,'' + \emph{Proceedings of the VLDB Endowment}, vol.~5, no.~12, pp. 1802--1813, + 2012. + +\bibitem{seltzer2003nfs} +M.~Seltzer and D.~Ellard, ``{NFS} tricks and benchmarking traps,'' 2003. + +\bibitem{anderson2004buttress} +E.~Anderson, M.~Kallahalla, M.~Uysal, and R.~Swaminathan, ``Buttress: A toolkit + for flexible and high fidelity {I/O} benchmarking,'' in \emph{Proceedings of + the 3rd USENIX Conference on File and Storage Technologies}.\hskip 1em plus + 0.5em minus 0.4em\relax USENIX Association, 2004, pp. 4--4. + +\bibitem{Orosz2013} +P.~Orosz and T.~Skopko, ``Multi-threaded packet timestamping for end-to-end + {QoS} evaluation,'' in \emph{ICSNC 2013, The Eighth International Conference + on Systems and Networks Communications}, 2013. + +\bibitem{dabir2007bottleneck} +A.~Dabir and A.~Matrawy, ``Bottleneck analysis of traffic monitoring using + {Wireshark},'' in \emph{Innovations in Information Technology, 2007. IIT'07. + 4th International Conference on}.\hskip 1em plus 0.5em minus 0.4em\relax + IEEE, 2007, pp. 158--162. + +\bibitem{skopko2012loss} +T.~Skopk{\'o}, ``Loss analysis of the software-based packet capturing,'' + \emph{Carpathian Journal of Electronic and Computer Engineering}, vol.~5, p. + 107, 2012. + +\bibitem{traeger2008nine} +A.~Traeger, E.~Zadok, N.~Joukov, and C.~P. Wright, ``A nine year study of file + system and storage benchmarking,'' \emph{ACM Transactions on Storage (TOS)}, + vol.~4, no.~2, p.~5, 2008. + +\bibitem{ruemmler1992unix} +C.~Ruemmler and J.~Wilkes, \emph{UNIX disk access patterns}.\hskip 1em plus + 0.5em minus 0.4em\relax Hewlett-Packard Laboratories, 1992. + +\bibitem{ntopWebsite} +\BIBentryALTinterwordspacing +``ntop - high performance network monitoring solutions.'' [Online]. Available: + \url{http://www.ntop.org/} +\BIBentrySTDinterwordspacing + +\bibitem{pfringWebsite} +\BIBentryALTinterwordspacing +``{PF\_RING} - high-speed packet capture, filtering and analysis.'' [Online]. + Available: \url{http://www.ntop.org/products/packet-capture/pf_ring/} +\BIBentrySTDinterwordspacing + +\bibitem{dataseriesGit} +\BIBentryALTinterwordspacing +``Dataseries: structured serial data library.'' [Online]. Available: + \url{https://github.com/dataseries/DataSeries} +\BIBentrySTDinterwordspacing + +\bibitem{pandasPythonWebsite} +\BIBentryALTinterwordspacing +``pandas: Python data analysis library.'' [Online]. Available: + \url{http://pandas.pydata.org/} +\BIBentrySTDinterwordspacing + +\end{thebibliography} diff --git a/trackingPaper.blg b/trackingPaper.blg new file mode 100644 index 0000000..f115676 --- /dev/null +++ b/trackingPaper.blg @@ -0,0 +1,75 @@ +This is BibTeX, Version 0.99d (TeX Live 2017/Arch Linux) +Capacity: max_strings=100000, hash_size=100000, hash_prime=85009 +The top-level auxiliary file: trackingPaper.aux +The style file: IEEEtran.bst +Reallocated singl_function (elt_size=8) to 100 items from 50. +Reallocated singl_function (elt_size=8) to 100 items from 50. +Reallocated singl_function (elt_size=8) to 100 items from 50. +Reallocated wiz_functions (elt_size=8) to 6000 items from 3000. +Reallocated singl_function (elt_size=8) to 100 items from 50. +Database file #1: sigproc.bib +Repeated entry---line 619 of file sigproc.bib + : %@article{malkani2003passive + : , +I'm skipping whatever remains of this entry +Repeated entry---line 637 of file sigproc.bib + : %@article{douceur1999large + : , +I'm skipping whatever remains of this entry +Repeated entry---line 675 of file sigproc.bib + : %@inproceedings{roselli2000comparison + : , +I'm skipping whatever remains of this entry +Repeated entry---line 683 of file sigproc.bib + : %@inproceedings{vogels1999file + : , +I'm skipping whatever remains of this entry +-- IEEEtran.bst version 1.14 (2015/08/26) by Michael Shell. +-- http://www.michaelshell.org/tex/ieeetran/bibtex/ +-- See the "IEEEtran_bst_HOWTO.pdf" manual for usage information. +Warning--empty journal in malkani2003passive +Warning--empty journal in seltzer2003nfs + +Done. +You've used 26 entries, + 4087 wiz_defined-function locations, + 956 strings with 11483 characters, +and the built_in function-call counts, 16473 in all, are: += -- 1276 +> -- 355 +< -- 113 ++ -- 188 +- -- 63 +* -- 773 +:= -- 2495 +add.period$ -- 59 +call.type$ -- 26 +change.case$ -- 24 +chr.to.int$ -- 237 +cite$ -- 28 +duplicate$ -- 1248 +empty$ -- 1467 +format.name$ -- 82 +if$ -- 3843 +int.to.chr$ -- 0 +int.to.str$ -- 26 +missing$ -- 231 +newline$ -- 111 +num.names$ -- 21 +pop$ -- 593 +preamble$ -- 1 +purify$ -- 0 +quote$ -- 2 +skip$ -- 1278 +stack$ -- 0 +substring$ -- 590 +swap$ -- 919 +text.length$ -- 34 +text.prefix$ -- 0 +top$ -- 5 +type$ -- 26 +warning$ -- 2 +while$ -- 69 +width$ -- 28 +write$ -- 260 +(There were 4 error messages) diff --git a/trackingPaper.log b/trackingPaper.log new file mode 100644 index 0000000..ab28821 --- /dev/null +++ b/trackingPaper.log @@ -0,0 +1,759 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/Arch Linux) (preloaded format=pdflatex 2019.4.3) 16 APR 2019 17:54 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**trackingPaper.tex +(./trackingPaper.tex +LaTeX2e <2018-12-01> +(/usr/share/texmf-dist/tex/latex/IEEEtran/IEEEtran.cls +Document Class: IEEEtran 2015/08/26 V1.8b by Michael Shell +-- See the "IEEEtran_HOWTO" manual for usage information. +-- http://www.michaelshell.org/tex/ieeetran/ +\@IEEEtrantmpdimenA=\dimen102 +\@IEEEtrantmpdimenB=\dimen103 +\@IEEEtrantmpdimenC=\dimen104 +\@IEEEtrantmpcountA=\count80 +\@IEEEtrantmpcountB=\count81 +\@IEEEtrantmpcountC=\count82 +\@IEEEtrantmptoksA=\toks14 +LaTeX Font Info: Try loading font information for OT1+ptm on input line 503. + +(/usr/share/texmf-dist/tex/latex/psnfss/ot1ptm.fd +File: ot1ptm.fd 2001/06/04 font definitions for OT1/ptm. +) +-- Using 8.5in x 11in (letter) paper. +-- Using PDF output. +\@IEEEnormalsizeunitybaselineskip=\dimen105 +-- This is a 10 point document. +\CLASSINFOnormalsizebaselineskip=\dimen106 +\CLASSINFOnormalsizeunitybaselineskip=\dimen107 +\IEEEnormaljot=\dimen108 +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <5> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 1090. +LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <5> not available +(Font) Font shape `OT1/ptm/b/it' tried instead on input line 1090. + +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <7> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 1090. +LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <7> not available +(Font) Font shape `OT1/ptm/b/it' tried instead on input line 1090. + +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <8> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 1090. +LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <8> not available +(Font) Font shape `OT1/ptm/b/it' tried instead on input line 1090. + +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <9> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 1090. +LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <9> not available +(Font) Font shape `OT1/ptm/b/it' tried instead on input line 1090. + +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <10> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 1090. +LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <10> not available +(Font) Font shape `OT1/ptm/b/it' tried instead on input line 1090. + +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <11> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 1090. +LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <11> not available +(Font) Font shape `OT1/ptm/b/it' tried instead on input line 1090. + +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <12> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 1090. +LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <12> not available +(Font) Font shape `OT1/ptm/b/it' tried instead on input line 1090. + +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <17> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 1090. +LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <17> not available +(Font) Font shape `OT1/ptm/b/it' tried instead on input line 1090. + +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <20> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 1090. +LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <20> not available +(Font) Font shape `OT1/ptm/b/it' tried instead on input line 1090. + +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <24> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 1090. +LaTeX Font Info: Font shape `OT1/ptm/bx/it' in size <24> not available +(Font) Font shape `OT1/ptm/b/it' tried instead on input line 1090. + +\IEEEquantizedlength=\dimen109 +\IEEEquantizedlengthdiff=\dimen110 +\IEEEquantizedtextheightdiff=\dimen111 +\IEEEilabelindentA=\dimen112 +\IEEEilabelindentB=\dimen113 +\IEEEilabelindent=\dimen114 +\IEEEelabelindent=\dimen115 +\IEEEdlabelindent=\dimen116 +\IEEElabelindent=\dimen117 +\IEEEiednormlabelsep=\dimen118 +\IEEEiedmathlabelsep=\dimen119 +\IEEEiedtopsep=\skip41 +\c@section=\count83 +\c@subsection=\count84 +\c@subsubsection=\count85 +\c@paragraph=\count86 +\c@IEEEsubequation=\count87 +\abovecaptionskip=\skip42 +\belowcaptionskip=\skip43 +\c@figure=\count88 +\c@table=\count89 +\@IEEEeqnnumcols=\count90 +\@IEEEeqncolcnt=\count91 +\@IEEEsubeqnnumrollback=\count92 +\@IEEEquantizeheightA=\dimen120 +\@IEEEquantizeheightB=\dimen121 +\@IEEEquantizeheightC=\dimen122 +\@IEEEquantizeprevdepth=\dimen123 +\@IEEEquantizemultiple=\count93 +\@IEEEquantizeboxA=\box27 +\@IEEEtmpitemindent=\dimen124 +\IEEEPARstartletwidth=\dimen125 +\c@IEEEbiography=\count94 +\@IEEEtranrubishbin=\box28 +) (/usr/share/texmf-dist/tex/latex/listings/listings.sty +(/usr/share/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks15 +) +\lst@mode=\count95 +\lst@gtempboxa=\box29 +\lst@token=\toks16 +\lst@length=\count96 +\lst@currlwidth=\dimen126 +\lst@column=\count97 +\lst@pos=\count98 +\lst@lostspace=\dimen127 +\lst@width=\dimen128 +\lst@newlines=\count99 +\lst@lineno=\count100 +\lst@maxwidth=\dimen129 + +(/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty +File: lstmisc.sty 2018/09/02 1.7 (Carsten Heinz) +\c@lstnumber=\count101 +\lst@skipnumbers=\count102 +\lst@framebox=\box30 +) +(/usr/share/texmf-dist/tex/latex/listings/listings.cfg +File: listings.cfg 2018/09/02 1.7 listings configuration +)) +Package: listings 2018/09/02 1.7 (Carsten Heinz) + +(/usr/share/texmf-dist/tex/latex/graphics/color.sty +Package: color 2016/07/10 v1.1e Standard LaTeX Color (DPC) + +(/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package color Info: Driver file: pdftex.def on input line 147. + +(/usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +)) +(/usr/share/texmf-dist/tex/latex/preprint/balance.sty +Package: balance 1999/02/23 4.3 (PWD) +\oldvsize=\dimen130 +) +(/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. +) +\Gin@req@height=\dimen131 +\Gin@req@width=\dimen132 +) +(/usr/share/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip10 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +(/usr/share/texmf-dist/tex/latex/tools/tabularx.sty +Package: tabularx 2016/02/03 v2.11b `tabularx' package (DPC) + +(/usr/share/texmf-dist/tex/latex/tools/array.sty +Package: array 2018/12/30 v2.4k Tabular extension package (FMi) +\col@sep=\dimen133 +\ar@mcellbox=\box31 +\extrarowheight=\dimen134 +\NC@list=\toks17 +\extratabsurround=\skip44 +\backup@length=\skip45 +\ar@cellbox=\box32 +) +\TX@col@width=\dimen135 +\TX@old@table=\dimen136 +\TX@old@col=\dimen137 +\TX@target=\dimen138 +\TX@delta=\dimen139 +\TX@cols=\count103 +\TX@ftn=\toks18 +) +(/usr/share/texmf-dist/tex/latex/booktabs/booktabs.sty +Package: booktabs 2016/04/27 v1.618033 publication quality tables +\heavyrulewidth=\dimen140 +\lightrulewidth=\dimen141 +\cmidrulewidth=\dimen142 +\belowrulesep=\dimen143 +\belowbottomsep=\dimen144 +\aboverulesep=\dimen145 +\abovetopsep=\dimen146 +\cmidrulesep=\dimen147 +\cmidrulekern=\dimen148 +\defaultaddspace=\dimen149 +\@cmidla=\count104 +\@cmidlb=\count105 +\@aboverulesep=\dimen150 +\@belowrulesep=\dimen151 +\@thisruleclass=\count106 +\@lastruleclass=\count107 +\@thisrulewidth=\dimen152 +) +(/usr/share/texmf-dist/tex/latex/multirow/multirow.sty +Package: multirow 2019/01/01 v2.4 Span multiple rows of a table +\multirow@colwidth=\skip46 +\multirow@cntb=\count108 +\multirow@dima=\skip47 +\bigstrutjot=\dimen153 +) +(/usr/share/texmf-dist/tex/generic/ulem/ulem.sty +\UL@box=\box33 +\UL@hyphenbox=\box34 +\UL@skip=\skip48 +\UL@hook=\toks19 +\UL@height=\dimen154 +\UL@pe=\count109 +\UL@pixel=\dimen155 +\ULC@box=\box35 +Package: ulem 2012/05/18 +\ULdepth=\dimen156 +) (./trackingPaper.aux) +\openout1 = `trackingPaper.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 112. +LaTeX Font Info: ... okay on input line 112. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 112. +LaTeX Font Info: ... okay on input line 112. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 112. +LaTeX Font Info: ... okay on input line 112. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 112. +LaTeX Font Info: ... okay on input line 112. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 112. +LaTeX Font Info: ... okay on input line 112. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 112. +LaTeX Font Info: ... okay on input line 112. + +-- Lines per column: 56 (exact). +\c@lstlisting=\count110 +(/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count111 +\scratchdimen=\dimen157 +\scratchbox=\box36 +\nofMPsegments=\count112 +\nofMParguments=\count113 +\everyMPshowfont=\toks20 +\MPscratchCnt=\count114 +\MPscratchDim=\dimen158 +\MPnumerator=\count115 +\makeMPintoPDFobject=\count116 +\everyMPtoPDFconversion=\toks21 +) (/usr/share/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/share/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) + +(/usr/share/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +))) +(/usr/share/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) + +(/usr/share/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +(/usr/share/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2018/09/10 v0.29 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2018/09/07 v3.3 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) + +LaTeX Warning: No \author given. + + +LaTeX Warning: No \author given. + + +LaTeX Warning: No \author given. + + +LaTeX Warning: No positions in optional float specifier. + Default added (so using `tbp') on input line 194. + +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 196. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 196. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 196. + +Underfull \hbox (badness 10000) in paragraph at lines 193--224 + + [] + + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [1{/home/duncan/.texlive/texmf-var/fonts/map/pdftex/updmap/pdftex.map} + + +] +Underfull \hbox (badness 1603) in paragraph at lines 241--243 +\OT1/ptm/m/n/10 il-lu-mi-na-tion of these un-der-ly-ing ac-tions (e.g. read-wri +te + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 241--243 + + [] + +[2] +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 257. +<./images/smbPacket.jpg, id=13, 684.5575pt x 337.26pt> +File: ./images/smbPacket.jpg Graphic file (type jpg) + +Package pdftex.def Info: ./images/smbPacket.jpg used on input line 263. +(pdftex.def) Requested size: 258.0pt x 127.1103pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 263--264 +[][] + [] + +[3 <./images/smbPacket.jpg>] +LaTeX Font Info: Try loading font information for OT1+pcr on input line 299. + + (/usr/share/texmf-dist/tex/latex/psnfss/ot1pcr.fd +File: ot1pcr.fd 2001/06/04 font definitions for OT1/pcr. +) +<./images/packetcapturetopology.png, id=18, 3769.08125pt x 1547.7825pt> +File: ./images/packetcapturetopology.png Graphic file (type png) + +Package pdftex.def Info: ./images/packetcapturetopology.png used on input line + 308. +(pdftex.def) Requested size: 516.0pt x 211.89377pt. + +LaTeX Warning: No positions in optional float specifier. + Default added (so using `tbp') on input line 327. + +[4] +Overfull \hbox (34.75874pt too wide) in paragraph at lines 376--414 + [][] + [] + + +LaTeX Warning: Reference `fig:IO-All' on page 5 undefined on input line 420. + + +LaTeX Warning: Reference `fig:IO-R+W' on page 5 undefined on input line 420. + + +LaTeX Warning: Reference `fig:IO-All' on page 5 undefined on input line 420. + + +LaTeX Warning: Reference `fig:IO-R+W' on page 5 undefined on input line 420. + + +LaTeX Warning: Reference `fig:IO-All' on page 5 undefined on input line 420. + + +LaTeX Warning: Reference `fig:Agg-AvgBytes' on page 5 undefined on input line 4 +33. + +<./images/smb_read_bytes_cdf.pdf, id=26, 361.35pt x 216.81pt> +File: ./images/smb_read_bytes_cdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_read_bytes_cdf.pdf used on input line 44 +9. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 449--450 +[][] + [] + +[5 <./images/packetcapturetopology.png>] +<./images/smb_write_bytes_cdf.pdf, id=31, 361.35pt x 216.81pt> +File: ./images/smb_write_bytes_cdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_write_bytes_cdf.pdf used on input line 4 +55. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 455--456 +[][] + [] + + +LaTeX Warning: Reference `fig:bytesCompare' on page 6 undefined on input line 4 +67. + + +LaTeX Warning: Reference `fig:Agg-AvgBytes' on page 6 undefined on input line 4 +67. + + +LaTeX Warning: Reference `fig:bytesCompare' on page 6 undefined on input line 4 +67. + + +LaTeX Warning: Reference `fig:CDF-Bytes-RW' on page 6 undefined on input line 4 +67. + + +LaTeX Warning: No positions in optional float specifier. + Default added (so using `tbp') on input line 521. + + +Overfull \hbox (36.28783pt too wide) in paragraph at lines 523--533 + [][] + [] + +[6 <./images/smb_read_bytes_cdf.pdf> <./images/smb_write_bytes_cdf.pdf + +pdfTeX warning: /usr/bin/pdflatex (file ./images/smb_write_bytes_cdf.pdf): PDF +inclusion: multiple pdfs with page group included in a single page +>] + +LaTeX Warning: Reference `fig:CDF-RT-RW' on page 7 undefined on input line 629. + + +<./images/smb_general_iats_cdf.pdf, id=52, 361.35pt x 216.81pt> +File: ./images/smb_general_iats_cdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_general_iats_cdf.pdf used on input line +636. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 636--637 +[][] + [] + +<./images/smb_general_iats_pdf.pdf, id=53, 361.35pt x 216.81pt> +File: ./images/smb_general_iats_pdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_general_iats_pdf.pdf used on input line +642. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 642--643 +[][] + [] + +<./images/smb_read_iats_cdf.pdf, id=54, 361.35pt x 216.81pt> +File: ./images/smb_read_iats_cdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_read_iats_cdf.pdf used on input line 648 +. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 648--649 +[][] + [] + +<./images/smb_read_iats_pdf.pdf, id=55, 361.35pt x 216.81pt> +File: ./images/smb_read_iats_pdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_read_iats_pdf.pdf used on input line 654 +. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 654--655 +[][] + [] + +<./images/smb_write_iats_cdf.pdf, id=56, 361.35pt x 216.81pt> +File: ./images/smb_write_iats_cdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_write_iats_cdf.pdf used on input line 66 +0. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 660--661 +[][] + [] + +<./images/smb_write_iats_pdf.pdf, id=57, 361.35pt x 216.81pt> +File: ./images/smb_write_iats_pdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_write_iats_pdf.pdf used on input line 66 +6. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 666--667 +[][] + [] + +<./images/smb_create_iats_cdf.pdf, id=58, 361.35pt x 216.81pt> +File: ./images/smb_create_iats_cdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_create_iats_cdf.pdf used on input line 6 +72. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 672--673 +[][] + [] + +<./images/smb_create_iats_pdf.pdf, id=59, 361.35pt x 216.81pt> +File: ./images/smb_create_iats_pdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_create_iats_pdf.pdf used on input line 6 +78. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 678--679 +[][] + [] + +<./images/smb_general_rts_cdf.pdf, id=60, 361.35pt x 216.81pt> +File: ./images/smb_general_rts_cdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_general_rts_cdf.pdf used on input line 6 +86. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 686--687 +[][] + [] + +<./images/smb_general_rts_pdf.pdf, id=61, 361.35pt x 216.81pt> +File: ./images/smb_general_rts_pdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_general_rts_pdf.pdf used on input line 6 +93. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 693--694 +[][] + [] + +<./images/smb_read_rts_cdf.pdf, id=62, 361.35pt x 216.81pt> +File: ./images/smb_read_rts_cdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_read_rts_cdf.pdf used on input line 700. + +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 700--701 +[][] + [] + +<./images/smb_read_rts_pdf.pdf, id=63, 361.35pt x 216.81pt> +File: ./images/smb_read_rts_pdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_read_rts_pdf.pdf used on input line 707. + +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 707--708 +[][] + [] + +<./images/smb_write_rts_cdf.pdf, id=64, 361.35pt x 216.81pt> +File: ./images/smb_write_rts_cdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_write_rts_cdf.pdf used on input line 714 +. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 714--715 +[][] + [] + +<./images/smb_write_rts_pdf.pdf, id=65, 361.35pt x 216.81pt> +File: ./images/smb_write_rts_pdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_write_rts_pdf.pdf used on input line 721 +. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 721--722 +[][] + [] + +<./images/smb_create_rts_cdf.pdf, id=66, 361.35pt x 216.81pt> +File: ./images/smb_create_rts_cdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_create_rts_cdf.pdf used on input line 72 +8. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 728--729 +[][] + [] + +<./images/smb_create_rts_pdf.pdf, id=67, 361.35pt x 216.81pt> +File: ./images/smb_create_rts_pdf.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./images/smb_create_rts_pdf.pdf used on input line 73 +5. +(pdftex.def) Requested size: 258.0pt x 154.79962pt. + +Overfull \hbox (6.0pt too wide) in paragraph at lines 735--736 +[][] + [] + + +Underfull \vbox (badness 6510) has occurred while \output is active [] + + [7 <./images/smb_general_iats_cdf.pdf> <./images/smb_general_iats_pdf.pdf + +pdfTeX warning: /usr/bin/pdflatex (file ./images/smb_general_iats_pdf.pdf): PDF + inclusion: multiple pdfs with page group included in a single page +> <./images/smb_read_iats_cdf.pdf + +pdfTeX warning: /usr/bin/pdflatex (file ./images/smb_read_iats_cdf.pdf): PDF in +clusion: multiple pdfs with page group included in a single page +> <./images/smb_read_iats_pdf.pdf + +pdfTeX warning: /usr/bin/pdflatex (file ./images/smb_read_iats_pdf.pdf): PDF in +clusion: multiple pdfs with page group included in a single page +> <./images/smb_write_iats_cdf.pdf + +pdfTeX warning: /usr/bin/pdflatex (file ./images/smb_write_iats_cdf.pdf): PDF i +nclusion: multiple pdfs with page group included in a single page +>] [8 <./images/smb_write_iats_pdf.pdf> <./images/smb_create_iats_cdf.pdf + +pdfTeX warning: /usr/bin/pdflatex (file ./images/smb_create_iats_cdf.pdf): PDF +inclusion: multiple pdfs with page group included in a single page +> <./images/smb_create_iats_pdf.pdf + +pdfTeX warning: /usr/bin/pdflatex (file ./images/smb_create_iats_pdf.pdf): PDF +inclusion: multiple pdfs with page group included in a single page +> <./images/smb_general_rts_cdf.pdf + +pdfTeX warning: /usr/bin/pdflatex (file ./images/smb_general_rts_cdf.pdf): PDF +inclusion: multiple pdfs with page group included in a single page +> <./images/smb_general_rts_pdf.pdf + +pdfTeX warning: /usr/bin/pdflatex (file ./images/smb_general_rts_pdf.pdf): PDF +inclusion: multiple pdfs with page group included in a single page +> <./images/smb_read_rts_cdf.pdf + +pdfTeX warning: /usr/bin/pdflatex (file ./images/smb_read_rts_cdf.pdf): PDF inc +lusion: multiple pdfs with page group included in a single page +> <./images/smb_read_rts_pdf.pdf + +pdfTeX warning: /usr/bin/pdflatex (file ./images/smb_read_rts_pdf.pdf): PDF inc +lusion: multiple pdfs with page group included in a single page +>] [9 <./images/smb_write_rts_cdf.pdf> <./images/smb_write_rts_pdf.pdf + +pdfTeX warning: /usr/bin/pdflatex (file ./images/smb_write_rts_pdf.pdf): PDF in +clusion: multiple pdfs with page group included in a single page +> <./images/smb_create_rts_cdf.pdf + +pdfTeX warning: /usr/bin/pdflatex (file ./images/smb_create_rts_cdf.pdf): PDF i +nclusion: multiple pdfs with page group included in a single page +> <./images/smb_create_rts_pdf.pdf + +pdfTeX warning: /usr/bin/pdflatex (file ./images/smb_create_rts_pdf.pdf): PDF i +nclusion: multiple pdfs with page group included in a single page +>] (./trackingPaper.bbl + +Package balance Warning: You have called \balance in second column +(balance) Columns might not be balanced. + +[10]) + +** Conference Paper ** +Before submitting the final camera ready copy, remember to: + + 1. Manually equalize the lengths of two columns on the last page + of your paper; + + 2. Ensure that any PostScript and/or PDF output post-processing + uses only Type 1 fonts and that every step in the generation + process uses the appropriate paper size. + +[11] (./trackingPaper.aux) + +LaTeX Warning: There were undefined references. + + ) +Here is how much of TeX's memory you used: + 4248 strings out of 492616 + 67045 string characters out of 6135178 + 149869 words of memory out of 5000000 + 8086 multiletter control sequences out of 15000+600000 + 38340 words of font info for 74 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 41i,11n,32p,1341b,307s stack positions out of 5000i,500n,10000p,200000b,80000s +{/usr/share/texmf-dist/fonts/enc/dvips/base/8r.enc} +Output written on trackingPaper.pdf (11 pages, 1030548 bytes). +PDF statistics: + 266 PDF objects out of 1000 (max. 8388607) + 176 compressed objects within 2 object streams + 0 named destinations out of 1000 (max. 500000) + 101 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/trackingPaper.pdf b/trackingPaper.pdf new file mode 100644 index 0000000..1fddea8 Binary files /dev/null and b/trackingPaper.pdf differ diff --git a/trackingPaper.synctex.gz b/trackingPaper.synctex.gz new file mode 100644 index 0000000..f82e7ac Binary files /dev/null and b/trackingPaper.synctex.gz differ diff --git a/trackingPaper.tex b/trackingPaper.tex new file mode 100644 index 0000000..5e7d430 --- /dev/null +++ b/trackingPaper.tex @@ -0,0 +1,962 @@ + % This is "sig-alternate.tex" V2.1 April 2013 +% This file should be compiled with V2.5 of "sig-alternate.cls" May 2012 +% +% This example file demonstrates the use of the 'sig-alternate.cls' +% V2.5 LaTeX2e document class file. It is for those submitting +% articles to ACM Conference Proceedings WHO DO NOT WISH TO +% STRICTLY ADHERE TO THE SIGS (PUBS-BOARD-ENDORSED) STYLE. +% The 'sig-alternate.cls' file will produce a similar-looking, +% albeit, 'tighter' paper resulting in, invariably, fewer pages. +% +% ---------------------------------------------------------------------------------------------------------------- +% This .tex file (and associated .cls V2.5) produces: +% 1) The Permission Statement +% 2) The Conference (location) Info information +% 3) The Copyright Line with ACM data +% 4) NO page numbers +% +% as against the acm_proc_article-sp.cls file which +% DOES NOT produce 1) thru' 3) above. +% +% Using 'sig-alternate.cls' you have control, however, from within +% the source .tex file, over both the CopyrightYear +% (defaulted to 200X) and the ACM Copyright Data +% (defaulted to X-XXXXX-XX-X/XX/XX). +% e.g. +% \CopyrightYear{2007} will cause 2007 to appear in the copyright line. +% \crdata{0-12345-67-8/90/12} will cause 0-12345-67-8/90/12 to appear in the copyright line. +% +% --------------------------------------------------------------------------------------------------------------- +% This .tex source is an example which *does* use +% the .bib file (from which the .bbl file % is produced). +% REMEMBER HOWEVER: After having produced the .bbl file, +% and prior to final submission, you *NEED* to 'insert' +% your .bbl file into your source .tex file so as to provide +% ONE 'self-contained' source file. +% +% ================= IF YOU HAVE QUESTIONS ======================= +% Questions regarding the SIGS styles, SIGS policies and +% procedures, Conferences etc. should be sent to +% Adrienne Griscti (griscti@acm.org) +% +% Technical questions _only_ to +% Gerald Murray (murray@hq.acm.org) +% =============================================================== +% +% For tracking purposes - this is V2.0 - May 2012 + +\documentclass[conference]{IEEEtran} + +\usepackage{listings} % Include the listings-package +\usepackage{color} +\usepackage{balance} +\usepackage{graphicx} +\usepackage{url} +\usepackage{tabularx,booktabs} +\usepackage{multirow} +\usepackage[normalem]{ulem} +\useunder{\uline}{\ul}{} + +\definecolor{darkgreen}{rgb}{0,0.5,0} +\definecolor{mygreen}{rgb}{0,0.6,0} +\definecolor{mygray}{rgb}{0.5,0.5,0.5} +\definecolor{mymauve}{rgb}{0.58,0,0.82} +\lstset{ % + backgroundcolor=\color{white}, % choose the background color; you must add \usepackage{color} or \usepackage{xcolor} + basicstyle=\ttfamily\scriptsize, % the size of the fonts that are used for the code + breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace + breaklines=true, % sets automatic line breaking + captionpos=b, % sets the caption-position to bottom + commentstyle=\color{mygreen}, % comment style + deletekeywords={...}, % if you want to delete keywords from the given language + escapeinside={\%*}{*)}, % if you want to add LaTeX within your code + extendedchars=true, % lets you use non-ASCII characters; for 8-bits encodings only, does not work with UTF-8 + frame=single, % adds a frame around the code + keepspaces=true, % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible) + keywordstyle=\color{blue}, % keyword style +% language=C, % the language of the code + morecomment=[l]{--}, + morekeywords={property,set,is,type, constant, enumeration, end, applies, to, inherit, of, *,...}, % if you want to add more keywords to the set + numbers=left, % where to put the line-numbers; possible values are (none, left, right) + numbersep=5pt, % how far the line-numbers are from the code + numberstyle=\tiny\color{mygray}, % the style that is used for the line-numbers + rulecolor=\color{black}, % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. comments (green here)) + showspaces=false, % show spaces everywhere adding particular underscores; it overrides 'showstringspaces' + showstringspaces=false, % underline spaces within strings only + showtabs=false, % show tabs within strings adding particular underscores + stepnumber=1, % the step between two line-numbers. If it's 1, each line will be numbered + stringstyle=\color{mymauve}, % string literal style + tabsize=2, % sets default tabsize to 2 spaces + title=\lstname % show the filename of files included with \lstinputlisting; also try caption instead of title +} + +\ifCLASSINFOpdf + % \usepackage[pdftex]{graphicx} + % declare the path(s) where your graphic files are + % \graphicspath{{../pdf/}{../jpeg/}} + % and their extensions so you won't have to specify these with + % every instance of \includegraphics + % \DeclareGraphicsExtensions{.pdf,.jpeg,.png} +\else + % or other class option (dvipsone, dvipdf, if not using dvips). graphicx + % will default to the driver specified in the system graphics.cfg if no + % driver is specified. + % \usepackage[dvips]{graphicx} + % declare the path(s) where your graphic files are + % \graphicspath{{../eps/}} + % and their extensions so you won't have to specify these with + % every instance of \includegraphics + % \DeclareGraphicsExtensions{.eps} +\fi + +\begin{document} +% +% paper title +% can use linebreaks \\ within to get better formatting as desired +\title{A Trace-Based Study of SMB Network File System Workloads in an Academic Enterprise} + +%\author{\IEEEauthorblockN{Paul Wortman and John Chandy} +%\IEEEauthorblockA{Department of Electrical and Computer Engineering\\ +%University of Connecticut, USA\\ +%(paul.wortman, john.chandy)@uconn.edu +%}} + + +% make the title area +\maketitle + +\begin{abstract} +Storage system traces are important for examining real-world applications, studying potential bottlenecks, as well as driving benchmarks in the evaluation of new system designs. +While file system traces have been well-studied in earlier work, it has been some time since the last examination of the SMB network file system. +The purpose of this work is to continue previous SMB studies to better understand the use of the protocol in a real-world production system in use at the University of Connecticut. +The main contribution of our work is the exploration of I/O behavior in modern file system workloads as well as new examinations of the inter-arrival times and run times for I/O events. +We further investigate if the recent standard models for traffic remain accurate. +\textcolor{red}{Our findings reveal interesting data relating to the number of read and write events. We notice that while the number of read events far exceeds writes, the average of bytes transferred over the wire is greater for writes. Furthermore we find an increase in the use of metadata for overall network communication that can be taken advantage of through the use of smart storage devices.} +\end{abstract} + +\section{Introduction} +%Mention: +%\begin{itemize} +% \item Why is it important to re-examine the SMB protocol? +% \item Why does examination of network use matter? +% \item Need to ensure hash of data and not saving any of the original traffic packets. +%\end{itemize} +Over the last twenty years, data storage provisioning has been centralized through the +use of network file systems. The architectures of these storage systems can vary from +storage area networks (SAN), network attached storage (NAS), clustered file systems, +hybrid storage, amongst others. However, the front-end client-facing network file +system protocol in most enterprise IT settings tends to be, for the most part, solely +SMB (Server Message Block) because of the preponderance of MS Windows clients. +While there are other network file systems such as Network File System (NFS) and +clustered file systems such as Ceph, PanFS, and OrangeFS, they tend to be used less +extensively in most non-research networks. + +In spite of the prevalence of SMB usage within most enterprise networks, there has +been very little analysis of SMB workloads in prior academic research. The last major study +of SMB was nearly a decade ago~\cite{leung2008measurement}, and the nature of storage +usage has changed dramatically over the last decade. +It is always important to revisit commonly used protocols to examine their use in comparison to the expected use case(s). This is doubly so for network communications because the nuances of networked data exchange can greatly influence the effectiveness and efficiency of a chosen protocol. \textcolor{red}{Since an examination of SMB has not occurred in the past decade, we took a look at its current implementation and use in a large university network.} +%Due to the sensitivity of the captured information, we ensure that all sensitive information is hashed and that the original network captures are not saved. + +Our study is based on network packet traces collected on the University of Connecticut's centralized storage facility over \textcolor{red}{a period of a week of in March 2017.} This trace-driven analysis can help in the design of future storage products as well as providing data for future performance benchmarks. +%Benchmarks are important for the purpose of developing technologies as well as taking accurate metrics. The reasoning behind this tracing capture work is to eventually better develop accurate benchmarks for network protocol evaluation. +Benchmarks allow for the stress testing of various aspects of a system (e.g. network, single system). Aggregate data analysis collected from traces can lead to the development of synthetic benchmarks. Traces can expose systems patterns that can also be reflected in synthetic benchmark. Finally, the traces themselves can drive system simulations that can be used to evaluate prospective storage architectures. + +%\begin{itemize} +% \item \textbf{Why?:} Benchmarks allow for the stress testing of different/all aspects of a system (e.g. network, single system). +% \item \textbf{How:} There are three ``steps'' to creating a benchmark. +% \begin{enumerate} +% \item Take a trace of an existing system +% \begin{itemize} +% \item This is important because this information is how one is able to compare the expected actions of a system (theory) against the traced actions (practice) of the system. Leads to the development of later synthetic benchmarks. +% \end{itemize} +% \item Determine which aspects of the trace of said system (in an educated arbitrary way) are most representative of ``what occurred'' during the tracing of the system. Leads to discovery of habits/patterns of the system; which is later used for synthetic benchmark. +% \item Use discovered information to produce benchmark +% \begin{itemize} +% \item Done by either running a repeat of the trace of synthetic benchmark created using trends from trace. +% \end{itemize} +% \end{enumerate} +%\end{itemize} + +Out of all the elements that make up the tracing system used for this research, there are a few key aspects that are worth covering due to customization of the system. These key components of the tracing system are the use of PF\_RING to mitigate timing and resource concerns, the use of proper hardware and software to handle incoming data, along with the tweaking of DataSeries code to create analysis tools for the captured data. +% PF\_RING section +%The addition of PF\_RING lends to the tracing system by minimizing the copying of packets which, in turn, allows for more accurate timestamping of incoming traffic packets being captured ~\cite{Orosz2013,skopko2012loss,pfringWebsite,PFRINGMan}. +PF\_RING acts as a kernel module that aids in minimizing packet loss/timestamping issues by not passing packets through the kernel data structures~\cite{PFRINGMan}. +%The other reason PF\_RING is instrumental is that it functions with the 10Gb/s hardware that was installed into the Trace1 server; allowing for full throughput from the network tap on the UITS system. \\ +% DataSeries + Code section +The tweaks and code additions to the existing DataSeries work are filtering for specific SMB protocol fields along with the writing of analysis tools to parse and dissect the captured packets. Specific fields were chosen to be the interesting fields kept for analysis. It should be noted that this was done originally arbitrarily and changes/additions have been made as the value of certain fields were determined to be worth examining; e.g. multiple runs were required to refine the captured data for later analysis. The code written for analysis of the captured DataSeries format packets focuses on I/O events and ID tracking (TID/UID). The future vision for this information is to combine ID tracking with the OpLock information in order to track resource sharing of the different clients on the network. As well as using IP information to recreate communication in a larger network trace to establish a better benchmark. + +%Focus should be aboiut analysis and new traces +The contributions of this work are the new traces of SMB traffic over a larger university network as well as new analysis of this traffic. Our new examination of the captured data reveals that \textcolor{red}{despite the streamlining of the CIFS/SMB protocol to be less chatty, the majority of SMB communication in metadata based I/O. We found that while read operations occur in greater numbers and cause a larger overall number of bytes to pass over the network. However, the average number of bytes transferred for each write I/O is an order of magnitude greater than that of the average read operation. We also find that the current standard for modeling network I/O holds for the majority of operations, while a more representative model needs to be developed for writes.} + +\subsection{Related Work} +In this section we discuss previous studies examining traces and testing that has advanced benchmark development. We summarize major works in trace study in Table~\ref{tbl:studySummary}. In addition we examine issues that occur with traces and the assumptions in their study. +\begin{table*}[] +\centering +\begin{tabular}{|r|c|c|c|c|c|} +\hline +Study & Date of Traces & FS/Protocol & Network FS & Trace Approach & Workload \\ \hline +Ousterhout, \textit{et al.}~\cite{ousterhout1985trace} & 1985 & BSD & & Dynamic & Engineering \\ \hline +Ramakrishnan, \textit{et al.}~\cite{ramakrishnan1992analysis} & 1988-89 & VAX/VMS & x & Dynamic & Engineering, HPC, Corporate \\ \hline +Baker, \textit{et al.}~\cite{baker1991measurements} & 1991 & Sprite & x & Dynamic & Engineering \\ \hline +Gribble, \textit{et al.}~\cite{gribble1996self} & 1991-97 & Sprite, NFS, VxFS & x & Both & Engineering, Backup \\ \hline +Douceur and Bolosky~\cite{douceur1999large} & 1998 & FAT, FAT32, NTFS & & Snapshots & Engineering \\ \hline +Vogels~\cite{vogels1999file} & 1998 & FAT, NTFS & & Both & Engineering, HPC \\ \hline +Zhou and Smith~\cite{zhou1999analysis} & 1999 & VFAT & & Dynamic & PC \\ \hline +Roselli, \textit{et al.}~\cite{roselli2000comparison} & 1997-00 & VxFS, NTFS & & Dynamic & Engineering, Server \\ \hline +Malkani, \textit{et al.}~\cite{malkani2003passive} & 2001 & NFS & x & Dynamic & Engineering, Email \\ \hline +Agrawal, \textit{et al.}~\cite{agrawal2007five} & 2000-2004 & FAT, FAT32, NTFS & & Snapshots & Engineering \\ \hline +Leung, \textit{et al.}~\cite{leung2008measurement} & 2007 & CIFS & x & Dynamic & Corporate, Engineering \\ \hline +%Traeger, \textit{et al.}~\cite{traeger2008nine} & 2008 & FUSE & x & Snapshots & Backup \\ \hline +Vrable, \textit{et al.}~\cite{vrable2009cumulus} & 2009 & FUSE & x & Snapshots & Backup \\ \hline +Benson, \textit{et al.}~\cite{benson2010network} & 2010 & AFS, MapReduce, NCP, SMB & x & Dynamic & Academic, Corporate \\ \hline +Chen, \textit{et al.}~\cite{chen2012interactive} & 2012 & MapReduce & x & Dynamic & Corporate \\ \hline +This paper & 2017 & SMB & x & Dynamic & Academic, Engineering, Backup \\ \hline +\end{tabular} +\caption{Summary of major file system studies over the past decades. For each study the tables shows the dates of the trace data, the file system or protocol studied, whether it involved network file systems, the trace methodology used, and the workloads studied. Dynamic trace studies are those that involve traces of live requests. Snapshot studies involve snapshots of file system contents.} +\label{tbl:studySummary} +\vspace{-2em} +\end{table*}Since +\label{Previous Advances Due to Testing} +Tracing collection and analysis has proved its worth in time from previous studies where one can see important lessons pulled from the research; change in behavior of read/write events, overhead concerns originating in system implementation, bottlenecks in communication, and other revelations found in the traces. \\ +Previous tracing work has shown that one of the largest \& broadest hurdles to tackle is that traces (and benchmarks) must be tailored to the system being tested. There are always some generalizations taken into account but these generalizations can also be a major source of error~\cite{vogels1999file,malkani2003passive,seltzer2003nfs,anderson2004buttress,Orosz2013,dabir2007bottleneck,skopko2012loss,traeger2008nine,ruemmler1992unix}. To produce a benchmark with high fidelity one needs to understand not only the technology being used but how it is being implemented within the system~\cite{roselli2000comparison,traeger2008nine,ruemmler1992unix}. All of these aspects will lend to the behavior of the system; from timing \& resource elements to how the managing software governs actions~\cite{douceur1999large,malkani2003passive,seltzer2003nfs}. Furthermore, in pursuing this work one may find unexpected results and learn new things through examination~\cite{leung2008measurement,roselli2000comparison,seltzer2003nfs}. \\ +These studies are required in order to evaluate the development of technologies and methodologies along with furthering knowledge of different system aspects and capabilities. As has been pointed out by past work, the design of systems is usually guided by an understanding of the file system workloads and user behavior~\cite{leung2008measurement}. It is for that reason that new studies are constantly performed by the science community, from large scale studies to individual protocol studies~\cite{leung2008measurement,vogels1999file,roselli2000comparison,seltzer2003nfs,anderson2004buttress}. Even within these studies, the information gleaned is only as meaningful as the considerations of how the data is handled. \\ + +The work done by Leung et. al.~\cite{leung2008measurement} found observations related to the infrequency of files to be shared by more than one client. Over 67\% of files were never open by more than one client. +Leung's \textit{et. al.} work led to a series of observations, from the fact that files are rarely re-opened to finding that read-write access patterns are more frequent ~\cite{leung2008measurement}. +%If files were shared it was rarely concurrently and usually as read-only; where 5\% of files were opened by multiple clients concurrently and 90\% of the file sharing was read only. +%Concerns of the accuracy achieved of the trace data was due to using standard system calls as well as errors in issuing I/Os leading to substantial I/O statistical errors. +% Anderson Paper +The 2004 paper by Anderson et. al.~~\cite{anderson2004buttress} has the following observations. A source of decreased precision came from the Kernel overhead for providing timestamp resolution. This would introduce substantial errors in the observed system metrics due to the use inaccurate tools when benchmarking I/O systems. These errors in perceived I/O response times can range from +350\% to -15\%. +%I/O benchmarking widespread practice in storage industry and serves as basis for purchasing decisions, performance tuning studies and marketing campaigns. +Issues of inaccuracies in scheduling I/O can result in as much as a factor 3.5 difference in measured response time and factor of 26 in measured queue sizes. These inaccuracies pose too much of an issue to ignore. + +Orosz and Skopko examined the effect of the kernel on packet loss in their 2013 paper~\cite{Orosz2013}. Their work showed that when taking network measurements the precision of the timestamping of packets is a more important criterion than low clock offset, especially when measuring packet inter-arrival times and round-trip delays at a single point of the network. One concern is that Dumpcap is a single threaded application and was suspected to be unable to handle new arriving packets due to a small size of the kernel buffer. Work by Dabir and Matrawy, in 2008~\cite{dabir2007bottleneck}, attempted to overcome this limitation by using two semaphores to buffer incoming strings and improve the writing of packet information to disk. + +Narayan and Chandy examined the concerns of distributed I/O and the different models of parallel application I/O. +%There are five major models of parallel application I/O. (1) Single output file shared by multiple nodes. (2) Large sequential reads by a single node at the beginning of computation and large sequential writes by a single node at the end of computation. (3) Checkpointing of states. (4) Metadata and read intensive (e.g. small data I/O and frequent directory lookups for reads). +Due to the striping of files across multiple nodes, this can cause any read or write to access all the nodes; which does not decrease the IATs seen. As the number of I/O operations increase and the number of nodes increase, the IAT times decreased. +Observations from Skopko in a 2012 paper~\cite{skopko2012loss} examined the nuance concerns of software based capture solutions. The main observation was software solutions relied heavily on OS packet processing mechanisms. Further more, depending on the mode of operation (e.g. interrupt or polling), the timestamping of packets would change. + +As seen in previous trace work done~\cite{leung2008measurement,roselli2000comparison,seltzer2003nfs}, the general perceptions of how computer systems are being used versus their initial purpose have allowed for great strides in eliminating actual bottlenecks rather than spending unnecessary time working on imagined bottlenecks. Without illumination of these underlying actions (e.g. read-write ratios, file death rates, file access rates) these issues can not be readily tackled. +\\ + +\section{Background} +The Server Message Block (SMB) is an application-layer network protocol mainly used for providing shared access to files, shared access to printers, shared access to serial ports, miscellaneous communications between nodes on the network, as well as providing an authenticated inter-process communication mechanism. +%The majority of usage for the SMB protocol involves Microsfot Windows. Almost all implementations of SMB servers use NT Domain authentication to validate user-access to resources +The SMB 1.0 protocol has been found to have high/significant impact due to latency issues. Monitoring revealed a high degree of ``chattiness'' and disregard of network latency between hosts. Solutions to this problem were included in the updated SMB 2.0 protocol which decreases ``chattiness'' by reducing commands and sub-commands from over a hundred to nineteen. Additional changes, most significantly being increased security, were implemented in SMB 3.0 protocol (previously named SMB 2.2). +%\textcolor{red}{\textbf{Add information about SMB 2.X/3?}} + +The rough order of communication for SMB session file interaction contains about five steps. First is a negotiation where a Microsoft SMB Protocol dialect is determined. Next a session is established to determine the share-level security. After this the Tree ID (TID) is determined for the share to be connected to as well as a file ID (FID) for a file requested by the client. From this establishment, I/O operations are performed using the FID given in the previous step. + +% Information relating to the capturing of SMB information +The only data that needs to be tracked from the SMB traces are the UID and TID for each session. The MID value is used for tracking individual packets in each established session. The PID tracks the process running the command or series of commands on a host. + +Some nuances of SMB protocol I/O are: +\begin{itemize} + \item SMB/SMB2 write request is the command that pushes bytes over the wire. \textbf{Note:} the response packet only confirms their arrival and use (e.g. writing). + \item SMB/SMB2 read response is the command that pushes bytes over the wire. \textbf{Note:} The request packet only asks for the data. +\end{itemize} +% Make sure to detail here how exactly IAT/RT are each calculated + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smbPacket.jpg} + \caption{Visualization of SMB Packet} + \label{fig:smbPacket} +\end{figure} + +\subsection{Issues with Tracing} +\label{Issues with Tracing} +There are three general approaches to creating a benchmark based on a trade-off between experimental complexity and resemblance to the original application. (1) Connect the system to a production test environment, run the application, and measure the application metrics. (2) Collect traces from running the application and replay them (after possible modification) back on the test I/O system. (3) Generate a synthetic workload and measure the system performance. + +The majority of benchmarks are attempts to represent a known system and structure on which some ``original'' design/system was tested. While this is all well and good, there are many issues with this sort of approach; temporal \& spatial scaling concerns, timestamping and buffer copying, as well as driver operation for capturing packets~\cite{Orosz2013,dabir2007bottleneck,skopko2012loss}. Each of these aspects contribute to the initial problems with dissection and analysis of the captured information. For example, inaccuracies in scheduling I/Os may result in as much as a factor of 3.5 differences in measured response time and factor of 26 in measured queue sizes; differences that are too large to ignore~\cite{anderson2004buttress}. +Dealing with timing accuracy and high throughput involves three challenges. (1) Designing for dealing with peak performance requirements. (2) Coping with OS timing inaccuracies. (3) Working around unpredictable OS behavior; e.g. mechanisms to keep time and issue I/Os or performance effects due to interrupts. + +Temporal scaling refers to the need to account for the nuances of timing with respect to the run time of commands; consisting of computation, communication \& service. A temporally scalable benchmarking system would take these subtleties into account when expanding its operation across multiple machines in a network. While these temporal issues have been tackled for a single processor (and even somewhat for cases of multi-processor), these same timing issues are not properly handled when dealing with inter-network communication. Inaccuracies in packet timestamping can be caused due to overhead in generic kernel-time based solutions, as well as use of the kernel data structures ~\cite{PFRINGMan,Orosz2013}. \\ +Spatial scaling refers to the need to account for the nuances of expanding a benchmark to incorporate a number of (\textbf{n}) machines over a network. A system that properly incorporates spatial scaling is one that would be able to incorporate communication (even in varying intensities) between all the machines on a system, thus stress testing all communicative actions and aspects (e.g. resource locks, queueing) on the network. + +\section{Packet Capturing System} +In this section, we examine the packet capturing system as well as decisions made that influence its capabilities. We illustrate the existing university network filesystem as well as our methods for ensuring high-speed packet capture. Then, we discuss the analysis code we developed for examining the captured data. +% and on the python dissection code we wrote for performing traffic analysis. + +\subsection{UITS System Overview} +We collected traces from the University of Connecticut University Information Technology Services (UITS) centralized storage server. The UITS system consists of five Microsoft file server cluster nodes. These blade servers are used to host SMB file shares for various departments at UConn as well as personal drive share space for faculty, staff and students, along with at least one small group of users. Each server is capable of handling 1~Gb/s of traffic in each direction (e.g. outbound and inbound traffic). All together the five blade server system can in theory handle 10~Gb/s of receiving and transmitting data. +%Some of these blade servers have local storage but the majority do not have any. +The blade servers serve SMB but the actual storage is served by SAN storage nodes that sit behind them. This system does not currently implement load balancing. Instead, the servers are set up to spread the traffic load among four of the active cluster nodes while the fifth node is passive and purposed to take over in the case that any of the other nodes go down (e.g. become inoperable or crash). + +The topology for the packet duplicating element is shown in Figure~\ref{fig:captureTopology}. For our tracing, we installed a 10~Gb network tap on the file server switch, allowing our storage server to obtain a copy of all network traffic going to the 5 file servers. The reason for using 10Gb hardware is to help ensure that the system is able to capture and all information on the network at peak theoretical throughput. + + +\subsection{High-speed Packet Capture} +\label{Capture} +%The packet capturing aspect of the tracing system is fairly straight forward. +%On top of the previously mentioned alterations to the system (e.g. PF\_RING), the capture of packets is done through the use of \textit{tshark}, \textit{pcap2ds}, and \textit{inotify} programs. +%The broad strokes are that incoming SMB/CIFS information comes from the university's network. All packet and transaction information is passed through a duplicating switch that then allows for the tracing system to capture these packet transactions over a 10 Gb port. These packets are +%passed along to the \textit{tshark} packet collection program which records these packets into a cyclical capturing ring. A watchdog program (\textit{inotify}) watches the directory where all of these packet-capture (pcap) files are being stored. As a new pcap file is completed \textit{inotify} passes the file to \textit{pcap2ds} along with what protocol is being examined (i.e. SMB). The \textit{pcap2ds} program reads through the given pcap files, + +In order to maximize our faithful capture of the constant rate of traffic, we implement an ntop~\cite{ntopWebsite} solution called PF\_RING~\cite{pfringWebsite} to dramatically improve the storage server's packet capture speed. +%A license was obtained for scholastic use of PF\_RING. PF\_RING implements a ring buffer to provide fast and efficient packet capturing. Having implemented PF\_RING, the next step was to +We had to tune an implementation of \texttt{tshark} (wireshark's terminal pcap implementation) to maximize the packet capture and dissection into the DataSeries format~\cite{dataseriesGit}. +%The assumption being made is that PF\_RING tackles and takes care of the concerns of packets loss due to buffer size, storage, and writing. \textit{tshark} need only read in those packets and generate the necessary DataSeries (ds) files. +To optimize this step a capture ring buffer flag is used to minimize the amount of space used to write pcap files, while optimizing the amount of time to +%\textit{pcap2ds} can +filter data from the pcap files. +The filesize used was in a ring buffer where each file captured was 64000 kB. +% This causes tshark to switch to the next file after it reaches a determined size. +%To simplify this aspect of the capturing process, the entirety of the capturing, dissection, and permanent storage was all automated through watch-dog scripts. +\begin{figure*} + \includegraphics[width=\textwidth]{./images/packetcapturetopology.png} + \caption{Visualization of Packet Capturing System} + \label{fig:captureTopology} +\end{figure*} +The system for taking captured \texttt{.pcap} files and writing them into the DataSeries format (i.e. \texttt{.ds}) does so by first creating a structure (based on a pre-written determination of the data desired to capture). Once the code builds this structure, it then reads through the capture traffic packets while dissecting and filling in the prepared structure with the desired information and format. +Due to the fundamental nature of this work, there is no need to track every piece of information that is exchanged, only that information which illuminates the behavior of the clients \& servers that function over the network (e.g. I/O transactions). It should also be noted that all sensitive information being captured by the tracing system is hashed to protect the users whose information is examined by the tracing system. Further more, we now only receive the SMB header information since that contains the I/O information we seek, while the body of the SMB traffic is not passed through to better ensure security of the university's network communications. + +\subsection{DataSeries Analysis} + +Building upon existing code for the interpretation and dissection of the captured \texttt{.ds} files, we developed C/C++ code for examining the captured traffic information. From this analysis, a larger text file is created that contains read, write, create and general I/O information at both a global scale and individual tracking ID (UID/TID) level. In addition, read and write buffer size information is tracked, as well as the inter-arrival and response times. Also included in this data is oplock information and IP addresses. The main contribution of this step is to aggregate seen information for later interpretation of the results. +This step also creates an easily digestible output that can be used to re-create all tuple information for SMB/SMB2 sessions that are witnessed over the entire time period. +Sessions are any communication where a valid UID and TID is used. + +%\subsection{Python Dissection} +%The final step of our SMB/SMB2 traffic analysis system is the dissection of the \texttt{AnalysisModule} output using the pandas data analysis library~\cite{pandasPythonWebsite}. The pandas library is a python implementation similar to R. In this section of the analysis structure, the generated text file is tokenized and placed into specific DataFrames representing the data seen for each 15 minute period. The python code is used for the analysis and further dissection of the data. This is where the cumulative distribution frequency and graphing of collected data is performed. Basic analysis and aggregation is also performed in this part of the code. This analysis includes the summation of individual session I/O (e.g. reads, writes, creates) as well as the collection of inter arrival time data and response time data. + +\section{Data Analysis} +\label{sec:data-analysis} + +\begin{table}[] +\centering +\begin{tabular}{|l|l|} +\hline +% & Academic Engineering \\ \hline +%Maximum Tuples in 15-min Window & 36 \\ %\hline +%Total Tuples Seen & 2721 \\ \hline +%\textcolor{red}{Maximum Sessions in 15-min Window} & 35 \\ %\hline +%Maximum Non-Session in 15-min Window & 2 \\ \hline +Total Days & 41 \\ %\hline +Total Sessions & 2270 \\ %\hline +%Total Non-Sessions & 451 \\ \hline +Number of SMB Operations & 2596081187 \\ %\hline +Number of Read I/Os & 42948043 + \\ %\hline +Number of Write I/Os & 75465684 \\ %\hline +R:W I/O Ratio & 0.569 \\ %\hline +Number of Creates & 386934029 \\ %\hline +Number of General SMB Operations & 2090733431 \\ \hline +Total Data Read (GB) & 5.858 \\ %\hline +Total Data Written (GB) & 4.747 \\ %\hline +Average Read Size (B) & 144 \\ %\hline +Average Write Size (B) & 63 \\ \hline +%Percentage of Read Bytes of Total Data & 99.4\% \\ %\hline +%Percentage of Written Bytes of Total Data & 0.6\% \\ %\hline +%Total R:W Byte Ratio & 166.446693744549 \\ %\hline +%Average R:W Byte Ratio & 0.253996031053668 \\ \hline +\end{tabular} +\label{tbl:TraceSummaryTotal} +\caption{Summary of Trace I/O Statistics for the time of February 3rd, 2019 to March 15th, 2019} +\vspace{-2em} +\end{table} +% NOTE: Not sure but this reference keeps referencing the WRONG table + +Table~\ref{tbl:TraceSummaryTotal} +shows a summary of the I/O operations, response times, and inter arrival times observed for the network filesystem. This table illustrates that the majority of I/O operations are \textcolor{red}{general; showing that $95.39$\% of the network file system I/O are metadata operations.} + +Our examination of the collected network filesystem data revealed interesting patterns for the current use of CIFS/SMB in a large engineering academic setting. \textcolor{red}{The first is that there is a major shift away from read and write operations towards more metadata-based ones. This matches the last CIFS observations made by Leung et.~al.~that files were being generated and accessed infrequently. The change in operations are due to a movement of use activity from reading and writing data to simply checking file and directory metadata. +However, since the earlier study, SMB has transitioned to the SMB2 protocol which was supposed to be less "chatty" and thus we would expect fewer general SMB operations. +Table~\ref{tbl:SMBCommands} shows a breakdown of SMB and SMB2 usage on just March 15th. From this table, one can see that despite the fact that the SMB2 protocol makes up $99.96$\% of total network operations compared to just 0.04\% for SMB, indicating that most clients have upgraded to SMB2. However, $92.79$\% of SMB2 I/O are still general operations. Contrary to purpose of implementing the SMB2 protocol, there is still a large amount of general I/O. } +%While CIFS/SMB protocol has less metadata operations, this is due to a depreciation of the SMB protocol commands, therefore we would expect to see less total operations (e.g. $0.04$\% of total operations). +%The infrequency of file activity is further strengthened by our finding that within a week long window of time there are no Read or Write inter arrival times that can be calculated. +%\textcolor{red}{XXX we are going to get questioned on this. its not likely that there are no IATs for reads and writes} +\textcolor{red}{General operations happen at very high frequency with inter arrival times that were found to be relatively short (36$\mu$s on average). } + +\textcolor{red}{Taking a deeper look at the SMB2 operations, shown in the bottom half of Table~\ref{tbl:SMBCommands}, we see that $85.41$\% of the general operations are negotiate commands. These are commands sent by the client to notify the server which dialects of the SMB2 protocol the client can understand. The three next most common commands are close, query info, and query directory. The latter two relate to metadata information of shares and files accessed, however the close operation relates to the create operations relayed over the network. Note that the create command is also used as an open file. The first thing one will notice is that the number of closes is greater than the total number of create operations; by $16.44$\%. These extra close operations are most likely due to applications doing multiple closes that do not need to be done.} + +\begin{table} +\centering +\begin{tabular}{|l|c|c|c|} +\hline +I/O Operation & SMB & SMB2 & Both \\ \hline +Read Operations & 23416 & 42924627 & 42948043 \\ +Read \% & 0.016\% & 1.75\%& 1.65\%\\ +Write Operations & 4047 & 75461637 & 75465684 \\ +Write \% & 0.028\% & 3.01\% & 2.91\% \\ +Create Operations & 0 & 386934029 & 386934029 \\ +Create \% & 0.00\% & 15.78\% & 14.9\% \\ +General Operations & 144177220 & 1946556211 & 2090733431 \\ +General \% & 99.98\% & 79.39\% & 80.53\% \\ \hline +Combine Protocol Operations & 144204683 & 2451876504 & 2596081187 \\ +Combined Protocols \% & 5.55\% & 94.45\% & 100\% \\ \hline +%\end{tabular} +%\caption{\label{tbl:SMBCommands}Percentage of SMB and SMB2 Protocol Commands on March 15th} +%\end{table} +%\begin{table} +%\centering +%\begin{tabular}{|l|c|c|} +\hline \hline +SMB2 General Operation & \multicolumn{2}{|c|}{Occurrences} & Percentage of Total \\ \hline +Negotiate & \multicolumn{2}{|c|}{139513151} & 5.69\% \\ +Session Setup & \multicolumn{2}{|c|}{24028626} & 0.98\%\\ +Logoff & \multicolumn{2}{|c|}{1160528} & 0.05\% \\ +Tree Connect & \multicolumn{2}{|c|}{867601720} & 35.39\% \\ +Tree Disconnect & \multicolumn{2}{|c|}{13509426} & 0.55\% \\ +Close & \multicolumn{2}{|c|}{563355572} & 22.97\% \\ +Flush & \multicolumn{2}{|c|}{7224088} & 0.29\% \\ +Lock & \multicolumn{2}{|c|}{11712449} & 0.48\% \\ +IOCtl & \multicolumn{2}{|c|}{35813324} & 1.46\% \\ +Cancel & \multicolumn{2}{|c|}{0} & 0.00\% \\ +Echo & \multicolumn{2}{|c|}{64369} & 0.003\% \\ +Query Directory & \multicolumn{2}{|c|}{25574851} & 1.04\% \\ +Change Notify & \multicolumn{2}{|c|}{4160183} & 0.17\% \\ +Query Info & \multicolumn{2}{|c|}{213781466} & 8.72\% \\ +Set Info & \multicolumn{2}{|c|}{38941015} & 1.59\% \\ +Oplock Break & \multicolumn{2}{|c|}{118120} & 0.005\% \\ \hline +\end{tabular} +\caption{\label{tbl:SMBCommands}Percentage of SMB and SMB2 Protocol Commands on March 15th. Breakdown of General Operations for SMB2} +\vspace{-2em} +\end{table} + +\subsection{I/O Data Request Sizes} +\textcolor{red}{Figures~\ref{fig:IO-All} and~\ref{fig:IO-R+W} show the amount of I/O in 15-minute periods during the week of March 12-18, 2017. +The general I/O (GIO) value is representative of I/O that does not include read, write, or create actions. For the most part, these general I/O are mostly metadata operations. As one can see in Figure~\ref{fig:IO-All}, the general I/O dominates any of the read or write operations. Figure~\ref{fig:IO-R+W} is a magnification of the read and write I/O from Figure~\ref{fig:IO-All}. Here we see that the majority of I/O operations belong to reads. There are some spikes where more write I/O occur, but these events are in the minority. One should also notice that, as would be expected, the spikes of I/O activity occur around the center of the day (e.g. 8am to 8pm), and during the week (March 12 was a Sunday and March 18 was a Saturday).} \textbf{EVERYTHING HERE FORWARD NEEDS TO BE RE-READ AND RE-WRITTEN} +%\begin{figure} +% \includegraphics[width=0.5\textwidth]{./images/AIO.pdf} +% \caption{All I/O} +% \label{fig:IO-All} +%\end{figure} +%\begin{figure} +% \includegraphics[width=0.5\textwidth]{./images/RWIO-win.pdf} +% \caption{Read and Write I/O} +% \label{fig:IO-R+W} +%\end{figure} +\textcolor{red}{Figure~\ref{fig:Agg-AvgBytes} shows the average bytes transferred per read and write I/O operation. The most noticeable aspect of this graph is that the average number of bytes for write operations is much larger than that for reads. In other words, in spite of reads being more frequent than writes, each write transfer significantly more data. +%This is contrary to the number of I/O operations shown in Figure~\ref{fig:IO-R+W}, where one would expect that read operations cause the largest number of bytes. +Writes occur in the expected window of the center of each day, however there are reads that spike in-between these times. These large reads are due to backup processes reading from the fileservers for archiving to an offsite backup system. } +%This could also be attributed to simple reads relating to metadata\textcolor{red}{???} + +%\begin{figure} +% \includegraphics[width=0.5\textwidth]{./images/aggAvgBytes.pdf} +% \caption{Average Bytes by I/O} +% \label{fig:Agg-AvgBytes} +%\end{figure} +% +%\begin{figure} +% \includegraphics[width=0.5\textwidth]{./images/bytesCompare.pdf} +% \caption{Total Bytes by I/O} +% \label{fig:bytesCompare} +%\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_read_bytes_cdf.pdf} + \caption{CDF of Bytes Transferred for Read I/O} + \label{fig:CDF-Bytes-Read} +\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_write_bytes_cdf.pdf} + \caption{CDF of Bytes Transferred for Write I/O} + \label{fig:CDF-Bytes-Write} +\end{figure} + +%\begin{figure} +% \includegraphics[width=0.5\textwidth]{./images/CDF-ioBuff-win.pdf} +% \caption{CDF of Bytes Transferred for Read+Write I/O} +% \label{fig:CDF-Bytes-RW} +%\end{figure} + +\textcolor{red}{Figure~\ref{fig:bytesCompare} shows that the overall total number of bytes is dominated by read I/O. We translate the difference between Figures~\ref{fig:Agg-AvgBytes} and~\ref{fig:bytesCompare} data to mean that while reads still dominate I/O over the network filesystem, the write I/O cause the largest generation of network traffic on average. +Figures~\ref{fig:CDF-Bytes-Read},~\ref{fig:CDF-Bytes-Write}, and~\ref{fig:CDF-Bytes-RW} show cumulative distribution functions (CDF) for bytes read, bytes written, and total bytes transferred respectively. As can be seen, the CDFs are step functions showing clearly that data transfers are on powers-of-2 boundaries. Table~\ref{fig:transferSizes} shows a tabular view of this data. For reads, 49\% are 4K or less, with another 23\% at 64K request sizes. There are no read requests larger than 64K. This data is similar to what was observed by Leung et al. Writes, on the other hand, are very different. Leung et al. showed that writes were 60-70\% less than 4K and 90\% less than 64K. In our data, however, we see that only 4\% of writes are less than 4K, 50\% are 64K requests, and 20\% of requests are very large 1M writes. In the 10 years since the last study, it is clear that writes have become significantly larger. This may be explained by the fact that files are much larger and being written as larger blocks.} + +\begin{table} +\centering +\begin{tabular}{|l|c|c|} +\hline +Transfer size & Reads & Writes \\ \hline +$< 4$ & 0.17\% & 14.14\% \\ +$= 4$ & 2.16\% & 4.36\% \\ +$>4, < 64$ & 19.8\% & 42.57\% \\ +$= 64$ & 35.12\% & 34.12\% \\ +$>64, < 512$ & 42.68\% & 4.8\% \\ +$= 512$ & 0.008\% & 1.06e-5\% \\ +$= 1024$ & 1.48e-5\% & 3.31e-5\% \\ \hline +\end{tabular} +\caption{\label{fig:transferSizes}Percentage of transfer sizes for reads and writes} +\vspace{-2em} +\end{table} + +\textcolor{red}{In comparison of the read, write, and create operations we founds that the vast majority of these type of I/O belong to reads. Furthermore, read operations account for the largest aggregate of bytes transferred over the network. However, non-intuitively, it is write operations that cause the largest average number of bytes to be transferred per operations; a magnitude more expensive. The observed byte data appears as a step function following in powers of 2 (e.g. 32K, 64K). } + +% XXX I think we should get rid of this figure - not sure it conveys anything important that is not better conveyed than the CDF +%Figure~\ref{fig:Agg-AvgRT} shows the average response time (RT) for the different I/O operations. The revealing information is that write I/Os take the longest average time. This is expected since writes transfer more data on average. There is an odd spike for create I/O which can be due to a batch of files or nested directories being made. There are points where read I/O RT can be seen, but this only occurs in areas where large RT for write I/O occur. This is attributed to a need to verify the written data. + +%\begin{figure} +% \includegraphics[width=0.5\textwidth]{./images/aggAvgRTs-windowed.pdf} +% \caption{Average Response Time by I/O Operation} +% \label{fig:Agg-AvgRT} +%\end{figure} + +% XXX I think we should get rid of this figure - not sure it conveys anything important that is not better conveyed than the CDF +%Figure~\ref{fig:Agg-AvgBytes} shows the average inter arrival time (IAT) for the different I/O operations. \textcolor{red}{Issue: Data only exists for general operations, NOT for other operations. In other words, data for all other operations was IAT of zero.} \textcolor{blue}{Idea: This is due to single operation by a single user and then no operation being performed again. This would aligns with the ideas of Lueng et.~al.~who noticed that files were being interacted with only once or twice and then not again.} + +%\begin{figure} +% \includegraphics[width=0.5\textwidth]{./images/aggAvgIATs-windowed.pdf} +% \caption{Average Inter Arrival Time by I/O Operation} +% \label{fig:Agg-AvgIAT} +%\end{figure} + +%The following is a list of data collected and why: +%\begin{itemize} +% \item TID-to-IP map: with the hashing, the only way to maintain mapping of `share-types' (i.e. share-paths) to TIDs is via IP (reverse DNS). +% \item FID Data: holds the number of reads, writes, and size of the FID (tracked) for which this information is tracked (per FID). +% \item Tuple Data: holds the reads and writes performed by a seen tuple (per tuple) along with by the tuple and FID's data. +% \item TID Data: holds the number of reads, writes, creates, and total I/O events along with the last time each/any command was seen. Maps are kept of the buffs seen, general IAT, read IAT, write IAT, create IATs. +% \item Tuple Info: Tracking the tuples seen along with a map to that tuple's (per tuple) data. +% \item Oplock Data: Tracks the different types of oplocks that are seen per 15 minutes. +% \item Read/Write Buff: Maps that are used to track the different sized buffers used for Read/Write commands. +% \item `filesizeMap': Used for track the different sized buffers to pass data along the network (generic and all inclusive; ie. tuple level data). +% \item I/O Events: Track the number of I/O events seen in 15 minute periods. I/Os include - read, write, create, general. +%\end{itemize} + +\subsection{I/O Response Times} + +\begin{table}[] +\centering +\begin{tabular}{|l|l|l|l|l|} +\hline + & Reads & Writes & Creates & General \\ \hline +I/O \% & 1.65 & \multicolumn{1}{l|}{2.91} & \multicolumn{1}{l|}{14.9} & \multicolumn{1}{l|}{80.53} \\ \hline +Avg RT (ms) & 131773.717697 & \multicolumn{1}{l|}{495.248564} & \multicolumn{1}{l|}{730.298784} & \multicolumn{1}{l|}{9187.611725} \\ \hline +Avg IAT (ms) & 78299.580708 & \multicolumn{1}{l|}{44560.891349} & \multicolumn{1}{l|}{8690.900040} & \multicolumn{1}{l|}{1608.438123} \\ \hline +%\hline +%Total RT (s) & 224248 & \multicolumn{1}{l|}{41100} & \multicolumn{1}{l|}{342251} & \multicolumn{1}{l|}{131495} \\ \hline +%\% Total RT & 30.34\% & \multicolumn{1}{l|}{5.56\%} & \multicolumn{1}{l|}{46.3\%} & \multicolumn{1}{l|}{17.79\%} \\ \hline +\end{tabular} +\caption{Summary of Trace Statistics: Average Response Time (RT) and Inter Arrival Time (IAT)} +\label{tbl:PercentageTraceSummary} +\vspace{-2em} +\end{table} + +%\begin{table}[] +%\centering +%\begin{tabular}{|l|l|l|l|l|l|} +%\hline +% & Reads & Writes & Creates & General R-W \\ \hline +%Total RT (ms) & 224248442 & \multicolumn{1}{l|}{41100075} & \multicolumn{1}{l|}{342251439} & \multicolumn{1}{l|}{131495153} & \multicolumn{1}{l|}{258573201} \\ \hline +%\% Total RT & 30.34\% & \multicolumn{1}{l|}{5.56\%} & \multicolumn{1}{l|}{46.3\%} & \multicolumn{1}{l|}{17.79\%} & \multicolumn{1}{l|}{34.99\%} \\ \hline +%\end{tabular} +%\caption{Summary of Response Time (RT) Statistics: Total RT and Percentage RT per Operation} +%\label{tbl:PercentageRTSummary} +%\end{table} + +%~!~ Addition since Chandy writing ~!~% +Most previous tracing work has not provided data on I/O response times or command latency which serves as an approximation of server load. In +Table~\ref{tbl:PercentageTraceSummary} we show a summary of the response times for read, write, create, and general commands. We that most general operations have short average response times (24.17 $\mu$s). This exemplifies that these general operations occur in great numbers, run very quickly, and happen at high frequency. +Other observations of the data show that the number of writes are very few, although the response time for their operations is the longest. Creates happen more often, but have a quicker response time, because most of the create commands are actually opens. Although read operations are only a few percentage of the total operations they have a greater average response time than creates. + +To get an indication of how much of an effect these general commands take on overall latency, we also calculated the total aggregate response time for read, write, create, and general operations. We see that even though general commands account for 95\% of all commands, they only account for only 17.8\% of the total response time. Thus, while the volume of general operations does not present an extraordinary burden on server load, reducing these operations can present a clear performance benefit. We also see that creates take the most amount of time ($46.3$\%) of the total response time for all operations. As seen in Table~\ref{tbl:SMBCommands}, the majority of general operations are negotiations while $6.38$\% are closes; which relate to create operations. This shows that while creates are only $5.08$\% on March 15th (and $2.5$\% of the week's operations shown in Table~\ref{tbl:PercentageTraceSummary}) of the total operations performed, they are responsible for $46.3$\% of the time spent performing network I/O. +% +%% Not Needed to Say Since we have no data +%%One key observation is that there were no inter arrival time calculations for read, write, or create operations. We interpret this data to reflect the observations of Leung et.~al.~that noticed that files are interacted with only a few times and then not interacted with again. Extrapolating this concept, we interpret the data to illustrate that files may be read or written once, but then are not examined or interacted with again. +%%\textcolor{blue}{This was entirely unexpected and was discovered as a result of our original assumptions made based on what scope we believed to be the best interpretation of user activity on the network filesystem.} +% +%%\begin{table}[] +%%\centering +%%\begin{tabular}{|l|l|} +%%\hline +%% & Count \\ \hline +%%Sessions & 122 \\ \hline +%%Non-Sessions & 2 \\ \hline +%%\end{tabular} +%%\caption{Summary of Maximum Session and Non-Session Seen} +%%\label{tbl:Counts} +%%\end{table} +%% +%%\textcolor{red}{Not sure if presenting a count of the number of sessions seen is important or worth showing.} +% +%%\begin{table}[] +%%\centering +%%\begin{tabular}{|l|l|l|} +%%\hline +%% & Reads & Writes \\ \hline +%%Average & 27167.76 B & 106961.36 B \\ \hline +%%Percentage & 99.4\% & 0.6\% \\ \hline +%%\end{tabular} +%%\caption{Summary of Bytes Transferred Over the Network} +%%\label{tbl:Bytes} +%%\end{table} +% +%%\textcolor{red}{Reference the large single table instead} +%%Table~\ref{tbl:TraceSummary} shows our findings relating to the total number of bytes transferred over the network due to Read and Write operations. Mimicing the findings from Figure~\ref{fig:Agg-AvgBytes}, the table shows that while the percentage of total bytes passed over the network is dominated by Read operations the average bytes pushed by Write operations is of a magnitude greater. +% +%%Tables to be included: +%%\begin{enumerate} +%% \item Return Times: +%% \begin{itemize} +%% \item General +%% \item Read +%% \item Write +%% \item Create +%% \item Read+Write +%% \end{itemize} +%% \item Inter Arrival Times +%% \begin{itemize} +%% \item General +%% \item Read +%% \item Write +%% \item Create +%% \item Read+Write +%% \end{itemize} +%% \item Bytes per Request (Bytes Over Network) +%% \begin{itemize} +%% \item Read +%% \item Write +%% \item Read+Write +%% \end{itemize} +%%\end{enumerate} +%%Modeling to include: +%%\begin{enumerate} +%% \item Inter Arrival Time CDF +%% \begin{itemize} +%% \item Read +%% \item Write +%% \item Read+Write +%% \end{itemize} +%%\end{enumerate} +% +Figure~\ref{fig:CDF-IAT-General} shows the inter arrival times CDF for general I/O. As can be seen, SMB commands happen very frequently - 85\% of commands are issued less than 20~$\mu s$ apart. As was mentioned above, the SMB protocol is known to be very chatty, and it is clear that servers must spend a lot of time dealing with these commands. For the most part, most of these commands are also serviced fairly quickly as well as seen in Figure~\ref{fig:CDF-RT-General}. Interestingly, the response/return time (RT) for the general metadata operations follows a linear growth. + +Next we examine the response time (RT) of the read, write, and create I/O operations that occur over the SMB network filesystem. The response time for write operations (shown in Figure~\ref{fig:CDF-RT-Write}) follows a step function similar to the bytes written CDF in Figure~\ref{fig:CDF-Bytes-Write}. This is understandable as the response time for a write would be expected to be proportional to the number of bytes written. However, the read response time (Figure~\ref{fig:CDF-RT-Read}) is smoother than the bytes read CDF (Figure~\ref{fig:CDF-Bytes-Write}). This is most likely due to the fact that some of the reads are satisfied by server caches, thus eliminating some long access times to persistent storage. +%While the RT for Write operations are not included (due to their step function behavior) Figure~\ref{fig:CDF-RT-Read} and Figure~\ref{fig:CDF-RT-RW} show the response times for Read and Read+Write operations respectively. T +The write I/O step function behavior is somewhat visible in the CDF of both reads and writes in Figure~\ref{fig:CDF-RT-RW}. Moreover, this shows that the majority (80\%) of read (and write) operations occur within 2~$ms$, the average access time for enterprise storage disks. As would be expected, this is still an order of magnitude greater than the general I/O. + +% Note: RT + IAT time CDFs exist in data output + +% IAT information + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_general_iats_cdf.pdf} + \caption{CDF of Inter Arrival Time for General I/O} + \label{fig:CDF-IAT-General} +\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_general_iats_pdf.pdf} + \caption{PDF of Inter Arrival Time for General I/O} + \label{fig:PDF-IAT-General} +\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_read_iats_cdf.pdf} + \caption{CDF of Inter Arrival Time for Read I/O} + \label{fig:CDF-IAT-Read} +\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_read_iats_pdf.pdf} + \caption{PDF of Inter Arrival Time for Read I/O} + \label{fig:PDF-IAT-Read} +\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_write_iats_cdf.pdf} + \caption{CDF of Inter Arrival Time for Write I/O} + \label{fig:CDF-IAT-Write} +\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_write_iats_pdf.pdf} + \caption{PDF of Inter Arrival Time for Write I/O} + \label{fig:PDF-IAT-Write} +\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_create_iats_cdf.pdf} + \caption{CDF of Inter Arrival Time for Create I/O} + \label{fig:CDF-IAT-Create} +\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_create_iats_pdf.pdf} + \caption{PDF of Inter Arrival Time for Create I/O} + \label{fig:PDF-IAT-Create} +\end{figure} + +% RTs information + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_general_rts_cdf.pdf} + \caption{CDF of Response Time for General I/O} + \label{fig:CDF-RT-General} + \vspace{-2em} +\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_general_rts_pdf.pdf} + \caption{PDF of Response Time for General I/O} + \label{fig:PDF-RT-General} + \vspace{-2em} +\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_read_rts_cdf.pdf} + \caption{CDF of Response Time for Read I/O} + \label{fig:CDF-RT-Read} + \vspace{-2em} +\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_read_rts_pdf.pdf} + \caption{PDF of Response Time for Read I/O} + \label{fig:PDF-RT-Read} + \vspace{-2em} +\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_write_rts_cdf.pdf} + \caption{CDF of Return Time for Write IO} + \label{fig:CDF-RT-Write} + \vspace{-2em} +\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_write_rts_pdf.pdf} + \caption{PDF of Return Time for Write IO} + \label{fig:PDF-RT-Write} + \vspace{-2em} +\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_create_rts_cdf.pdf} + \caption{CDF of Response Time for Create I/O} + \label{fig:CDF-RT-Create} + \vspace{-2em} +\end{figure} + +\begin{figure} + \includegraphics[width=0.5\textwidth]{./images/smb_create_rts_pdf.pdf} + \caption{PDF of Response Time for Create I/O} + \label{fig:PDF-RT-Create} + \vspace{-2em} +\end{figure} + +%\begin{figure} +% \includegraphics[width=0.5\textwidth]{./images/CDF-ioRT-win.pdf} +% \caption{CDF of Response Time for Read+Write I/ O} +% \label{fig:CDF-RT-RW} +%\end{figure} + +%\begin{figure} +% \includegraphics[width=0.5\textwidth]{./images/CDF-rBuff-win.pdf} +% \caption{CDF of Bytes Transferred for Read IO} +% \label{fig:CDF-Bytes-Read} +%\end{figure} + +%\begin{figure} +% \includegraphics[width=0.5\textwidth]{./images/CDF-wBuff-win.pdf} +% \caption{CDF of Bytes Transferred for Write IO} +% \label{fig:CDF-Bytes-Write} +%\end{figure} + +%\begin{figure} +% \includegraphics[width=0.5\textwidth]{./images/CDF-ioBuff-win.pdf} +% \caption{CDF of Bytes Transferred for Read+Write IO} +% \label{fig:CDF-Bytes-RW} +%\end{figure} + +%Points worth mentioning: +%\begin{itemize} +% \item Scale of time is only to the microsecond due to the original pcap file capturing process. \texttt{tshark} only captures to a microsecond scale in our implementation. +% \item Due to a complication of how DataSeries stores information, there are potentially more SMB2 packets than actually occurred since $0$ is an acceptable command for SMB2 (although not used for SMB). +%\end{itemize} + +\subsection{Distribution Models} + +For simulations and analytic modeling, it is often useful to have models that describe the behavior of storage systems I/O. In this section, we attempt to map traditional probabilistic distributions to the data that we have observed. +Specifically, taking the developed CDF graphs, we perform curve fitting to determine the applicability of Gaussian and Weibull distributions to the the network filesystem I/O behavior. Note that an exponential distribution, typically used to model interarrival times and response times, is a special case of a Weibull distribution where $k=1$. +Table~\ref{tbl:curveFitting} shows best-fit parametrized distributions for the measured. % along with $R^2$ fitness values. + +%Based on the collected IAT and RT data, the following are the best fit curve representation equations with supporting $R^{2}$ values. In the case of each, it was found that the equation used to model the I/O behavior was a Gaussian equation with a single term. +%\begin{equation} f(x) = a_1 * e^{-((x-b_1)/c_1)^2)} \end{equation} +%The $R^2$ values for each CDF graph were found to be the following: +%\begin{itemize} +% \item General Command IAT CDF, shown in Figure~\ref{fig:CDF-IAT-General}, had $R^2$ Value of $0.6704$. +% \item General Command RT CDF, shown in Figure~\ref{fig:CDF-RT-General}, had $R^2$ Value of $0.9728$. +% \item Read command RT CDF, shown in Figure~\ref{fig:CDF-RT-Read}, had $R^2$ Value of $0.7754$. +% \item Write command RT CDF, shown in Figure~\ref{fig:CDF-RT-Write}, had $R^2$ Value of $0.7797$ +% \item Create command RT CDF, shown in Figure~\ref{fig:CDF-RT-Create}, had $R^2$ Value of $0.07146$ +% \item Read + Write command RT CDF, shown in Figure~\ref{fig:CDF-RT-RW}, has $R^2$ Value of $0.7837$. +%\end{itemize} + +\begin{table} +\centering +\begin{tabular}{|l|c|c|c||c|c|c|} +\hline +Model & \multicolumn{3}{|c|}{Gaussian} + & \multicolumn{3}{|c|}{Weibull} \\ \hline +CDF & \multicolumn{3}{|c|}{$\frac{1}{\sqrt{2\pi}}\int_{-\infty}^{\frac{x-\mu}{\sigma}}e^{\frac{-t^2}{2}}dt$} + & \multicolumn{3}{|c|}{$1 - e^{(-x/\lambda)^k}$} \\ \hline \hline +I/O Operation & $\mu$ & \multicolumn{2}{|c|}{$\sigma$} & $k$ & \multicolumn{2}{|c|}{$\lambda$} \\ \hline +General IAT & 0.8508 & \multicolumn{2}{|c|}{0.2429} & 4.593 & \multicolumn{2}{|c|}{0.976} \\ +General RT & 0.5945 & \multicolumn{2}{|c|}{0.2694} & 2.2993 & \multicolumn{2}{|c|}{0.6665} \\ +Read RT & 0.8322 & \multicolumn{2}{|c|}{0.194} & 6.147 & \multicolumn{2}{|c|}{0.8963} \\ +Write RT & 0.6918 & \multicolumn{2}{|c|}{0.2898} & 2.455 & \multicolumn{2}{|c|}{0.7675} \\ +Create RT & 0.8539 & \multicolumn{2}{|c|}{0.1906} & 6.379 & \multicolumn{2}{|c|}{0.9103} \\ +R+W RT & 0.8045 & \multicolumn{2}{|c|}{0.2122} & 5.103 & \multicolumn{2}{|c|}{0.3937} \\ \hline +R+W Byte Transfer & 0.3744 & \multicolumn{2}{|c|}{0.2983} & 1.153 & \multicolumn{2}{|c|}{0.3937} \\ +Read Buff Transfer & 0.3737 & \multicolumn{2}{|c|}{0.2982} & 1.152 & \multicolumn{2}{|c|}{0.3928} \\ +Write Buff Transfer & 0.5742 & \multicolumn{2}{|c|}{0.2428} & 1.806 & \multicolumn{2}{|c|}{0.6172} \\ \hline +\end{tabular} +\caption{\label{tbl:curveFitting}Comparison of %$R^2$ +$\mu$, $\sigma$, $k$, and $\lambda$ Values for Curve Fitting Equations on CDF Graphs} +\vspace{-3em} +\end{table} + +%The graphs created by the dissection script are: +%\begin{itemize} +% \item Average IAT (G/R/W/C) - By DateTime. +% \item Average Bytes (R/W) - By DateTime. +% \item Session I/Os (G/R/W/C) - By DateTime. +% \item Non-Session I/Os (G/R/W/C) - By DateTime. +% \item Tuple Counts - By DateTime. +% \item Total Bytes (R+W/R/W) - By DateTime. +% \item Total I/Os (G/R/W) - By DateTime. +%\end{itemize} + +%Observations on graphs: +%\begin{itemize} +% \item Avergage IAT - majority write/general. +% \item Total I/O - majority are general I/O. +% \item Average Bytes - majority are writes. +% \item Bytes Total - majority reads. +% \item Tuple counts are close to same as session counts. +%\end{itemize} + +%Examination of the Response Time (RT) and Inter Arrival Times (IAT) revealed the speed and frequency with which metadata operations are performed, as well as the infrequency of individual users and sessions to interact with a given share. + +Our comparison of the existing standard use of a exponential distribution to model network interarrival and response times is still valid. One should notice that the Gaussian distributions +% had better $R^2$ result than the exponential equivalent for write operations. This is not surprising due to the step-function shape of the Figure~\ref{fig:CDF-RT-Write} CDF. Examining the $R^2$ results for the read + write I/O operations we find that the exponential distribution is far more accurate at modeling this combined behavior. +for read and create operations are similar, while those for write operations are not. Further more there is less similarity between the modeled behavior of general operation inter arrival times and their response times, showing the need for a more refined model for each aspects of the network filesystem interactions. One should also notice that the read + write operation model is more closely similar to that of the reads. +This makes sense since the influence of read operations are found to dominate the I/O behavior of the network filesystem, which improves the ability of a exponential distribution to model the combined behavior. +%Observations: +%\begin{itemize} +% \item Byte data appears in powers of 2 (e.g. 32K, 64K) +% \item IAT times most occur in the 0-10000 microsecond range, expect to general I/O which is in a much smaller range. The expectation is that this is because some commands and actions in SMB do not require the establishment of a session, thus allowing for a faster response. +% \item The timestamps provided by SMB are only accurate to the microseconds. +%\end{itemize} +%University information: +%\begin{itemize} +% \item Central backup server where each has a client. +% \item Client notifies 50 servers at once to do backup and as finished move onto the next. +% \item Only begin during midnight to 4am while servers must be ready to back-up and clients must respond to back-up. +% \item The 50 servers are randomized and incremental back-up takes ~1-2 hours +%\end{itemize} +%\textbf{Note:} Not sure that we would see this traffic since that would be between the servers and the back-up clients, (not the student clients?). +%The collected data shows the following observations about the observed network filesystem. +%\begin{itemize} +% \item The majority of network operations relate to metadata. This is due to a movement for user activity from reading and writing data to simply checking file and directory metadata. +% \item Writes cause the largest amount of data to be passed over the network. While Read operations occur at the largest number and cause the larger total number of bytes to be transferred, write operations are more expensive by an order of magnitude. +% \item \textcolor{red}{Here will be observation on the modeling of poisson fit.} +%\end{itemize} +Due to the large number of metadata operations, the use of smart storage solutions could be used to minimize the impact of these I/O. Smart storage elements can aid by performing metadata operations without the need to access persistent storage, thus causing shorter response times. In this manner, the use of smart storage can also help reduce bottlenecks with larger network filesystems and minimize the effect of traffic on overall network performance. + +\subsection{System Limitations and Challenges} +\label{System Limitations and Challenges} +When initially designing the tracing system used in this paper, different aspects were taken into account, such as space limitations of the tracing system, packet capture limitations (e.g. file size), and speed limitations of the hardware. One limitation encountered in the packet capture system deals with the functional pcap (packet capture file) size. The concern being that the pcap files only need to be held until they have been filtered for specific protocol information and then compressed using the DataSeries format, but still allow for room for the DataSeries files being created to be stored. Other limitation concerns came from the software and packages used to collect the network traffic data~\cite{Orosz2013,dabir2007bottleneck,skopko2012loss}. These ranged from timestamp resolution provided by the tracing system's kernel~\cite{Orosz2013} to how the packet capturing drivers and programs (such as dumpcap and tshark) operate along with how many copies are performed and how often. The speed limitations of the hardware are dictated by the hardware being used (e.g. GB capture interface) and the software that makes use of this hardware (e.g. PF\_RING). After all, our data can only be as accurate as the information being captured~\cite{seltzer2003nfs,anderson2004buttress}. +An other concern was whether or not the system would be able to function optimally during periods of high network traffic. All aspects of the system, from the hardware to the software, have been altered to help combat these concerns and allow for the most accurate packet capturing possible. + +%About Challenges of system +While the limitations of the system were concerns, there were other challenges that were tackled in the development of this research. +One glaring challenge with building this tracing system was using code written by others; tshark \& DataSeries. While these programs are used within the tracing structure there are some issues when working with them. These issues ranged from data type limitations of the code to hash value and checksum miscalculations due to encryption of specific fields/data. Attempt was made to dig and correct these issues, but they were so inherent to the code being worked with that hacks and workarounds were developed to minimize their effect. Other challenges centralize around selection, interpretations and distribution scope of the data collected. Which fields should be filtered out from the original packet capture? What data is most prophetic to the form and function of the network being traced? What should be the scope, with respect to time, of the data being examined? Where will the most interesting information appear? As each obstacle was tackled, new information and ways of examining the data reveal themselves and with each development different alterations \& corrections are made. + +Even when all the information is collected and the most important data has been selected, there is still the issue of what lens should be used to view this information. Because the data being collected is from an active network, there will be differing activity depending on the time of day, week, and scholastic year. For example, although the first week or so of the year may contain a lot of traffic, this does not mean that trends of that period of time will occur for every week of the year (except perhaps the final week of the semester). The trends and habits of the network will change based on the time of year, time of day, and even depend on the exam schedule. Truly interesting examination of data requires looking at all different periods of time to see how all these factors play into the communications of the network. +% DataSeries Challenge +A complication of this process is that the DataSeries code makes use of a push-pop stack for iterating through packet information. This means that if information can not be re-read then errors occur. This can manifest in the scenario where a produced \texttt{.ds} file is corrupted or incomplete, despite the fact that the original \texttt{.pcap} being fine. +%This manifested as an approximate loss of \textbf{????} out of every 100,000 files. +Normally, one could simply re-perform the conversion process to a DataSeries file, but due to the rate of the packets being captured and security concerns of the data being captured, we are unable to re-run any captured information. + +\section{Conclusions and Future Work} +Our analysis of this university network filesystem illustrated the current implementation and use of the CIFS/SMB protocol in a large academic setting. We notice the effect of caches on the ability of the filesystem to limit the number of accesses to persistant storage. The effect of enterprise storage disks access time can seen in the response time for read and write I/O. The majority of network communication is dominated by metadata operation, which is of less surprise since SMB is a known chatty protocol. We do notice that the CIFS/SMB protocol continues to be chatty with metadata I/O operations regardless of the version of SMB being implemented; $92.79$\% of I/O being metadata operations for SMB2. +We also find that while read operations happen in far greater number than write operations (at a ratio of 4.35), the size of the transfers are far less. In fact, the size of the average write operation is an order of magnitude greater than that of reads. Examination of the return times for these different I/O operations shows that exponential distribution curve fitting equation is most accurate at modeling the CDF of the various I/O operations. This shows that the current model is still effective for the majority of I/O, but that for write operations there needs to be further research in modeling the step behavior. +%Our work finds that a single term Gaussian distribution has an $R^2$ value of $0.7797$, but further work needs to be made in order to refine the model. +Our work finds that read and create response times can be modeled similarly, but that the write response times require the alteration of the general model. +However, a combination of read and write I/O can be modeled using the same standard; which has similar shape and scale to that of the read and create operations. + +\subsection{Future Work} +The analysis work will eventually incorporate oplocks and other aspects of resource sharing on the network to gain a more complete picture of the network's usage and bottlenecks. +Network filesystem usage from an individual user scope has become simple and does not contain a greater deal of read, write, and create operations. +Further analysis will be made in examining how the determined metircs change when examined at the scope of a per share (i.e. TID) or per user (i.e. UID). At this level of examination we will be able to obtain a better idea of how each share is interacted with, as well as how files and directories are shared and access control is implemented. + +%\end{document} % This is where a 'short' article might terminate + +%ACKNOWLEDGMENTS are optional +%\section{Acknowledgments} +%This section is optional; it is a location for you +%to acknowledge grants, funding, editing assistance and +%what have you. In the present case, for example, the +%authors would like to thank Gerald Murray of ACM for +%his help in codifying this \textit{Author's Guide} +%and the \textbf{.cls} and \textbf{.tex} files that it describes. + +% +% The following two commands are all you need in the +% initial runs of your .tex file to +% produce the bibliography for the citations in your paper. +\balance +\bibliographystyle{IEEEtran} +\bibliography{sigproc} % sigproc.bib is the name of the Bibliography in this case +% You must have a proper ".bib" file +% and remember to run: +% latex bibtex latex latex +% to resolve all references +% +% ACM needs 'a single self-contained file'! +% +%APPENDICES are optional +%\balancecolumns +%\appendix +%%Appendix A +%\section{Headings in Appendices} +%The rules about hierarchical headings discussed above for +%the body of the article are different in the appendices. +%In the \textbf{appendix} environment, the command +%\textbf{section} is used to +%indicate the start of each Appendix, with alphabetic order +%designation (i.e. the first is A, the second B, etc.) and +%a title (if you include one). So, if you need +%hierarchical structure +%\textit{within} an Appendix, start with \textbf{subsection} as the +%highest level. Here is an outline of the body of this +%document in Appendix-appropriate form: +%\subsection{Introduction} +%\subsection{The Body of the Paper} +%\subsubsection{Type Changes and Special Characters} +%\subsubsection{Math Equations} +%\paragraph{Inline (In-text) Equations} +%\paragraph{Display Equations} +%\subsubsection{Citations} +%\subsubsection{Tables} +%\subsubsection{Figures} +%\subsubsection{Theorem-like Constructs} +%\subsubsection*{A Caveat for the \TeX\ Expert} +%\subsection{Conclusions} +%\subsection{Acknowledgments} +%\subsection{Additional Authors} +%This section is inserted by \LaTeX; you do not insert it. +%You just add the names and information in the +%\texttt{{\char'134}additionalauthors} command at the start +%of the document. +%\subsection{References} +%Generated by bibtex from your ~.bib file. Run latex, +%then bibtex, then latex twice (to resolve references) +%to create the ~.bbl file. Insert that ~.bbl file into +%the .tex source file and comment out +%the command \texttt{{\char'134}thebibliography}. +%% This next section command marks the start of +%% Appendix B, and does not continue the present hierarchy +%\section{More Help for the Hardy} +%The sig-alternate.cls file itself is chock-full of succinct +%and helpful comments. If you consider yourself a moderately +%experienced to expert user of \LaTeX, you may find reading +%it useful but please remember not to change it. +%\balancecolumns % GM June 2007 +% That's all folks! +\end{document} diff --git a/writingNeeds b/writingNeeds new file mode 100644 index 0000000..51263c3 --- /dev/null +++ b/writingNeeds @@ -0,0 +1,151 @@ +Needs for Pre-Evaluation Writing: + +What are the things can be done to set-up the problem + - Matching requirements (AADL) to components (properties, etc.) + - Then go into optimization + - What do the requirements look like + - What how do you set-up the language of the problem + - What are properties of components + - Novelty: use of AADL as language for requirements side, but also componentn properties (component security) + - Then set-up problem in scope of PBD hourglass + - Can pick a system to use as a model for this (e.g. car) + +Position paper for the end of March + - How it should be done + - Set-up framework + +Get idea onto paper for components/security properties/etc. + - Define everything! + - Look deeper into how AADL represents things + - AADL makes sense from requirements side (and from implementation level) + - SystemC makes sense in implementation level + - How to translate/map from one or the other + - Model production is mainly done by handle + - Lack of auto generation from a list of requirements + +Come up with framework (more imporatnt) + - Then work to fit to an existing framework +Would good to have not only framework but also examples with what the language would look like + - Show why you chose AADL + - Why using the language chosen + +See if displaying types in tables is a better format than bullet points + +What is not clear: + - What is already in the AADL security specification + - What is not already in the specification? + +1) What is the problem? +2) Talk about PBD + - Requirements, architecture, mapping +3) What is AADL + - Can give requirement specifications + - Can give element specifications + - Need both for PBD + - Could be used fro PBD + - New AADL additions to security + - AccessGroup + - AccessMode + - Not complete + - What needs to be added from requirements side + - What needs to be added from component side +4) What is the new security specification encompass + i) Models + ii) Requirements + iii) Not so much levels of encryption, as levels of privacy + - Kind of the opposite of access control + - Privacy = data/information/services (is there information that leaks out when someone does not even have access) + - If protection is circumvented, does the information still remain secure? + - What is leaked of the information? + - What can be found out? + - Is the information simply in the clear now? + - Protection = data/information/services access control through mechanisms (control who does or does not have access) + - Integrity = is what was written what is returned + - Has the data been modified? + - Has the service been modified? +5) How does this fit into the PBD model? + i) AADL examines systems from a requirements specification + ii) How to map to components that have (A,B,C) security features + +Need to add examples and figures (can not be all text) + - Need something more than just writing + +Expand on security design problem writing + +10 pages, two column, ACM format (CODES Conference) + - Will let me see what pages we have and what we can play with + +Things to Ask Chandy: + - Should I add a bunch of examples of element properties? + +Add in section highlighting all previous work similar to proposed PBD security model + - Show how easily adooptable the new model can be along with evidence of other already attempting to implement similar concepts/ideas into the existing AADL lexicon + +New Outline Concepts: +Cut down Section 7 + - Takes up a lot of room +Point does not entirly come across + +New Outline Concept: +Introduction + - Keep basics of security + - Points: + - Security is tough + - Design is a problem + - Do not know how to do properly + - Start laying out ideas on how to design secure embedded systems +PBD + - Point that really needs to come out: + - Illustrate the phases of PBD + - Requirements are important! + - Requirements of design perspective + - Need component specifications + - Without these, one can NOT do platform-based design + - Can not do design mapping without component specs + - Could keep the language of PBD as 'contracts' [Make 'contracts' terminology more fluid, be able to switch without issues] +Requirement Specifications for Security + - AADL (as a modeling language) + - AADL with security properties (what already exists) + - What tools already exist? + - Mainly used for verification +Design/Mapping (What is new being introducted by the paper) [Core of the paper - new stuff being brought to the table] + - What are the problems + - What is missing + - Want to add: + - Cost based requirements + - Component specifications of security + - What expansions needs to be added to allow for AADL to model security + - AADL extensions + - Mapping problem + - How does one do the mapping + - Note: solution to mapping problem is not easy + - Don't claim to have a solution + - Presenting model one can use to produce a solution + - Make point: This is a problem that NEEDS TO BE SOLVED!!! + - There are previous steps that need to be tackled before doing the mapping problem + - THIS IS WHAT NEEDS TO BE BROUGHT OUT IN DETAIL!!! + - Could use this paper to do the mapping problem + +Move security extension work expected for AADL into the AADL section instead of the 'Future Work' section + +Image to add: + - Draw own figure: what would the design flow be and how does AADL (& others) come together + - Can be simple, just needs to show where this work would insert into development + - Draw embedded system: to show components and where security could be incorporated + - Larger system to show where additional security properties help + - Draw smaller system example to illustrate need/aid of incorporating security + +Chandy to send emails from CPS security mailing list + - See about joining the working group + - Have weekly calls + - Chandy to send information about how to join the mailing list + +Meld 'Related Work' section into the larger PBD part + +Mention work done on 'Secure Software Design' in the introduction + - To show that research does exist + +Introduction should highlight security failures + - Plane hacks + - Car hacks + - High profile embedded system attacks