<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.reddnet.org/mwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sellersc</id>
	<title>ReddNet - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.reddnet.org/mwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sellersc"/>
	<link rel="alternate" type="text/html" href="https://www.reddnet.org/mwiki/index.php/Special:Contributions/Sellersc"/>
	<updated>2026-05-25T01:32:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://www.reddnet.org/mwiki/index.php?title=Tests/LoDN&amp;diff=3963</id>
		<title>Tests/LoDN</title>
		<link rel="alternate" type="text/html" href="https://www.reddnet.org/mwiki/index.php?title=Tests/LoDN&amp;diff=3963"/>
		<updated>2009-09-01T17:47:07Z</updated>

		<summary type="html">&lt;p&gt;Sellersc: This page summaries the current state of LoDN and testing of LoDN&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LoDN Test Page&lt;/div&gt;</summary>
		<author><name>Sellersc</name></author>
	</entry>
	<entry>
		<id>https://www.reddnet.org/mwiki/index.php?title=LoCI_tools_and_services&amp;diff=3440</id>
		<title>LoCI tools and services</title>
		<link rel="alternate" type="text/html" href="https://www.reddnet.org/mwiki/index.php?title=LoCI_tools_and_services&amp;diff=3440"/>
		<updated>2008-04-21T02:20:59Z</updated>

		<summary type="html">&lt;p&gt;Sellersc: Updated formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Christopher Sellers and Harold Gonzales&lt;br /&gt;
&lt;br /&gt;
April 21, 2008&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outline&lt;br /&gt;
&lt;br /&gt;
LoDN&amp;lt;br/&amp;gt; &lt;br /&gt;
LibStdIO &amp;lt;br/&amp;gt;&lt;br /&gt;
LoDNFS   &amp;lt;br/&amp;gt;&lt;br /&gt;
LEncoder &amp;lt;br/&amp;gt;&lt;br /&gt;
PyIBP    &amp;lt;br/&amp;gt;&lt;br /&gt;
ScreenCasts &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Architectural Stack&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
  LibSTDIO    LoDNFS&lt;br /&gt;
&lt;br /&gt;
         LoDN&lt;br /&gt;
&lt;br /&gt;
         LoRS&lt;br /&gt;
&lt;br /&gt;
 Exnode LBone  End2End&lt;br /&gt;
&lt;br /&gt;
         IBP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDN Purpose&lt;br /&gt;
* Exnode Repository&lt;br /&gt;
* Exnode Management Services &lt;br /&gt;
* Exnode “warming”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDN Usefulness&lt;br /&gt;
* User Configurable&lt;br /&gt;
* Web Interface&lt;br /&gt;
* File system-like approach for management&lt;br /&gt;
* Exnode Persistence&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
User Configurable &lt;br /&gt;
* Exnode accessible (published/unpublished)&lt;br /&gt;
* Distribution of exnode across depots&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Web Interface&lt;br /&gt;
* LoDN service is provided over http[s] through a web server&lt;br /&gt;
* All data and actions are passed to LoDN through http[s].&lt;br /&gt;
* This makes it accessible and viewable via a browser.&lt;br /&gt;
* Provides a simple interface protocol for writing client code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
File system-like appearance &lt;br /&gt;
* It provides heirachical directory structure&lt;br /&gt;
* Traverse, create and remove directories&lt;br /&gt;
* Exnodes appear as files within each directory&lt;br /&gt;
* Each exnode has properties: sizes, accessibility&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDN URI&lt;br /&gt;
* lodn://hostname[:port]/username/path-to-exnode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exnode Persistence&lt;br /&gt;
* Warming&lt;br /&gt;
* Imported exnodes fall under the control of the warmer&lt;br /&gt;
* Users can control how exnodes are warmed and distributed &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warmer&lt;br /&gt;
* Periodically refreshes each allocation&lt;br /&gt;
* Replicates data across the user defined &amp;quot;sites&amp;quot;&lt;br /&gt;
* One allocation is replicated and maintained per site&lt;br /&gt;
* Controls sharing and distribution of data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warmer Control&lt;br /&gt;
* The warmer operates based on user defined configuration files&lt;br /&gt;
* Users can specify their own sites for their exnodes&lt;br /&gt;
* The warmer operates on exnodes based on the &amp;quot;nearest&amp;quot; configuration file.&lt;br /&gt;
* Hierarchical arranged, per exnode and per directory and per account&lt;br /&gt;
* Warmer files can be managed through web interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DEMO of LoDN and Warmer file&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LibStdIO&lt;br /&gt;
* Based on the stdio interface&lt;br /&gt;
* Serves as drop in replacement&lt;br /&gt;
* Offers the following functions:&lt;br /&gt;
       fopen, fdopen, fileno, ferror, setvbuf, fprintf, fread, putc, fputc, fputs, fwrite, &lt;br /&gt;
       ftell, fseek, fclose, fflush, fgetc, fgets, feof, clearerr, fstat, ftruncate &lt;br /&gt;
&lt;br /&gt;
* The only change needed is to replace the stdio.h header file with libStdIO.h and to recompile with LoRS libraries.&lt;br /&gt;
* It does preprocessor replacement, to replace all of the above functions with their std_ equivalents in libStdIO.&lt;br /&gt;
&lt;br /&gt;
* It works with the LoDN URI and is compatible with regular stdio.  &lt;br /&gt;
  &lt;br /&gt;
* When a file is opened, libStdIO determines the type based on the URI scheme.  For every file descriptor, there is an internal data structure of function pointers for the io functions to use. For standard files, the regular io functions are assigned.  For LoDN URI, the LoRS (lors_*) functions are assigned in the data structure.  When the std_* functions are called, this data structure is used to call the correction io function.&lt;br /&gt;
&lt;br /&gt;
    Ex: Application --&amp;gt; std_fread() --&amp;gt; lors_fread() or fread() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* When a LoDN URI is opened, libStdIO uses the http[s] protocol to export the exnode from LoDN and to the local file system for use. &lt;br /&gt;
