<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Yes, those are all functions of the 3D space service currently.
Scripting and backend modules provide programmable behavior for the
objects and agents in the 3D environment.<br>
The scripts are stored in the asset server, just like all other assets.
They are brought in to the region when the region starts and run on the
same process that runs the region. When you create a new script in a
region, that script is cached in that region's asset cache (in memory),
and is sent to the asset server for persistent storage.<br>
<br>
This is the current architecture. I remember vaguely someone suggesting
to move the script engine(s) to a different server, as an alternative
physical architecture. In that case, the region wouldn't cache the
scripts, they would go to that other server; only the effects of the
scripts would be seen inworld. Not sure how far that idea went.<br>
<br>
This thread is making suspect that many people might be under the wrong
impression that just because they have their own region server
connected to someone's grid, they have 100% control over the assets in
the region and even in their inventories. That is not correct. The
persistent storage of everything is done in the grid-level servers,
therefore under the control of whoever runs those servers. If the asset
server kaputs, and there were no backups, you will loose just about
everything you have in your region and in your inventory. (This is true
independent of who has the control over the asset server, so maybe it's
a good thing to have them on someone else's asset server, you can blame
someone else :-)<br>
<br>
<br>
Dickson, Mike (ISS Software) wrote:
<blockquote
 cite="mid:4646639E08F58B42836FAC24C94624DD5C25910F9F@GVW0433EXB.americas.hpqcorp.net"
 type="cite">
  <meta http-equiv="Content-Type" content="text/html; ">
  <meta name="Generator" content="Microsoft Word 12 (filtered medium)">
  <style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
  </style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
  <div class="Section1">
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif"; color: rgb(31, 73, 125);">Well,
it’s running scripts for prims in the region also isn’t it… 
And physics for physical items in the scene the region is managing.
(These are assumptions,
feel free to clarify, like Paul I’m trying to learn.)<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif"; color: rgb(31, 73, 125);"><o:p> </o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif"; color: rgb(31, 73, 125);">Mike<o:p></o:p></span></p>
  <p class="MsoNormal"><span
 style="font-size: 11pt; font-family: "Calibri","sans-serif"; color: rgb(31, 73, 125);"><o:p> </o:p></span></p>
  <div>
  <div
 style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
  <p class="MsoNormal"><b><span
 style="font-size: 10pt; font-family: "Tahoma","sans-serif"; color: windowtext;">From:</span></b><span
 style="font-size: 10pt; font-family: "Tahoma","sans-serif"; color: windowtext;">
<a class="moz-txt-link-abbreviated" href="mailto:opensim-users-bounces@lists.berlios.de">opensim-users-bounces@lists.berlios.de</a>
[<a class="moz-txt-link-freetext" href="mailto:opensim-users-bounces@lists.berlios.de">mailto:opensim-users-bounces@lists.berlios.de</a>] <b>On Behalf Of </b>Diva
Canto<br>
  <b>Sent:</b> Sunday, November 30, 2008 11:36 AM<br>
  <b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:opensim-users@lists.berlios.de">opensim-users@lists.berlios.de</a><br>
  <b>Subject:</b> Re: [Opensim-users] grid operation<o:p></o:p></span></p>
  </div>
  </div>
  <p class="MsoNormal"><o:p> </o:p></p>
  <p class="MsoNormal">Right.<br>
When your region is connected to a physical grid, your region is *just*
a 3D
space server, nothing else.<br>
All assets belong to the asset server, all inventories belong to the
inventory
server, all users belong to the user server.<br>
  <br>
