Changeset - 57a2c8251e44
[Not reviewed]
default
0 2 0
Nathan Brink (binki) - 15 years ago 2010-08-07 23:12:20
ohnobinki@ohnopublishing.net
Updated URL schemas.
2 files changed with 19 insertions and 12 deletions:
0 comments (0 inline, 0 general)
doc/architecture.txt
Show inline comments
 
@@ -14,13 +14,13 @@ Concepts:
 

	
 
- job: Represents a collection of renderings that must be unbundled, rendered, and bundled together again.
 
  - job identification: A server shall internally assign numeric job identifiers. It must only
 
      make sure that it never issues the same numeric job identifier to multiple jobs. To allow
 
      multiple servers to share jobs with eachother (which is the the whole point of distren),
 
      a job shall be refered to by prefixing the job a server identification. For example,
 
      distren://<servername>/<jobid>
 
      distren://<servername>/job/<jobid>
 
  - job packaging: Currently, the most creative way of dealing with jobs I have at the moment is
 
      storing all of the data necessary to render the job in a tarball. This tarball can be
 
      treated as a directory of a normal filesystem. A job's directory would contain at least one
 
      file called ``distrenjob.xml'' which provides information necessary to render the job. This
 
      will be an XML file rather than a rigidly defined binary format because XML supports
 
      arbitrary data storage out of the box. This should allow different rendering backends to
 
@@ -33,13 +33,13 @@ Concepts:
 
- frame: Represents a distinct, and hopefully small, unit of work that a renderer backend can perform.
 
  - frame identification: Like a job numeral is useless without a qualifying servername, a 
 
      frame's identification number would be useless without an accompanying job identifier. The
 
      numeric value of a frame identification value must be unique to that job. There are no
 
      restrictions of ordering of frame numbers except that they are not to be negative. There
 
      need be no sequencing of frame numbers either. Thus, a frame identification URL would look
 
      like distren://<servername>/<jobid>/frame/<frameid>
 
      like distren://<servername>/job/<jobid>/frame/<frameid>
 
  - size: A frame hopefully represents a smaller unit of work in terms of the rendering
 
      back-end's capabilities. For example, POV-Ray's CLI can initiate and carry out the rendering
 
      of an entire animation. But distren would hopefully be able to provide a clean method for
 
      rendering each individual frame and bringing the resulting set of files back to the user
 
      in a much shorter time than a single computer could on its own. Many smaller and distinct
 
      is key to a project being benefited by distren.
 
@@ -56,15 +56,14 @@ Concepts:
 
      jobs registered in a server.
 
  - servers: A server, though having many more functions, shall be able to also perform the list
 
      of actions a client may perform.
 

	
 
- user: A user is an entity which is given access to a distren server.
 
  - user identifiction: As users are per-server, a user shall be identified by the name of the
 
      server he has an account on combined with his handle. A tilde prefixes the username to
 
      differentiate this URL from a job's URL.
 
      distren://<servername>/~<username> , like distren://ohnopub.net/~ohnobinki
 
      server he has an account on combined with his handle.
 
      distren://<servername>/user/<username> , like distren://ohnopub.net/user/ohnobinki
 

	
 
- file: There are different uses of files above and distributed rendering requires file distribution.
 
  - file identification: Every file mentioned above was at least in the context of a job. Thus,
 
      file identification numbers shall be assigned in the context of a job identification number.
 
      They shall, however, be numeric.
 
      distren://<servername>/<jobid>/file/<fileid>
 
      distren://<servername>/job/<jobid>/file/<fileid>
doc/distrenjob.xml.example
Show inline comments
 
@@ -18,31 +18,39 @@
 
  along with DistRen.  If not, see <http://www.gnu.org/licenses/>.
 
-->
 

	
 
<distren>
 
  <!-- is the priority option actually useful? -->
 
  <job
 
     name="myjob"
 
     submitter="normaldotcom"
 
     priority="5"
 
     name="distren://ohnopub.net/job/"
 
     submitter="distren://ohnopub.net/user/binki"
 
     type="povray"
 
     >
 
    
 

	
 
    <!--
 
	This tag is information that does not have to be present in
 
	the original distrenjob.xml. For example, a povray's .ini file
 
	may already specify this resolution information.
 
    -->
 
    <resolution
 
       width="800"
 
       height="600"
 
       />
 

	
 
    <povray
 
	ini="sphere.ini"
 
	/>
 
  </job>
 
  
 
  <!--
 
      Additional section:
 
      The contents of this section should probably be
 
      moved to some central store, as it will be referenced
 
      in multiple jobs.
 
    -->
 
  <submitters>
 
    <submitter
 
    <user
 
       name="normaldotcom"
 
       email="jsmith@ohnopublishing.net"
 
       href="http://ohnopublishing.net/~ohnobinki/"
 
       />
 
  </submitters>
 
</distren>
0 comments (0 inline, 0 general)