* When a LoDN URI is closed, libStdIO uses the http[s] protocol to import the exnode to LoDN.    - The logistical networking based io functions are implemented with the LoRS API with local buffering. &lt;br /&gt;
&lt;br /&gt;
* In addition to the LoDN URI, environmental variables are used to pass information to libStdIO including username (LODN_USER), password (LODN_PASSWORD), ssl method (LODN_SSL_METHOD), and depots (LORS_DEPOTS). &lt;br /&gt;
&lt;br /&gt;
* Example Applications:&lt;br /&gt;
     HDF5, grace, gnuplot and more&lt;br /&gt;
&lt;br /&gt;
&amp;lt;LibStDIO Demo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDNFS over Fuse&lt;br /&gt;
&lt;br /&gt;
Purpose&lt;br /&gt;
* Many application expect lower Posix IO and filesystem interface if StdIO can be used.&lt;br /&gt;
* Every application has to be individual ported.&lt;br /&gt;
&lt;br /&gt;
Fuse&lt;br /&gt;
* Filesystem in userspace or FUSE allows non-privileged users to create their own file systems without the need to write any kernel code.  &lt;br /&gt;
* This is achieved by running the file system code in user space, while the FUSE module only provides a &amp;quot;bridge&amp;quot; to the actual kernel interfaces.  &lt;br /&gt;
* In this case the FUSE interface handles the acquisition of the exnode and the collection of data from the  depots, leaving the user free to use the mounted directory as they would a normal filesystem.&lt;br /&gt;
* The use of FUSE eliminates the need for applications to be ported, but also enforces filesystem semantics and necessitates the mounting of the desired lodn directories.&lt;br /&gt;
* A major advantage of fuse is that it allows us to not only use a command line interface but allows for the full range of applications of any mounted partition.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementation&lt;br /&gt;
* Fuse provides a set of functions to implement. &lt;br /&gt;
* The kernel performs filesystem requests through a pseudo device and fuse module that calls  these functions.  &lt;br /&gt;
* These functions work similar to the lors_* functions in libStdIO in that they use http[s] to communicate with LoDN and the LoRS API for operating on the exnode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Though still in development this tool allows for greater ease of use, a wider variety of applications, and a new level of convenience for the LoDN user community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt; LoDNFS Demo &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LEncoder: a logistical computing video transcoding service&lt;br /&gt;
&lt;br /&gt;
* The NFU provides a mechanism for computation within the logisitcal network&lt;br /&gt;
* There exists a potential for computationally complex operations to be distributed and executed via many NFUs&lt;br /&gt;
* An example of such an operation is video transcoding ( the transformation of a video file by manipulating bitrate, codec, etc)&lt;br /&gt;
* LEncoder (based on Mplayer's MEncoder program) will introduce a facility for video transcoding within the logistical network&lt;br /&gt;
* encoding operations will read data from and write output to ibp capabilities&lt;br /&gt;
* A client program written using PyIBP will segment the data in the original file, distribute it across depots, invoke LEncoder on those segments, download the finished pieces, and coalesce the output file&lt;br /&gt;
* Current used planned for the transcoding of hdtv for the new ibpvoHD service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PyIBP&lt;br /&gt;
&lt;br /&gt;
* Provides bindings to the C IBP client API in Python.&lt;br /&gt;
* In development&lt;br /&gt;
* Rapid prototyping for new tools and applications.&lt;br /&gt;
** New ideas can be rapidly tried and tested in a high level language.&lt;br /&gt;
** Adjustments and changes can be made quickly in Python before writing the production code in lower and more efficient languages like C.&lt;br /&gt;
* Python is heavily used by the scientific community for applications and gluing components together.  This allows them to tie in another component (IBP) without rewriting their programs in C.&lt;br /&gt;
* For example, the client program for LEncoder is planned to be implemented with PyIBP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Screen casts&lt;br /&gt;
&lt;br /&gt;
* Provides a series of introductions to the various components of Logistical Networking.&lt;br /&gt;
* Targeted at different audiences (Users and Developers).&lt;br /&gt;
* The goal is to provide a template that explains to new users fundamentals of LN&lt;br /&gt;
&lt;br /&gt;
* 3 main topics:&lt;br /&gt;
# LN intro (10 min)  - Everyone&lt;br /&gt;
# LoDN   (10 min)    - Non tech users&lt;br /&gt;
# LibStdIO/Fuse      - Application Developers&lt;br /&gt;
&lt;br /&gt;
* In development due in Mid Summer&lt;/div&gt;</summary>
		<author><name>Sellersc</name></author>
	</entry>
	<entry>
		<id>https://www.reddnet.org/mwiki/index.php?title=LoCI_tools_and_services&amp;diff=3439</id>
		<title>LoCI tools and services</title>
		<link rel="alternate" type="text/html" href="https://www.reddnet.org/mwiki/index.php?title=LoCI_tools_and_services&amp;diff=3439"/>
		<updated>2008-04-20T23:10:30Z</updated>

		<summary type="html">&lt;p&gt;Sellersc: Initial Import of Page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LoCI tools and services&lt;br /&gt;
&lt;br /&gt;
Christopher Sellers and Harold Gonzales&lt;br /&gt;
&lt;br /&gt;
April 21, 2008&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outline&lt;br /&gt;
&lt;br /&gt;
LoDN &amp;lt;br/&amp;gt; &lt;br /&gt;
LibStdIO &amp;lt;br/&amp;gt;&lt;br /&gt;
LoDNFS   &amp;lt;br/&amp;gt;&lt;br /&gt;
LEncoder &amp;lt;br/&amp;gt;&lt;br /&gt;
PyIBP    &amp;lt;br/&amp;gt;&lt;br /&gt;
ScreenCasts &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Architectural Stack&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
  LibSTDIO    LoDNFS&lt;br /&gt;
&lt;br /&gt;
         LoDN&lt;br /&gt;
&lt;br /&gt;
         LoRS&lt;br /&gt;
&lt;br /&gt;
 Exnode LBone  End2End&lt;br /&gt;
&lt;br /&gt;
         IBP &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDN Purpose&lt;br /&gt;
* Exnode Repository&lt;br /&gt;
* Exnode Management Services &lt;br /&gt;
* Exnode “warming”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDN Usefulness&lt;br /&gt;
* User Configurable&lt;br /&gt;
* Web Interface&lt;br /&gt;
* File system-like approach for management&lt;br /&gt;
* Exnode Persistence&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
User Configurable &lt;br /&gt;
* Exnode accessible (published/unpublished)&lt;br /&gt;
* Distribution of exnode across depots&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Web Interface&lt;br /&gt;
* LoDN service is provided over http[s] through a web server&lt;br /&gt;
* All data and actions are passed to LoDN through http[s].&lt;br /&gt;
* This makes it accessible and viewable via a browser.&lt;br /&gt;
* Provides a simple interface protocol for writing client code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
File system-like appearance &lt;br /&gt;
* It provides heirachical directory structure&lt;br /&gt;
* Traverse, create and remove directories&lt;br /&gt;
* Exnodes appear as files within each directory&lt;br /&gt;
* Each exnode has properties: sizes, accessibility&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDN URI&lt;br /&gt;
* lodn://hostname[:port]/username/path-to-exnode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exnode Persistence&lt;br /&gt;
* Warming&lt;br /&gt;
* Imported exnodes fall under the control of the warmer&lt;br /&gt;
* Users can control how exnodes are warmed and distributed &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warmer&lt;br /&gt;
* Periodically refreshes each allocation&lt;br /&gt;
* Replicates data across the user defined &amp;quot;sites&amp;quot;&lt;br /&gt;
* One allocation is replicated and maintained per site&lt;br /&gt;
* Controls sharing and distribution of data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warmer Control&lt;br /&gt;
* The warmer operates based on user defined configuration files&lt;br /&gt;
* Users can specify their own sites for their exnodes&lt;br /&gt;
* The warmer operates on exnodes based on the &amp;quot;nearest&amp;quot; configuration file.&lt;br /&gt;
* Hierarchical arranged, per exnode and per directory and per account&lt;br /&gt;
* Warmer files can be managed through web interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DEMO of LoDN and Warmer file&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LibStdIO&lt;br /&gt;
* Based on the stdio interface&lt;br /&gt;
* Serves as drop in replacement&lt;br /&gt;
* Offers the following functions:&lt;br /&gt;
       fopen, fdopen, fileno, ferror, setvbuf, fprintf, fread, putc, fputc, fputs, fwrite, &lt;br /&gt;
       ftell, fseek, fclose, fflush, fgetc, fgets, feof, clearerr, fstat, ftruncate &lt;br /&gt;
&lt;br /&gt;
* The only change needed is to replace the stdio.h header file with libStdIO.h and to recompile with LoRS libraries.&lt;br /&gt;
* It does preprocessor replacement, to replace all of the above functions with their std_ equivalents in libStdIO.&lt;br /&gt;
&lt;br /&gt;
* It works with the LoDN URI and is compatible with regular stdio.  &lt;br /&gt;
  &lt;br /&gt;
* When a file is opened, libStdIO determines the type based on the URI scheme.  For every file descriptor, there is an internal data structure of function pointers for the io functions to use. For standard files, the regular io functions are assigned.  For LoDN URI, the LoRS (lors_*) functions are assigned in the data structure.  When the std_* functions are called, this data structure is used to call the correction io function.&lt;br /&gt;
&lt;br /&gt;
    Ex: Application --&amp;gt; std_fread() --&amp;gt; lors_fread() or fread() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* When a LoDN URI is opened, libStdIO uses the http[s] protocol to export the exnode from LoDN and to the local file system for use. &lt;br /&gt;
* When a LoDN URI is closed, libStdIO uses the http[s] protocol to import the exnode to LoDN.    - The logistical networking based io functions are implemented with the LoRS API with local buffering. &lt;br /&gt;
&lt;br /&gt;
* In addition to the LoDN URI, environmental variables are used to pass information to libStdIO including username (LODN_USER), password (LODN_PASSWORD), ssl method (LODN_SSL_METHOD), and depots (LORS_DEPOTS). &lt;br /&gt;
&lt;br /&gt;
* Example Applications:&lt;br /&gt;
     HDF5, grace, gnuplot and more&lt;br /&gt;
&lt;br /&gt;
&amp;lt;LibStDIO Demo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDNFS over Fuse&lt;br /&gt;
&lt;br /&gt;
Purpose&lt;br /&gt;
* Many application expect lower Posix IO and filesystem interface if StdIO can be used.&lt;br /&gt;
* Every application has to be individual ported.&lt;br /&gt;
&lt;br /&gt;
Fuse&lt;br /&gt;
* Filesystem in userspace or FUSE allows non-privileged users to create their own file systems without the need to write any kernel code.  &lt;br /&gt;
* This is achieved by running the file system code in user space, while the FUSE module only provides a &amp;quot;bridge&amp;quot; to the actual kernel interfaces.  &lt;br /&gt;
* In this case the FUSE interface handles the acquisition of the exnode and the collection of data from the  depots, leaving the user free to use the mounted directory as they would a normal filesystem.&lt;br /&gt;
* The use of FUSE eliminates the need for applications to be ported, but also enforces filesystem semantics and necessitates the mounting of the desired lodn directories.&lt;br /&gt;
* A major advantage of fuse is that it allows us to not only use a command line interface but allows for the full range of applications of any mounted partition.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementation&lt;br /&gt;
* Fuse provides a set of functions to implement. &lt;br /&gt;
* The kernel performs filesystem requests through a pseudo device and fuse module that calls  these functions.  &lt;br /&gt;
* These functions work similar to the lors_* functions in libStdIO in that they use http[s] to communicate with LoDN and the LoRS API for operating on the exnode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Though still in development this tool allows for greater ease of use, a wider variety of applications, and a new level of convenience for the LoDN user community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt; LoDNFS Demo &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LEncoder: a logistical computing video transcoding service&lt;br /&gt;
&lt;br /&gt;
* The NFU provides a mechanism for computation within the logisitcal network&lt;br /&gt;
* There exists a potential for computationally complex operations to be distributed and executed via many NFUs&lt;br /&gt;
* An example of such an operation is video transcoding ( the transformation of a video file by manipulating bitrate, codec, etc)&lt;br /&gt;
* LEncoder (based on Mplayer's MEncoder program) will introduce a facility for video transcoding within the logistical network&lt;br /&gt;
* encoding operations will read data from and write output to ibp capabilities&lt;br /&gt;
* A client program written using PyIBP will segment the data in the original file, distribute it across depots, invoke LEncoder on those segments, download the finished pieces, and coalesce the output file&lt;br /&gt;
* Current used planned for the transcoding of hdtv for the new ibpvoHD service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PyIBP&lt;br /&gt;
&lt;br /&gt;
* Provides bindings to the C IBP client API in Python.&lt;br /&gt;
* In development&lt;br /&gt;
* Rapid prototyping for new tools and applications.&lt;br /&gt;
** New ideas can be rapidly tried and tested in a high level language.&lt;br /&gt;
** Adjustments and changes can be made quickly in Python before writing the production code in lower and more efficient languages like C.&lt;br /&gt;
* Python is heavily used by the scientific community for applications and gluing components together.  This allows them to tie in another component (IBP) without rewriting their programs in C.&lt;br /&gt;
* For example, the client program for LEncoder is planned to be implemented with PyIBP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt; PyIBP Demo &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Screen casts&lt;br /&gt;
&lt;br /&gt;
* Provides a series of introductions to the various components of Logistical Networking.&lt;br /&gt;
* Targeted at different audiences (Users and Developers).&lt;br /&gt;
* The goal is to provide a template that explains to new users fundamentals of LN&lt;br /&gt;
&lt;br /&gt;
* 3 main topics:&lt;br /&gt;
# LN intro (10 min)  - Everyone&lt;br /&gt;
# LoDN   (10 min)    - Non tech users&lt;br /&gt;
# LibStdIO/Fuse      - Application Developers&lt;br /&gt;
&lt;br /&gt;
* In development due in Mid Summer&lt;/div&gt;</summary>
		<author><name>Sellersc</name></author>
	</entry>
	<entry>
		<id>https://www.reddnet.org/mwiki/index.php?title=REDDnet@I2:_REDDnet_Activities_meeting,_21April08&amp;diff=3438</id>
		<title>REDDnet@I2: REDDnet Activities meeting, 21April08</title>
		<link rel="alternate" type="text/html" href="https://www.reddnet.org/mwiki/index.php?title=REDDnet@I2:_REDDnet_Activities_meeting,_21April08&amp;diff=3438"/>
		<updated>2008-04-20T22:47:21Z</updated>

		<summary type="html">&lt;p&gt;Sellersc: Created a link to LoCI tools and services page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Coordinates==&lt;br /&gt;
'''April 28, 8:00am-5:00pm, [http://www.marriott.com/hotels/travel/wasgw-crystal-gateway-marriott/ Crystal Gateway Marriott], Washington, DC.''' This meeting is held in cooperation with the [http://events.internet2.edu/2008/spring-mm/ Spring 2008 Internet2 Member Meeting], which will be held April 21-23, 2008. The meeting will be held in the [http://www.reddnet.org/mwiki/index.php/Image:Marriott2ndFloorDiagram.png Alexandria room].&lt;br /&gt;
== Overview and main goals of the the meeting ==&lt;br /&gt;
Over the course of the next 6 to 9 months, REDDnet will become a operational infrastructure, working in pre-production (i.e. &amp;quot;beta) mode, but none the less supporting application communities of early adopters and experimental users. The main purpose of this meeting is to map out, discuss, and agree on the steps necessary for success in this effort. Longer term plans for essential software development, service deployment, and community support will also be explored.&lt;br /&gt;
&lt;br /&gt;
The morning session, which will be restricted to the REDDnet PIs and the core LN software development community and REDDnet operations group, will focus on issues surrounding the REDDnet roll out and mid-term software and service development and deployment. In the afternoon session, we will be joined by participants and interested parties from REDDnet's application communities; the goal of the session is to listen to and understand their requirements, concerns, and questions, so that REDDnet objectives and milestones line up as well as possible with their goals. The success of REDDnet largely depends on the success of these application communities in using it.&lt;br /&gt;
&lt;br /&gt;
'''[[REDDnet@I2-Apr08 meeting results]]: Agreed upon objectives, milestones, task assignments, and other notes from the meeting.'''&lt;br /&gt;
&lt;br /&gt;
=Agenda=&lt;br /&gt;
'''Continental Breakfast (7:30am-8:30am)'''&lt;br /&gt;
== Morning: Software Development and REDDnet Operations (8:30a - 12:00p)==&lt;br /&gt;
'''8:30-8:45''': Greetings (Paul and Terry)&lt;br /&gt;
&lt;br /&gt;
'''8:45-9:30''': [[State of REDDnet infrastructure - April08]]&lt;br /&gt;
* Deployment: Current state, plans for next 6 months, issues raised. (Bobby)&lt;br /&gt;
* Summary of ongoing tests: ACCRE depot tests, LoDN/warming with ACCRE depot, VTNA, recursive augment for FACIT, CMS experiments (Alan,Santi, Chris, Harold)&lt;br /&gt;
* Request tracker for problem resolution (Matt)&lt;br /&gt;
*Issues?&lt;br /&gt;
** Protocols for infrastructure testing vs. application use&lt;br /&gt;
** Monitoring and management&lt;br /&gt;
** Instrumentation/monitoring? For example, PerfSonar?&lt;br /&gt;
** What about sites wanting to opt in?&lt;br /&gt;
&lt;br /&gt;
'''9:30-10:00''' REDDnet Communications&lt;br /&gt;
&lt;br /&gt;
'''10:00-10:15''' Morning Break&lt;br /&gt;
&lt;br /&gt;
'''10:15-12:00''' [[Software and Service Development - April08]]&lt;br /&gt;
*Current LN middleware for REDDnet:&lt;br /&gt;
** L-Store (Santi)&lt;br /&gt;
** [[LoCI tools and services]] (Chris and Harold)&lt;br /&gt;
** Nevoa software suite&lt;br /&gt;
** 3rd party &lt;br /&gt;
**Phoebus?&lt;br /&gt;
* Future&lt;br /&gt;
&lt;br /&gt;
Software Development - Since our resources for software development are limited at this point, the critical question here would seem to be this: &amp;quot;What new software development (including extensions or modifications of existing code) needs to occur in order for REDDnet to succeed over the next 6-9 months and be prepared for next phase.&lt;br /&gt;
* Interoperability testing:&lt;br /&gt;
**IBP depots - LoCI, ACCRE, Nevoa&lt;br /&gt;
**exNodes - L-Store and LoDN&lt;br /&gt;
**LoRS/LoDN and the ACCRE depot; L-Store and LoCI or Nevoa depot?&lt;br /&gt;
* Future modifications to/standardization of efforts&lt;br /&gt;
** IBP &lt;br /&gt;
** exNode &lt;br /&gt;
** exMSP&lt;br /&gt;
** TSSP&lt;br /&gt;
&lt;br /&gt;
'''12:00-1:30  LUNCH'''&lt;br /&gt;
&lt;br /&gt;
==Afternoon: Planning for Application Communities (1:30p - 5:00p)==&lt;br /&gt;
The afternoon session will focus on hearing about REDDnet's ongoing work with application communities. Representatives from some of those communities will be their, so we'll also hear from them. A more detailed agenda is in process, but below are some of the items to be presented and/or discussed. The main objective is to ascertain what lies on the critical path for operations, support, software development and standardization in order to enable our application groups to make progress. Application communities and projects to be discussed include the following:&lt;br /&gt;
&lt;br /&gt;
* America View (P. R. Blackwell)- P.R. will give a brief overview of what they're doing to set the stage for an opportunity currently coming into view with the EDC and the USGS. The goal is to plan a demonstration of REDDnet capabilities for EDC early this summer.&lt;br /&gt;
* Federated Archive Cyberinfrastructure Testbed (FACIT) and broader collaboration with the Library or Congress and their NDIIPP program&lt;br /&gt;
* Vanderbilt Opthalmic Imaging Center -- Remote Third World Health Screening (Paul/Santi)&lt;br /&gt;
* Fusion Energy (Chris)&lt;br /&gt;
* CMS/OSG&lt;br /&gt;
* Collaboration with SuraGrid&lt;br /&gt;
&lt;br /&gt;
=Attendees=&lt;br /&gt;
''Full Day''&lt;br /&gt;
*Vanderbilt: Paul Sheldon, Dan Engh, Alan Tackett, Santi de Ledesma, Bobby Brown, Matt Binkley, David Mathews,...&lt;br /&gt;
*University of Tennessee: Terry Moore, Chris Sellers, Harold Gonzales, Micah Beck (remotely)&lt;br /&gt;
*Stephen F. Austin: PR Blackwell&lt;br /&gt;
*University of Deleware: Martin Swany&lt;br /&gt;
*[http://www.muni.cz/ Masaryk University (Czech Republic)]: Lukáš Hejtmánek&lt;br /&gt;
&lt;br /&gt;
''Afternoon: Application Communities''&lt;br /&gt;
*Library of Congress (Jane Mandelbaum, ...)&lt;br /&gt;
*SURA (Gary Crane, John Paul Robinson - UAB)&lt;br /&gt;
*UCSB (Remotely)&lt;br /&gt;
*Eastern Suffolk BOCES (Joe Isabelle)&lt;/div&gt;</summary>
		<author><name>Sellersc</name></author>
	</entry>
	<entry>
		<id>https://www.reddnet.org/mwiki/index.php?title=How_we_did_things_in_the_tools_we_developed_at_UTK&amp;diff=3237</id>
		<title>How we did things in the tools we developed at UTK</title>
		<link rel="alternate" type="text/html" href="https://www.reddnet.org/mwiki/index.php?title=How_we_did_things_in_the_tools_we_developed_at_UTK&amp;diff=3237"/>
		<updated>2008-02-01T06:42:13Z</updated>

		<summary type="html">&lt;p&gt;Sellersc: How LoCI has done things&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How we did things in the tools we developed at UTK&lt;br /&gt;
&lt;br /&gt;
              Christopher Sellers &lt;br /&gt;
&lt;br /&gt;
                 Feb 1, 2008&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outline&lt;br /&gt;
&lt;br /&gt;
  LoDN  &lt;br /&gt;
  LibStdIO&lt;br /&gt;
  LoDNFS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Architectural Stack&lt;br /&gt;
&lt;br /&gt;
  LibSTDIO    LoDNFS&lt;br /&gt;
&lt;br /&gt;
         LoDN&lt;br /&gt;
&lt;br /&gt;
         LoRS&lt;br /&gt;
&lt;br /&gt;
 Exnode LBone  End2End&lt;br /&gt;
&lt;br /&gt;
         IBP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDN Purpose&lt;br /&gt;
  - Exnode Repository&lt;br /&gt;
  - Exnode Management Services &lt;br /&gt;
  - Exnode “warming”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDN Usefulness&lt;br /&gt;
  - User Configurable&lt;br /&gt;
  - Web Interface&lt;br /&gt;
  - File system-like approach for management&lt;br /&gt;
  - Exnode Persistence&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
User Configurable &lt;br /&gt;
  - Exnode accessible (published/unpublished)&lt;br /&gt;
  - Distribution of exnode across depots&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Web Interface&lt;br /&gt;
  - LoDN service is provided over http[s] through a web server&lt;br /&gt;
  - All data and actions are passed to LoDN through http[s].&lt;br /&gt;
  - This makes it accessible and viewable via a browser.&lt;br /&gt;
  - Provides a simple interface protocol for writing client code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
File system-like appearance &lt;br /&gt;
  - It provides heirachical directory structure&lt;br /&gt;
  - Traverse, create and remove directories&lt;br /&gt;
  - Exnodes appear as files within each directory&lt;br /&gt;
  - Each exnode has properties: sizes, accessibility&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDN URI&lt;br /&gt;
  - lodn://hostname[:port]/username/path-to-exnode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DEMO of LoDN&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exnode Persistence&lt;br /&gt;
  - Warming&lt;br /&gt;
  - Imported exnodes fall under the control of the warmer&lt;br /&gt;
  - Users can control how exnodes are warmed and distributed &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warmer&lt;br /&gt;
  - Periodically refreshes each allocation&lt;br /&gt;
  - Replicates data across the user defined &amp;quot;sites&amp;quot;&lt;br /&gt;
  - One allocation is replicated and maintained per site&lt;br /&gt;
  - Controls sharing and distribution of data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warmer Control&lt;br /&gt;
  - The warmer operates based on user defined configuration files&lt;br /&gt;
  - Users can specify their own sites for their exnodes&lt;br /&gt;
  - The warmer operates on exnodes based on the &amp;quot;nearest&amp;quot; configuration file.&lt;br /&gt;
  - Hierarchical arranged, per exnode and per directory&lt;br /&gt;
  - Configuration files can be managed through web interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DEMO of Warmer and control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LibStdIO&lt;br /&gt;
  - Based on the stdio interface&lt;br /&gt;
  - Serves as drop in replacement&lt;br /&gt;
  - Offers the following functions:&lt;br /&gt;
       fopen, fdopen, fileno, ferror, setvbuf, fprintf, fread, putc, fputc, fputs, fwrite, &lt;br /&gt;
       ftell, fseek, fclose, fflush, fgetc, fgets, feof, clearerr, fstat, ftruncate &lt;br /&gt;
&lt;br /&gt;
  - The only change needed is to replace the stdio.h header file with libStdIO.h and to recompile with LoRS libraries.&lt;br /&gt;
&lt;br /&gt;
  - It works with the LoDN URI and is compatible with regular stdio.  &lt;br /&gt;
  - It does preprocessor replacement, to replace all of the above functions with their std_ equivalents in libStdIO. &lt;br /&gt;
  - When a file is opened, libStdIO determines the type based on the URI scheme.  For every file descriptor, there is an internal data structure of function pointers for the io functions to use. For standard files, the regular io functions are assigned.  For LoDN URI, the LoRS (lors_*) functions are assigned in the data structure.  When the std_* functions are called, this data structure is used to call the correction io function.&lt;br /&gt;
&lt;br /&gt;
    Ex: Application --&amp;gt; std_fread() --&amp;gt; lors_fread() or fread() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  - When a LoDN URI is opened, libStdIO uses the http[s] protocol to export the exnode from LoDN and to the local file system for use. &lt;br /&gt;
  - When a LoDN URI is closed, libStdIO uses the http[s] protocol to import the exnode to LoDN.    - The logistical networking based io functions are implemented with the LoRS API with local buffering. &lt;br /&gt;
&lt;br /&gt;
  - In addition to the LoDN URI, environmental variables are used to pass information to libStdIO including username (LODN_USER), password (LODN_PASSWORD), ssl method (LODN_SSL_METHOD), and depots (LORS_DEPOTS). &lt;br /&gt;
&lt;br /&gt;
  - Example Applications:&lt;br /&gt;
     HDF5, grace, gnuplot and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
   #include &amp;quot;libStdIO.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   /***---Main---***/&lt;br /&gt;
   int main(int argc, char *argv[])&lt;br /&gt;
   {&lt;br /&gt;
      /* Declarations */&lt;br /&gt;
      FILE *file;&lt;br /&gt;
      char buffer[4096];&lt;br /&gt;
      int amtRead;&lt;br /&gt;
      int i;&lt;br /&gt;
   &lt;br /&gt;
      for(i=1; i&amp;lt;argc; i++)&lt;br /&gt;
      {&lt;br /&gt;
          if((file = fopen(argv[i], &amp;quot;r&amp;quot;)) == NULL)&lt;br /&gt;
          {&lt;br /&gt;
              fprintf(stderr, &amp;quot;Error opening %s\n&amp;quot;, argv[i]);&lt;br /&gt;
              continue;&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          while((amtRead = fread(buffer, 1, sizeof(buffer), file)) &amp;gt; 0)&lt;br /&gt;
          {&lt;br /&gt;
              write(1, buffer, amtRead);&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          fclose(file);&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      /* Return successfully to the parent process */&lt;br /&gt;
      return EXIT_SUCCESS;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;LibStDIO Demo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Questions?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDNFS over Fuse&lt;br /&gt;
&lt;br /&gt;
Purpose&lt;br /&gt;
  - Many application expect lower Posix IO and filesystem interface if StdIO can be used.&lt;br /&gt;
  - Every application has to be individual ported.&lt;br /&gt;
&lt;br /&gt;
Fuse&lt;br /&gt;
  - Filesystem in userspace or FUSE allows non-privileged users to create their own file systems without the need to write any kernel code.  &lt;br /&gt;
  - This is achieved by running the file system code in user space, while the FUSE module only provides a &amp;quot;bridge&amp;quot; to the actual kernel interfaces.  &lt;br /&gt;
  - In this case the FUSE interface handles the acquisition of the exnode and the collection of data from the  depots, leaving the user free to use the mounted directory as they would a normal filesystem.&lt;br /&gt;
  - The use of FUSE eliminates the need for applications to be ported, but also enforces filesystem semantics and necessitates the mounting of the desired lodn directories.&lt;br /&gt;
  - A major advantage of fuse is that it allows us to not only use a command line interface but allows for the full range of applications of any mounted partition.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementation&lt;br /&gt;
  - Fuse provides a set of functions to implement. &lt;br /&gt;
  - The kernel performs filesystem requests through a pseudo device and fuse module that calls  these functions.  &lt;br /&gt;
  - These functions work similar to the lors_* functions in libStdIO in that they use http[s] to communicate with LoDN and the LoRS API for operating on the exnode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  - Though still in development this tool allows for greater ease of use, a wider variety of applications, and a new level of convenience for the LoDN user community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt; LoDNFS Demo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questions?&lt;/div&gt;</summary>
		<author><name>Sellersc</name></author>
	</entry>
	<entry>
		<id>https://www.reddnet.org/mwiki/index.php?title=How_we_did_things_in_the_tools_we_developed_at_UTK&amp;diff=3236</id>
		<title>How we did things in the tools we developed at UTK</title>
		<link rel="alternate" type="text/html" href="https://www.reddnet.org/mwiki/index.php?title=How_we_did_things_in_the_tools_we_developed_at_UTK&amp;diff=3236"/>
		<updated>2008-02-01T06:34:43Z</updated>

		<summary type="html">&lt;p&gt;Sellersc: How LoCI has done things&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
How we did things in the tools we developed at UTK&lt;br /&gt;
&lt;br /&gt;
              Christopher Sellers &lt;br /&gt;
&lt;br /&gt;
                 Feb 1, 2008&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outline&lt;br /&gt;
&lt;br /&gt;
  LoDN  &lt;br /&gt;
  LibStdIO&lt;br /&gt;
  LoDNFS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Architectural Stack&lt;br /&gt;
&lt;br /&gt;
  LibSTDIO    LoDNFS&lt;br /&gt;
&lt;br /&gt;
         LoDN&lt;br /&gt;
&lt;br /&gt;
         LoRS&lt;br /&gt;
&lt;br /&gt;
 Exnode LBone  End2End&lt;br /&gt;
&lt;br /&gt;
         IBP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDN Purpose&lt;br /&gt;
  - Exnode Repository&lt;br /&gt;
  - Exnode Management Services &lt;br /&gt;
  - Exnode “warming”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDN Usefulness&lt;br /&gt;
  - User Configurable&lt;br /&gt;
  - Web Interface&lt;br /&gt;
  - File system-like approach for management&lt;br /&gt;
  - Exnode Persistence&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
User Configurable &lt;br /&gt;
- Exnode accessible (published/unpublished)&lt;br /&gt;
- Distribution of exnode across depots&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Web Interface&lt;br /&gt;
- LoDN service is provided over http[s] through a web server&lt;br /&gt;
- All data and actions are passed to LoDN through http[s].&lt;br /&gt;
- This makes it accessible and viewable via a browser.&lt;br /&gt;
- Provides a simple interface protocol for writing client code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
File system-like appearance &lt;br /&gt;
- It provides heirachical directory structure&lt;br /&gt;
- Traverse, create and remove directories&lt;br /&gt;
- Exnodes appear as files within each directory&lt;br /&gt;
- Each exnode has properties: sizes, accessibility&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDN URI&lt;br /&gt;
- lodn://hostname[:port]/username/path-to-exnode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DEMO of LoDN&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exnode Persistence&lt;br /&gt;
- Warming&lt;br /&gt;
- Imported exnodes fall under the control of the warmer&lt;br /&gt;
- Users can control how exnodes are warmed and distributed &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warmer&lt;br /&gt;
- Periodically refreshes each allocation&lt;br /&gt;
- Replicates data across the user defined &amp;quot;sites&amp;quot;&lt;br /&gt;
- One allocation is replicated and maintained per site&lt;br /&gt;
- Controls sharing and distribution of data&lt;br /&gt;
&lt;br /&gt;
Warmer Control&lt;br /&gt;
- The warmer operates based on user defined configuration files&lt;br /&gt;
- Users can specify their own sites for their exnodes&lt;br /&gt;
- The warmer operates on exnodes based on the &amp;quot;nearest&amp;quot; configuration file.&lt;br /&gt;
   - Hierarchical arranged, per exnode and per directory&lt;br /&gt;
- Configuration files can be managed through web interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DEMO of Warmer and control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LibStdIO&lt;br /&gt;
- Based on the stdio interface&lt;br /&gt;
- Serves as drop in replacement&lt;br /&gt;
- Offers the following functions:&lt;br /&gt;
     fopen, fdopen, fileno, ferror, setvbuf, fprintf, fread, putc, fputc, fputs, fwrite, &lt;br /&gt;
     ftell, fseek, fclose, fflush, fgetc, fgets, feof, clearerr, fstat, ftruncate &lt;br /&gt;
&lt;br /&gt;
- The only change needed is to replace the stdio.h header file with libStdIO.h and to recompile with LoRS libraries.&lt;br /&gt;
&lt;br /&gt;
- It works with the LoDN URI and is compatible with regular stdio.  &lt;br /&gt;
- It does preprocessor replacement, to replace all of the above functions with their std_ equivalents in libStdIO. &lt;br /&gt;
- When a file is opened, libStdIO determines the type based on the URI scheme.  For every file descriptor, there is an internal data structure of function pointers for the io functions to use. For standard files, the regular io functions are assigned.  For LoDN URI, the LoRS (lors_*) functions are assigned in the data structure.  When the std_* functions are called, this data structure is used to call the correction io function.&lt;br /&gt;
&lt;br /&gt;
Ex: Application --&amp;gt; std_fread() --&amp;gt; lors_fread() or fread() &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- When a LoDN URI is opened, libStdIO uses the http[s] protocol to export the exnode from LoDN and to the local file system for use. &lt;br /&gt;
- When a LoDN URI is closed, libStdIO uses the http[s] protocol to import the exnode to LoDN.    - The logistical networking based io functions are implemented with the LoRS API with local buffering. &lt;br /&gt;
&lt;br /&gt;
- In addition to the LoDN URI, environmental variables are used to pass information to libStdIO including username (LODN_USER), password (LODN_PASSWORD), ssl method (LODN_SSL_METHOD), and depots (LORS_DEPOTS). &lt;br /&gt;
&lt;br /&gt;
- Example Applications:&lt;br /&gt;
   HDF5, grace, gnuplot and more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
   #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
   #include &amp;quot;libStdIO.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   /***---Main---***/&lt;br /&gt;
   int main(int argc, char *argv[])&lt;br /&gt;
   {&lt;br /&gt;
      /* Declarations */&lt;br /&gt;
      FILE *file;&lt;br /&gt;
      char buffer[4096];&lt;br /&gt;
      int amtRead;&lt;br /&gt;
      int i;&lt;br /&gt;
   &lt;br /&gt;
      for(i=1; i&amp;lt;argc; i++)&lt;br /&gt;
      {&lt;br /&gt;
          if((file = fopen(argv[i], &amp;quot;r&amp;quot;)) == NULL)&lt;br /&gt;
          {&lt;br /&gt;
              fprintf(stderr, &amp;quot;Error opening %s\n&amp;quot;, argv[i]);&lt;br /&gt;
              continue;&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          while((amtRead = fread(buffer, 1, sizeof(buffer), file)) &amp;gt; 0)&lt;br /&gt;
          {&lt;br /&gt;
              write(1, buffer, amtRead);&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          fclose(file);&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      /* Return successfully to the parent process */&lt;br /&gt;
      return EXIT_SUCCESS;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;LibStDIO Demo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Questions?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LoDNFS over Fuse&lt;br /&gt;
&lt;br /&gt;
Purpose&lt;br /&gt;
- Many application expect lower Posix IO and filesystem interface if StdIO can be used.&lt;br /&gt;
- Every application has to be individual ported.&lt;br /&gt;
&lt;br /&gt;
Fuse&lt;br /&gt;
- Filesystem in userspace or FUSE allows non-privileged users to create their own file systems without the need to write any kernel code.  &lt;br /&gt;
- This is achieved by running the file system code in user space, while the FUSE module only provides a &amp;quot;bridge&amp;quot; to the actual kernel interfaces.  &lt;br /&gt;
- In this case the FUSE interface handles the acquisition of the exnode and the collection of data from the depots, leaving the user free to use the mounted directory as they would a normal filesystem.&lt;br /&gt;
- The use of FUSE eliminates the need for applications to be ported, but also enforces filesystem semantics and necessitates the mounting of the desired lodn directories.&lt;br /&gt;
- A major advantage of fuse is that it allows us to not only use a command line interface but allows for the full range of applications of any mounted partition.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementation&lt;br /&gt;
- Fuse provides a set of functions to implement. &lt;br /&gt;
- The kernel performs filesystem requests through a pseudo device and fuse module that calls  these functions.  &lt;br /&gt;
- These functions work similar to the lors_* functions in libStdIO in that they use http[s] to communicate with LoDN and the LoRS API for operating on the exnode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Though still in development this tool allows for greater ease of use, a wider variety of applications, and a new level of convenience for the LoDN user community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt; LoDNFS Demo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questions?&lt;/div&gt;</summary>
		<author><name>Sellersc</name></author>
	</entry>
	<entry>
		<id>https://www.reddnet.org/mwiki/index.php?title=All_Hands_Meeting,_Feb_1,_2008&amp;diff=3235</id>
		<title>All Hands Meeting, Feb 1, 2008</title>
		<link rel="alternate" type="text/html" href="https://www.reddnet.org/mwiki/index.php?title=All_Hands_Meeting,_Feb_1,_2008&amp;diff=3235"/>
		<updated>2008-02-01T05:39:32Z</updated>

		<summary type="html">&lt;p&gt;Sellersc: /* 10:45-12:30 --- A Toolbox for Distributed Storage (Part 1) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Agenda for All-Hands==&lt;br /&gt;
&lt;br /&gt;
Meeting Purpose:  &amp;quot;To decide upon a plan of action that will make REDDnet a success.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The Meeting will be held at ACCRE at Vanderbilt University&lt;br /&gt;
&lt;br /&gt;
===Morning Session 9-12:30===&lt;br /&gt;
&lt;br /&gt;
====09:00-09:30 --- Meeting Kickoff====&lt;br /&gt;
&lt;br /&gt;
* Summary of the proposal - towards a vision for REDDnet - Terry&lt;br /&gt;
* Putting together a plan of action - Paul &lt;br /&gt;
&lt;br /&gt;
====09:30-10:00 --- Deployment and Operations====&lt;br /&gt;
&lt;br /&gt;
* [[Operations and Deployment|Plan of Work]] - Bobby&lt;br /&gt;
* What should we expect of REDDnet sites? What should they expect of us?&lt;br /&gt;
&lt;br /&gt;
====10:00-10:30 --- Applications====&lt;br /&gt;
* Application Liaison Effort - Plan of Work (Carie Lee)&lt;br /&gt;
* [[Demo Projects and Application Use]] - Plans (such as CMS) (Dan)&lt;br /&gt;
&lt;br /&gt;
====10:30-10:45 --- Coffee Break====&lt;br /&gt;
&lt;br /&gt;
====10:45-12:30 --- A Toolbox for Distributed Storage (Part 1)====&lt;br /&gt;
* Data and Directory Services Discussion&lt;br /&gt;
** [[Directory and data management services APIs|Architectural Issues]] - Larry &lt;br /&gt;
** [[How we did things in the tools we developed at UTK]] - Chris&lt;br /&gt;
** [[Check Point|TSSP Satus]] - Hunter&lt;br /&gt;
* IBP: [[Presentation information|Current Status and Proposed Extensions]] - Alan&lt;br /&gt;
&lt;br /&gt;
===Lunch 12:30-01:30===&lt;br /&gt;
* Lunch will be provided at the Vanderbilt Commons&lt;br /&gt;
&lt;br /&gt;
===Afternoon Session 1:30-05:00===&lt;br /&gt;
&lt;br /&gt;
====01:30-03:15 --- A Toolbox for Distributed Storage (Part 2)====&lt;br /&gt;
&lt;br /&gt;
* continue discussion listed above.&lt;br /&gt;
&lt;br /&gt;
====03:15-03:30 --- Coffee Break====&lt;br /&gt;
&lt;br /&gt;
====03:30-05:00 --- Close-Out Discussion and Assignments====&lt;br /&gt;
* tasks to be done&lt;br /&gt;
* prioritize tasks&lt;br /&gt;
* build a software diagram? (straw man is at [[Protocol Standardization Efforts]])&lt;/div&gt;</summary>
		<author><name>Sellersc</name></author>
	</entry>
</feed>