Paul Fishwick wrote: <o:p></o:p></p>
  <pre>Got it. So, the data are stored on the asset server. If this is<o:p></o:p></pre>
  <pre>so, it doesn't seem that my region server (the opensim instance<o:p></o:p></pre>
  <pre>I might run as part of someone's grid) is doing much of<o:p></o:p></pre>
  <pre>anything since any change in prim or agent attribute must be<o:p></o:p></pre>
  <pre>conveyed back to the grid's asset server.<o:p></o:p></pre>
  <pre>-p<o:p></o:p></pre>
  <pre><o:p> </o:p></pre>
  <pre>Diva Canto wrote:<o:p></o:p></pre>
  <pre>  <o:p></o:p></pre>
  <blockquote style="margin-top: 5pt; margin-bottom: 5pt;">
    <pre>By "assets" I mean the data itself, the blobs/text/etc.<o:p></o:p></pre>
    <pre>The region prims/primitems storage holds only references to that data.<o:p></o:p></pre>
    <pre><o:p> </o:p></pre>
    <pre>Look inside OpenSim.db. There is no "data" there, only meta data and <o:p></o:p></pre>
    <pre>references to the data (by UUID) stored on the asset server.<o:p></o:p></pre>
    <pre><o:p> </o:p></pre>
    <pre>Paul Fishwick wrote:<o:p></o:p></pre>
    <pre>    <o:p></o:p></pre>
    <blockquote style="margin-top: 5pt; margin-bottom: 5pt;">
      <pre>When you say the prims and primitems are not assets, I am confused.<o:p></o:p></pre>
      <pre>My understanding was that all items are assets, identified by their unique<o:p></o:p></pre>
      <pre>UUIDs. If I follow the point about the asset server, the asset servers<o:p></o:p></pre>
      <pre>stores all asset UUID references by region, but that the specific asset<o:p></o:p></pre>
      <pre>attributes (i.e., position of an object, or its texture) are stored by UUID<o:p></o:p></pre>
      <pre>in the region's DB?<o:p></o:p></pre>
      <pre>-p<o:p></o:p></pre>
      <pre><o:p> </o:p></pre>
      <pre><o:p> </o:p></pre>
      <pre>Diva Canto wrote:<o:p></o:p></pre>
      <pre>  <o:p></o:p></pre>
      <pre>      <o:p></o:p></pre>
      <blockquote style="margin-top: 5pt; margin-bottom: 5pt;">
        <pre>The asset server holds the assets for the entire collection of regions <o:p></o:p></pre>
        <pre>on that physical grid. For example, when you create an object inworld, <o:p></o:p></pre>
        <pre>the asset corresponding to that object is stored on the asset server.<o:p></o:p></pre>
        <pre><o:p> </o:p></pre>
        <pre>The region caches some assets in memory. For example, in that creation <o:p></o:p></pre>
        <pre>scenario, the asset would be on the cache of the region too.<o:p></o:p></pre>
        <pre><o:p> </o:p></pre>
        <pre>The region also has a database storing "prims" and "primitems". These <o:p></o:p></pre>
        <pre>are not assets; they are the prims that are inworld at any given time. <o:p></o:p></pre>
        <pre>The prims refer to assets (by UUID) that are stored on the asset <o:p></o:p></pre>
        <pre>server. Which, as the previous sentence says, may be cached in memory <o:p></o:p></pre>
        <pre>of the region.<o:p></o:p></pre>
        <pre><o:p> </o:p></pre>
        <pre>Paul Fishwick wrote:<o:p></o:p></pre>
        <pre>    <o:p></o:p></pre>
        <pre>        <o:p></o:p></pre>
        <blockquote style="margin-top: 5pt; margin-bottom: 5pt;">
          <pre>Right. But what, exactly, are these servers doing?  I guess I am trying<o:p></o:p></pre>
          <pre>to get at more of the architectural details of what types of messages are<o:p></o:p></pre>
          <pre>sent among servers (over the network and to the database(s)). For<o:p></o:p></pre>
          <pre>example, there are the UGAIM servers in grid mode. Does the grid's "A"<o:p></o:p></pre>
          <pre>server hold all of the assets on your region that  you plugged into the<o:p></o:p></pre>
          <pre>grid? Or does your region database (on the same computer as your<o:p></o:p></pre>
          <pre>opensim.instance) take care of that?<o:p></o:p></pre>
          <pre>-paul<o:p></o:p></pre>
          <pre><o:p> </o:p></pre>
          <pre><o:p> </o:p></pre>
          <pre>Ideia Boa wrote:<o:p></o:p></pre>
          <pre>  <o:p></o:p></pre>
          <pre>      <o:p></o:p></pre>
          <pre>          <o:p></o:p></pre>
          <blockquote style="margin-top: 5pt; margin-bottom: 5pt;">
            <pre>If you run 1 region in a grid, you only run OpenSim server, the others <o:p></o:p></pre>
            <pre>servers (User, Grid, Asset, Inventory and Message) are running on the <o:p></o:p></pre>
            <pre>Grid servers with the grid OpenSim server.<o:p></o:p></pre>
            <pre><o:p> </o:p></pre>
            <pre><o:p> </o:p></pre>
            <pre><o:p> </o:p></pre>
            <pre>Paul Fishwick wrote:<o:p></o:p></pre>
            <pre>  <o:p></o:p></pre>
            <pre>    <o:p></o:p></pre>
            <pre>        <o:p></o:p></pre>
            <pre>            <o:p></o:p></pre>
            <blockquote style="margin-top: 5pt; margin-bottom: 5pt;">
              <pre>If one hooks a region to a grid, what functions does the<o:p></o:p></pre>
              <pre>region server (operating on your computer) perform? The<o:p></o:p></pre>
              <pre>Grid servers are running asset and inventory management,<o:p></o:p></pre>
              <pre>so does this mean that the grid A and I machines handle<o:p></o:p></pre>
              <pre>the assets and inventory or is that the function of the region<o:p></o:p></pre>
              <pre>server that connects to the grid?<o:p></o:p></pre>
              <pre>-p<o:p></o:p></pre>
              <pre><o:p> </o:p></pre>
              <pre>  <o:p></o:p></pre>
              <pre>    <o:p></o:p></pre>
              <pre>      <o:p></o:p></pre>
              <pre>          <o:p></o:p></pre>
              <pre>              <o:p></o:p></pre>
            </blockquote>
            <pre>  <o:p></o:p></pre>
            <pre>    <o:p></o:p></pre>
            <pre>        <o:p></o:p></pre>
            <pre>            <o:p></o:p></pre>
          </blockquote>
          <pre>  <o:p></o:p></pre>
          <pre>      <o:p></o:p></pre>
          <pre>          <o:p></o:p></pre>
        </blockquote>
        <pre>------------------------------------------------------------------------<o:p></o:p></pre>
        <pre><o:p> </o:p></pre>
        <pre>_______________________________________________<o:p></o:p></pre>
        <pre>Opensim-users mailing list<o:p></o:p></pre>
        <pre><a moz-do-not-send="true"
 href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a><o:p></o:p></pre>
        <pre><a moz-do-not-send="true"
 href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a><o:p></o:p></pre>
        <pre>  <o:p></o:p></pre>
        <pre>    <o:p></o:p></pre>
        <pre>        <o:p></o:p></pre>
      </blockquote>
      <pre><o:p> </o:p></pre>
      <pre>  <o:p></o:p></pre>
      <pre>      <o:p></o:p></pre>
    </blockquote>
    <pre>------------------------------------------------------------------------<o:p></o:p></pre>
    <pre><o:p> </o:p></pre>
    <pre>_______________________________________________<o:p></o:p></pre>
    <pre>Opensim-users mailing list<o:p></o:p></pre>
    <pre><a moz-do-not-send="true"
 href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a><o:p></o:p></pre>
    <pre><a moz-do-not-send="true"
 href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a><o:p></o:p></pre>
    <pre>  <o:p></o:p></pre>
    <pre>    <o:p></o:p></pre>
  </blockquote>
  <pre><o:p> </o:p></pre>
  <pre><o:p> </o:p></pre>
  <pre>  <o:p></o:p></pre>
  <p class="MsoNormal"><o:p> </o:p></p>
  </div>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Opensim-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
<a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
  </pre>
</blockquote>
<br>
</body>
</html>