Mercurial > hg > Papers > 2016 > nozomi-sigos
changeset 14:99e5104997b7
add compress part
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 24 May 2015 17:56:24 +0900 |
parents | c0fe42a8808d |
children | 696a908208c8 |
files | presen/sigOS/.DS_Store presen/sigOS/images/treeVNC.svg presen/sigOS/sample.html presen/sigOS/sample.markdown |
diffstat | 4 files changed, 450 insertions(+), 32 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/presen/sigOS/images/treeVNC.svg Sun May 24 17:56:24 2015 +0900 @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="309pt" height="256pt" viewBox="0 0 309 256" version="1.1"> +<defs> +<g> +<symbol overflow="visible" id="glyph0-0"> +<path style="stroke:none;" d="M 0.390625 0 L 0.390625 -8.609375 L 7.21875 -8.609375 L 7.21875 0 Z M 6.140625 -1.078125 L 6.140625 -7.53125 L 1.46875 -7.53125 L 1.46875 -1.078125 Z M 6.140625 -1.078125 "/> +</symbol> +<symbol overflow="visible" id="glyph0-1"> +<path style="stroke:none;" d="M 4.921875 -4.671875 C 5.460938 -4.671875 5.890625 -4.78125 6.203125 -5 C 6.523438 -5.21875 6.6875 -5.609375 6.6875 -6.171875 C 6.6875 -6.785156 6.46875 -7.207031 6.03125 -7.4375 C 5.789062 -7.550781 5.46875 -7.609375 5.0625 -7.609375 L 2.21875 -7.609375 L 2.21875 -4.671875 Z M 1.0625 -8.609375 L 5.046875 -8.609375 C 5.703125 -8.609375 6.238281 -8.515625 6.65625 -8.328125 C 7.46875 -7.953125 7.875 -7.269531 7.875 -6.28125 C 7.875 -5.769531 7.765625 -5.347656 7.546875 -5.015625 C 7.335938 -4.691406 7.039062 -4.429688 6.65625 -4.234375 C 7 -4.097656 7.253906 -3.914062 7.421875 -3.6875 C 7.585938 -3.46875 7.679688 -3.109375 7.703125 -2.609375 L 7.75 -1.453125 C 7.757812 -1.128906 7.785156 -0.882812 7.828125 -0.71875 C 7.898438 -0.445312 8.023438 -0.269531 8.203125 -0.1875 L 8.203125 0 L 6.78125 0 C 6.738281 -0.0703125 6.703125 -0.164062 6.671875 -0.28125 C 6.648438 -0.40625 6.632812 -0.632812 6.625 -0.96875 L 6.546875 -2.40625 C 6.523438 -2.96875 6.316406 -3.34375 5.921875 -3.53125 C 5.703125 -3.632812 5.351562 -3.6875 4.875 -3.6875 L 2.21875 -3.6875 L 2.21875 0 L 1.0625 0 Z M 1.0625 -8.609375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-2"> +<path style="stroke:none;" d="M 0.921875 -8.609375 L 2.296875 -8.609375 L 6.640625 -1.640625 L 6.640625 -8.609375 L 7.75 -8.609375 L 7.75 0 L 6.4375 0 L 2.03125 -6.96875 L 2.03125 0 L 0.921875 0 Z M 4.25 -8.609375 Z M 4.25 -8.609375 "/> +</symbol> +<symbol overflow="visible" id="glyph0-3"> +<path style="stroke:none;" d="M 1.59375 -8.609375 L 4.0625 -1.28125 L 6.515625 -8.609375 L 7.8125 -8.609375 L 4.671875 0 L 3.4375 0 L 0.3125 -8.609375 Z M 1.59375 -8.609375 "/> +</symbol> +<symbol overflow="visible" id="glyph1-0"> +<path style="stroke:none;" d="M 1 -10.453125 L 1 1.203125 L 10.984375 1.203125 L 10.984375 -10.578125 L 1 -10.578125 Z M 9.640625 -9.921875 L 6 -5.453125 L 2.5625 -9.703125 L 9.4375 -9.703125 Z M 10.3125 -0.125 L 6.625 -4.6875 L 10.3125 -9.234375 L 9.96875 -9.328125 L 9.96875 -0.03125 Z M 2.375 0.546875 L 6 -3.921875 L 9.4375 0.3125 L 2.5625 0.3125 Z M 2.015625 -0.03125 L 2.015625 -9.34375 L 1.6875 -9.25 L 5.375 -4.6875 L 1.6875 -0.125 Z M 2.015625 -0.03125 "/> +</symbol> +<symbol overflow="visible" id="glyph1-1"> +<path style="stroke:none;" d="M 5.875 0.015625 C 5.921875 -0.265625 6.046875 -0.640625 6.25 -1.1875 L 8.8125 -8.109375 C 9.109375 -8.90625 9.21875 -9.140625 9.5 -9.671875 L 7.1875 -9.671875 C 7.109375 -9.125 7.03125 -8.875 6.84375 -8.28125 L 4.84375 -2.359375 C 4.78125 -2.140625 4.6875 -1.796875 4.578125 -1.4375 L 4.84375 -1.4375 C 4.765625 -1.734375 4.625 -2.203125 4.5625 -2.359375 L 2.5625 -8.28125 C 2.421875 -8.71875 2.296875 -9.140625 2.21875 -9.671875 L -0.09375 -9.671875 C 0.1875 -9.125 0.328125 -8.828125 0.59375 -8.109375 L 3.15625 -1.1875 C 3.359375 -0.625 3.484375 -0.25 3.5625 0.140625 L 5.859375 0.140625 Z M 5.875 0.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-2"> +<path style="stroke:none;" d=""/> +</symbol> +<symbol overflow="visible" id="glyph1-3"> +<path style="stroke:none;" d="M 0.59375 -6.875 L 0.59375 -4.984375 L 2.625 -4.984375 L 2.625 -7.015625 L 0.59375 -7.015625 Z M 0.59375 -1.734375 L 0.59375 0.140625 L 2.625 0.140625 L 2.625 -1.875 L 0.59375 -1.875 Z M 0.59375 -1.734375 "/> +</symbol> +<symbol overflow="visible" id="glyph1-4"> +<path style="stroke:none;" d="M 9.125 0.015625 C 9.0625 -0.40625 9.03125 -0.859375 9.03125 -1.53125 L 9.03125 -7.890625 C 9.03125 -8.609375 9.0625 -9.0625 9.15625 -9.671875 L 7.078125 -9.671875 C 7.171875 -9.078125 7.203125 -8.59375 7.203125 -7.890625 L 7.203125 -3.859375 C 7.203125 -3.34375 7.234375 -2.625 7.28125 -2.15625 L 7.53125 -2.25 C 7.265625 -2.734375 6.875 -3.359375 6.59375 -3.796875 L 3.546875 -8.359375 C 3.140625 -8.96875 2.96875 -9.234375 2.8125 -9.671875 L 0.6875 -9.671875 C 0.78125 -9.046875 0.796875 -8.609375 0.796875 -7.984375 L 0.796875 -1.796875 C 0.796875 -0.984375 0.765625 -0.390625 0.6875 0.140625 L 2.765625 0.140625 C 2.671875 -0.421875 2.640625 -0.984375 2.640625 -1.78125 L 2.640625 -5.71875 C 2.640625 -6 2.609375 -6.546875 2.609375 -6.765625 C 2.5625 -7.21875 2.5625 -7.21875 2.5625 -7.375 L 2.3125 -7.28125 C 2.609375 -6.71875 2.90625 -6.203125 3.125 -5.84375 L 6.234375 -1.171875 C 6.578125 -0.640625 6.796875 -0.296875 7.015625 0.140625 L 9.15625 0.140625 Z M 9.125 0.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-5"> +<path style="stroke:none;" d="M 7.15625 -3.203125 C 7.0625 -2.65625 7 -2.5 6.796875 -2.203125 C 6.40625 -1.625 5.796875 -1.34375 4.953125 -1.34375 C 3.28125 -1.34375 2.359375 -2.578125 2.359375 -4.78125 C 2.359375 -6.984375 3.25 -8.1875 4.953125 -8.1875 C 5.703125 -8.1875 6.1875 -7.96875 6.59375 -7.46875 C 6.84375 -7.203125 6.90625 -7.0625 7.125 -6.390625 L 9.0625 -6.828125 C 8.875 -7.375 8.765625 -7.6875 8.609375 -7.9375 C 8.3125 -8.46875 7.890625 -8.921875 7.34375 -9.25 C 6.6875 -9.640625 5.875 -9.859375 4.9375 -9.859375 C 3.75 -9.859375 2.5625 -9.421875 1.84375 -8.6875 C 0.9375 -7.78125 0.390625 -6.296875 0.390625 -4.71875 C 0.390625 -3.1875 0.90625 -1.734375 1.734375 -0.859375 C 2.46875 -0.09375 3.625 0.34375 4.9375 0.34375 C 6.375 0.34375 7.625 -0.171875 8.296875 -1.015625 C 8.65625 -1.46875 8.921875 -2.046875 9.171875 -3.015625 L 7.171875 -3.359375 Z M 7.15625 -3.203125 "/> +</symbol> +<symbol overflow="visible" id="glyph1-6"> +<path style="stroke:none;" d="M 0.390625 -2.78125 C 0.46875 -2.296875 0.515625 -2.0625 0.625 -1.78125 C 0.859375 -1.203125 1.234375 -0.640625 1.71875 -0.328125 C 2.296875 0.0625 3.359375 0.34375 4.34375 0.34375 C 5.625 0.34375 6.671875 0 7.3125 -0.609375 C 7.796875 -1.109375 8.09375 -1.890625 8.09375 -2.75 C 8.09375 -3.640625 7.75 -4.40625 7.0625 -4.90625 C 6.640625 -5.203125 5.96875 -5.46875 5.015625 -5.671875 C 3.6875 -5.96875 3.59375 -6 3.328125 -6.109375 C 2.765625 -6.34375 2.640625 -6.5625 2.640625 -7.0625 C 2.640625 -7.84375 3.21875 -8.25 4.265625 -8.25 C 4.921875 -8.25 5.34375 -8.078125 5.65625 -7.703125 C 5.859375 -7.46875 5.90625 -7.359375 6 -6.796875 L 7.984375 -7.03125 C 7.828125 -7.78125 7.640625 -8.25 7.34375 -8.640625 C 6.75 -9.4375 5.625 -9.890625 4.265625 -9.890625 C 2.203125 -9.890625 0.703125 -8.671875 0.703125 -7.015625 C 0.703125 -6.203125 1.0625 -5.453125 1.671875 -4.96875 C 2.09375 -4.625 2.6875 -4.40625 3.59375 -4.203125 C 5.25 -3.8125 5.203125 -3.84375 5.5625 -3.640625 C 5.9375 -3.4375 6.125 -3.125 6.125 -2.640625 C 6.125 -1.734375 5.5625 -1.328125 4.359375 -1.328125 C 3.578125 -1.328125 3.046875 -1.546875 2.703125 -2 C 2.484375 -2.28125 2.453125 -2.421875 2.390625 -3.109375 L 0.390625 -2.90625 Z M 0.390625 -2.78125 "/> +</symbol> +<symbol overflow="visible" id="glyph1-7"> +<path style="stroke:none;" d="M 7.328125 -3.03125 C 7.3125 -3.3125 7.3125 -3.34375 7.3125 -3.375 C 7.265625 -4.1875 7.1875 -4.625 6.953125 -5.203125 C 6.484375 -6.390625 5.25 -7.21875 3.84375 -7.21875 C 1.78125 -7.21875 0.3125 -5.640625 0.3125 -3.421875 C 0.3125 -1.171875 1.796875 0.375 3.921875 0.375 C 4.9375 0.375 5.875 0.03125 6.484375 -0.59375 C 6.796875 -0.890625 6.984375 -1.21875 7.296875 -1.875 L 5.625 -2.40625 C 5.453125 -1.921875 5.40625 -1.890625 5.25 -1.71875 C 4.90625 -1.328125 4.515625 -1.15625 3.921875 -1.15625 C 3.3125 -1.15625 2.875 -1.359375 2.515625 -1.78125 C 2.25 -2.140625 2.171875 -2.375 2.125 -2.90625 L 7.34375 -2.90625 Z M 2.140625 -4.21875 C 2.328125 -5.234375 2.875 -5.71875 3.8125 -5.71875 C 4.375 -5.71875 4.6875 -5.609375 5 -5.28125 C 5.296875 -4.984375 5.40625 -4.75 5.46875 -4.359375 L 2.171875 -4.359375 Z M 2.140625 -4.21875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-8"> +<path style="stroke:none;" d="M 5.765625 -7.015625 C 5.234375 -7.109375 4.9375 -7.140625 4.65625 -7.140625 C 3.578125 -7.140625 2.71875 -6.703125 2.296875 -5.84375 L 2.53125 -5.75 L 2.53125 -7.015625 L 0.59375 -7.015625 C 0.703125 -6.390625 0.703125 -6.046875 0.703125 -5.3125 L 0.703125 -1.546875 C 0.703125 -0.921875 0.6875 -0.578125 0.609375 0.140625 L 2.625 0.140625 C 2.5625 -0.546875 2.53125 -0.90625 2.53125 -1.546875 L 2.53125 -3.765625 C 2.609375 -4.34375 2.6875 -4.53125 2.984375 -4.875 C 3.328125 -5.265625 3.6875 -5.421875 4.28125 -5.421875 C 4.59375 -5.421875 4.84375 -5.375 5.4375 -5.203125 L 5.921875 -6.984375 Z M 5.765625 -7.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-9"> +<path style="stroke:none;" d="M 4.71875 0.015625 C 4.796875 -0.34375 4.84375 -0.4375 5.078125 -1.0625 L 6.921875 -5.609375 C 7.15625 -6.203125 7.265625 -6.4375 7.53125 -7.015625 L 5.390625 -7.015625 C 5.3125 -6.546875 5.25 -6.328125 5.0625 -5.765625 L 3.84375 -2.28125 C 3.75 -2.046875 3.65625 -1.734375 3.578125 -1.46875 L 3.859375 -1.46875 C 3.78125 -1.734375 3.671875 -2.09375 3.59375 -2.28125 L 2.375 -5.765625 C 2.21875 -6.203125 2.109375 -6.609375 2.046875 -7.015625 L -0.09375 -7.015625 C 0.203125 -6.375 0.390625 -5.921875 0.53125 -5.609375 L 2.359375 -1.0625 C 2.609375 -0.453125 2.65625 -0.3125 2.765625 0.140625 L 4.6875 0.140625 Z M 4.71875 0.015625 "/> +</symbol> +<symbol overflow="visible" id="glyph1-10"> +<path style="stroke:none;" d="M 9.03125 -0.078125 C 8.859375 -0.40625 8.59375 -0.953125 8.5 -1.171875 C 7.3125 -3.984375 6.953125 -4.453125 6.1875 -4.6875 L 6.1875 -4.421875 C 6.875 -4.625 7.28125 -4.8125 7.625 -5.15625 C 8.03125 -5.578125 8.265625 -6.28125 8.265625 -7.046875 C 8.265625 -8.625 7.09375 -9.671875 5.265625 -9.671875 L 2.390625 -9.671875 C 1.734375 -9.671875 1.359375 -9.6875 0.703125 -9.71875 C 0.78125 -9.015625 0.796875 -8.65625 0.796875 -8.015625 L 0.796875 -1.546875 C 0.796875 -0.8125 0.78125 -0.484375 0.6875 0.140625 L 2.796875 0.140625 C 2.703125 -0.453125 2.671875 -0.84375 2.671875 -1.5625 L 2.671875 -3.875 L 4.328125 -3.875 C 5.25 -3.875 5.53125 -3.5625 6.1875 -1.90625 C 6.578125 -0.890625 6.78125 -0.28125 6.8125 0.140625 L 9.140625 0.140625 Z M 2.671875 -5.375 L 2.671875 -8.046875 L 5 -8.046875 C 5.984375 -8.046875 6.34375 -7.734375 6.34375 -6.859375 C 6.34375 -6.40625 6.234375 -6.15625 5.984375 -5.90625 C 5.71875 -5.625 5.40625 -5.515625 4.953125 -5.515625 L 2.671875 -5.515625 Z M 2.671875 -5.375 "/> +</symbol> +<symbol overflow="visible" id="glyph1-11"> +<path style="stroke:none;" d="M 4.046875 0.375 C 6.1875 0.375 7.71875 -1.21875 7.71875 -3.4375 C 7.71875 -5.65625 6.203125 -7.21875 4.03125 -7.21875 C 1.84375 -7.21875 0.3125 -5.65625 0.3125 -3.421875 C 0.3125 -1.171875 1.84375 0.375 4.046875 0.375 Z M 4.03125 -5.703125 C 5.296875 -5.703125 5.890625 -4.9375 5.890625 -3.390625 C 5.890625 -1.9375 5.265625 -1.15625 4.015625 -1.15625 C 2.765625 -1.15625 2.140625 -1.9375 2.140625 -3.421875 C 2.140625 -4.921875 2.765625 -5.703125 4.03125 -5.703125 Z M 4.03125 -5.703125 "/> +</symbol> +<symbol overflow="visible" id="glyph1-12"> +<path style="stroke:none;" d="M 1.40625 -8.71875 C 1.453125 -8.296875 1.484375 -7.765625 1.484375 -7.25 L 1.484375 -7.015625 L 1.1875 -7.015625 C 0.6875 -7.015625 0.453125 -7.015625 -0.03125 -7.109375 L -0.03125 -5.375 C 0.5 -5.453125 0.734375 -5.46875 1.171875 -5.46875 L 1.484375 -5.46875 L 1.484375 -1.578125 C 1.484375 -0.3125 2.1875 0.3125 3.5625 0.3125 C 4.1875 0.3125 4.546875 0.25 5.203125 0.015625 L 4.9375 -1.546875 C 4.375 -1.234375 4.28125 -1.21875 3.96875 -1.21875 C 3.390625 -1.21875 3.3125 -1.296875 3.3125 -1.890625 L 3.3125 -5.46875 L 3.71875 -5.46875 C 4.265625 -5.46875 4.5 -5.453125 5.03125 -5.375 L 5.03125 -7.109375 C 4.515625 -7.015625 4.25 -7.015625 3.6875 -7.015625 L 3.3125 -7.015625 L 3.3125 -7.25 C 3.3125 -7.78125 3.34375 -8.296875 3.40625 -8.859375 L 1.390625 -8.859375 Z M 1.40625 -8.71875 "/> +</symbol> +<symbol overflow="visible" id="glyph1-13"> +<path style="stroke:none;" d="M 6.125 0.140625 L 7.875 0.140625 C 7.796875 -0.515625 7.78125 -0.90625 7.78125 -1.609375 L 7.78125 -7.9375 C 7.78125 -8.546875 7.796875 -8.96875 7.875 -9.671875 L 5.875 -9.671875 C 5.953125 -9.03125 5.96875 -8.640625 5.96875 -7.921875 L 5.96875 -6.71875 C 5.96875 -6.515625 5.96875 -6.28125 5.984375 -6.203125 C 6 -5.96875 6 -5.96875 6 -5.8125 L 6.234375 -5.921875 C 5.96875 -6.265625 5.84375 -6.40625 5.625 -6.578125 C 5.15625 -6.953125 4.453125 -7.15625 3.703125 -7.15625 C 1.734375 -7.15625 0.328125 -5.640625 0.328125 -3.4375 C 0.328125 -2.140625 0.796875 -0.953125 1.609375 -0.34375 C 2.140625 0.078125 2.875 0.3125 3.71875 0.3125 C 4.890625 0.3125 5.609375 -0.03125 6.234375 -0.90625 L 6 -1.015625 C 5.984375 -0.859375 5.984375 -0.71875 5.984375 -0.578125 L 5.984375 0.140625 Z M 2.15625 -3.4375 C 2.15625 -4.859375 2.765625 -5.640625 3.9375 -5.640625 C 4.515625 -5.640625 5.015625 -5.40625 5.390625 -5 C 5.734375 -4.625 5.921875 -4.09375 5.921875 -3.5 C 5.921875 -2.875 5.796875 -2.390625 5.5 -1.984375 C 5.140625 -1.5 4.625 -1.234375 4 -1.234375 C 2.796875 -1.234375 2.15625 -2 2.15625 -3.4375 Z M 2.15625 -3.4375 "/> +</symbol> +</g> +</defs> +<g id="surface1"> +<rect x="0" y="0" width="309" height="256" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 237.964844 151.53125 L 266.035156 127.46875 " transform="matrix(1,0,0,1,-140.5,-15.5)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 299.761719 128.761719 L 321.238281 150.238281 " transform="matrix(1,0,0,1,-140.5,-15.5)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 299.410156 96.589844 C 308.195312 105.375 308.195312 119.625 299.410156 128.410156 C 290.625 137.195312 276.378906 137.195312 267.589844 128.410156 C 258.804688 119.625 258.804688 105.375 267.589844 96.589844 C 276.378906 87.804688 290.625 87.804688 299.410156 96.589844 " transform="matrix(1,0,0,1,-140.5,-15.5)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-1" x="138.167192" y="100.5"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 272.410156 222.589844 C 281.195312 231.375 281.195312 245.625 272.410156 254.410156 C 263.621094 263.195312 249.375 263.195312 240.589844 254.410156 C 231.804688 245.625 231.804688 231.375 240.589844 222.589844 C 249.375 213.804688 263.621094 213.804688 272.410156 222.589844 " transform="matrix(1,0,0,1,-140.5,-15.5)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-2" x="111.166792" y="226.5"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 191.410156 222.589844 C 200.195312 231.375 200.195312 245.625 191.410156 254.410156 C 182.621094 263.195312 168.375 263.195312 159.589844 254.410156 C 150.804688 245.625 150.804688 231.375 159.589844 222.589844 C 168.375 213.804688 182.621094 213.804688 191.410156 222.589844 " transform="matrix(1,0,0,1,-140.5,-15.5)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-2" x="30.166832" y="226.5"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 236.410156 150.589844 C 245.195312 159.375 245.195312 173.625 236.410156 182.410156 C 227.625 191.195312 213.378906 191.195312 204.589844 182.410156 C 195.804688 173.625 195.804688 159.375 204.589844 150.589844 C 213.378906 141.804688 227.625 141.804688 236.410156 150.589844 " transform="matrix(1,0,0,1,-140.5,-15.5)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-2" x="75.167152" y="154.5"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 353.410156 150.589844 C 362.195312 159.375 362.195312 173.625 353.410156 182.410156 C 344.621094 191.195312 330.375 191.195312 321.589844 182.410156 C 312.804688 173.625 312.804688 159.375 321.589844 150.589844 C 330.375 141.804688 344.621094 141.804688 353.410156 150.589844 " transform="matrix(1,0,0,1,-140.5,-15.5)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-2" x="192.166792" y="154.5"/> +</g> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 208.308594 186.007812 L 187.691406 218.992188 " transform="matrix(1,0,0,1,-140.5,-15.5)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 230.789062 187.078125 L 246.210938 217.921875 " transform="matrix(1,0,0,1,-140.5,-15.5)"/> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 329.421875 188.039062 L 318.578125 216.960938 " transform="matrix(1,0,0,1,-140.5,-15.5)"/> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 326.410156 222.589844 C 335.195312 231.375 335.195312 245.625 326.410156 254.410156 C 317.625 263.195312 303.378906 263.195312 294.589844 254.410156 C 285.804688 245.625 285.804688 231.375 294.589844 222.589844 C 303.378906 213.804688 317.625 213.804688 326.410156 222.589844 " transform="matrix(1,0,0,1,-140.5,-15.5)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-2" x="165.167192" y="226.5"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-1" x="202.23" y="58"/> + <use xlink:href="#glyph1-2" x="211.638" y="58"/> + <use xlink:href="#glyph1-3" x="215.634" y="58"/> + <use xlink:href="#glyph1-2" x="218.874" y="58"/> + <use xlink:href="#glyph1-1" x="222.87" y="58"/> + <use xlink:href="#glyph1-4" x="232.278" y="58"/> + <use xlink:href="#glyph1-5" x="242.13" y="58"/> + <use xlink:href="#glyph1-2" x="251.646" y="58"/> + <use xlink:href="#glyph1-6" x="255.642" y="58"/> + <use xlink:href="#glyph1-7" x="264.222" y="58"/> + <use xlink:href="#glyph1-8" x="271.866" y="58"/> + <use xlink:href="#glyph1-9" x="277.77" y="58"/> + <use xlink:href="#glyph1-7" x="285.222" y="58"/> + <use xlink:href="#glyph1-8" x="292.866" y="58"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-10" x="205.956" y="76"/> + <use xlink:href="#glyph1-2" x="215.232" y="76"/> + <use xlink:href="#glyph1-3" x="219.228" y="76"/> + <use xlink:href="#glyph1-2" x="222.468" y="76"/> + <use xlink:href="#glyph1-10" x="226.464" y="76"/> + <use xlink:href="#glyph1-11" x="235.74" y="76"/> + <use xlink:href="#glyph1-11" x="243.78" y="76"/> + <use xlink:href="#glyph1-12" x="251.82" y="76"/> + <use xlink:href="#glyph1-2" x="257.028" y="76"/> + <use xlink:href="#glyph1-4" x="261.024" y="76"/> + <use xlink:href="#glyph1-11" x="270.876" y="76"/> + <use xlink:href="#glyph1-13" x="278.916" y="76"/> + <use xlink:href="#glyph1-7" x="287.4" y="76"/> +</g> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph1-4" x="222.948" y="94"/> + <use xlink:href="#glyph1-2" x="232.8" y="94"/> + <use xlink:href="#glyph1-3" x="236.796" y="94"/> + <use xlink:href="#glyph1-2" x="240.036" y="94"/> + <use xlink:href="#glyph1-4" x="244.032" y="94"/> + <use xlink:href="#glyph1-11" x="253.884" y="94"/> + <use xlink:href="#glyph1-13" x="261.924" y="94"/> + <use xlink:href="#glyph1-7" x="270.408" y="94"/> +</g> +<path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 299.410156 33.589844 C 308.195312 42.375 308.195312 56.625 299.410156 65.410156 C 290.625 74.195312 276.378906 74.195312 267.589844 65.410156 C 258.804688 56.625 258.804688 42.375 267.589844 33.589844 C 276.378906 24.804688 290.625 24.804688 299.410156 33.589844 " transform="matrix(1,0,0,1,-140.5,-15.5)"/> +<g style="fill:rgb(0%,0%,0%);fill-opacity:1;"> + <use xlink:href="#glyph0-3" x="138.498147" y="37.5"/> +</g> +<path style="fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 283.5 89.5 L 283.5 72.5 " transform="matrix(1,0,0,1,-140.5,-15.5)"/> +</g> +</svg>
--- a/presen/sigOS/sample.html Sat May 23 16:11:04 2015 +0900 +++ b/presen/sigOS/sample.html Sun May 24 17:56:24 2015 +0900 @@ -35,7 +35,7 @@ <!-- === begin markdown block === generated by markdown/1.2.0 on Ruby 2.1.0 (2013-12-25) [x86_64-darwin13.0] - on 2015-05-23 16:10:37 +0900 with Markdown engine kramdown (1.5.0) + on 2015-05-24 17:55:49 +0900 with Markdown engine kramdown (1.5.0) using options {} --> @@ -174,13 +174,54 @@ <div class="slide" id="9"><div> <section> <header> - <h1 id="alice4---code-segment">Aliceの概要(4) - Code Segment</h1> + <h1 id="alice4---data-segment-">Aliceの概要(4) - Data Segment の表現</h1> + </header> + <!-- _S9SLIDE_ --> + +<ul> + <li>一般的な Java のクラスオブジェクト + <ul> + <li>LocalDSM に put された場合は一般的な Java のクラスオブジェクトとして enQueue される。</li> + </ul> + </li> + <li>MessagePack を用いて変換した byte[]で表現されたバイナリオブジェクト + <ul> + <li>RemoteDSM に put された場合は通信時に byteArray に変換されたバイナリオブジェクトが enQueue される。</li> + </ul> + </li> +</ul> + + + + </section> +</div></div> + +<div class="slide" id="10"><div> + <section> + <header> + <h1 id="alice5---code-segment">Aliceの概要(5) - Code Segment</h1> </header> <!-- _S9SLIDE_ --> <ul> <li>Alice上で実行されるタスクの単位を Code Segment(CS) と呼ぶ。</li> <li>複数のDSが入力され、その結果をDSとして出力するfunctionと捉えられる。</li> + <li>CS をユーザーが記述する際には CS を継承して記述することにより CS で使用する API を利用する事ができる。</li> +</ul> + + + + </section> +</div></div> + +<div class="slide" id="11"><div> + <section> + <header> + <h1 id="alice5---code-segment-1">Aliceの概要(5) - Code Segment</h1> + </header> + <!-- _S9SLIDE_ --> + +<ul> <li>入力されるDSをInput DS、出力されるDSをOutput DSと呼ぶ。</li> <li>keyで指定されたDSが揃うと実行されるという性質を持つ。 <img src="./images/dsandcs.svg" alt="opt" /></li> @@ -191,10 +232,10 @@ </section> </div></div> -<div class="slide" id="10"><div> +<div class="slide" id="12"><div> <section> <header> - <h1 id="alice5---codesegment">Aliceの概要(5) - CodeSegmentの依存関係</h1> + <h1 id="alice6---codesegment">Aliceの概要(6) - CodeSegmentの依存関係</h1> </header> <!-- _S9SLIDE_ --> @@ -210,16 +251,17 @@ </section> </div></div> -<div class="slide" id="11"><div> +<div class="slide" id="13"><div> <section> <header> - <h1 id="alicemeta-computation">AliceのMeta Computation</h1> + <h1 id="alicemeta-computation12">AliceのMeta Computation(1/2)</h1> </header> <!-- _S9SLIDE_ --> <ul> <li>並列指向プログラミング言語 Erlang では、分散環境の構築等の処理は全てプログラマが記述しなければいけない。</li> <li>Aliceではプログラマが記述する部分を <em>Computation</em>、Aliceが提供するComputationを支える部分を <em>Meta Computation</em> として分けて捉えている。</li> + <li>分散環境の構築等の処理等は全てMeta Computationが行うためプログラマがシンプルに分散プログラムを記述できる環境を提供している。</li> </ul> @@ -227,10 +269,10 @@ </section> </div></div> -<div class="slide" id="12"><div> +<div class="slide" id="14"><div> <section> <header> - <h1 id="alicemeta-computation-1">AliceのMeta Computation</h1> + <h1 id="alicemeta-computation22">AliceのMeta Computation(2/2)</h1> </header> <!-- _S9SLIDE_ --> @@ -245,8 +287,8 @@ <li>Javaで記述したAliceの実装システム</li> </ul> </li> - <li>Aliceの機能を追加するということはMeta Computationを追加すると言い換えられる</li> - <li>Meta ComputationもCSとDSにより表現されており、それぞれMeta CSとMeta DSと呼ぶ。</li> + <li>Aliceの機能を追加するということは Meta Computation を追加すると言い換えられる</li> + <li>Meta Computation も CS と DS により表現されており、それぞれMeta CSとMeta DSと呼ぶ。</li> </ul> @@ -254,23 +296,48 @@ </section> </div></div> -<div class="slide" id="13"><div> +<div class="slide" id="15"><div> + <section> + <header> + <h1 id="alicevnc">AliceVNC</h1> + </header> + <!-- _S9SLIDE_ --> + +<ul> + <li>研究室では授業向け画面共有システム TreeVNC の開発を行っている。</li> + <li>授業で VNC を使う場合、1つ のコンピュータに多人数が同時につながるため、性能が大幅に落ちる</li> + <li>TreeVNCではノード同士を接続させ、木構造を構成することで負荷分散を行う +<img src="./images/treeVNC.svg" alt="opt" /></li> +</ul> + + + + </section> +</div></div> + +<div class="slide" id="16"><div> <section> <header> <h1 id="alice-">Alice の新機能</h1> </header> <!-- _S9SLIDE_ --> -<p>実用的なアプリケーションであるTreeVNCの実装で必要となった以下の機能をMeta Computation として実装した。<br /> -* flip機能 … Input DS を Output DSとして転送する -* 圧縮機能 … DS Managerの指定によってDSの表現を切り替える</p> +<ul> + <li>Alice が実用的なアプリケーションを記述する能力をもつことを確認するために、TreeVNC を Alice を用いて実装した AliceVNC の作成を行った。</li> + <li>AliceVNCの実装で必要となった以下の機能をMeta Computation として実装した。<br /> + <ul> + <li>flip機能 … Input DS を Output DS として転送する</li> + <li>圧縮機能 … DS Manager の指定によってDSの表現を切り替える</li> + </ul> + </li> +</ul> </section> </div></div> -<div class="slide" id="14"><div> +<div class="slide" id="17"><div> <section> <header> <h1 id="flip">flip機能</h1> @@ -283,29 +350,169 @@ </section> </div></div> -<div class="slide" id="15"><div> +<div class="slide" id="18"><div> <section> <header> <h1 id="section-3">圧縮機能</h1> </header> <!-- _S9SLIDE_ --> +<ul> + <li>AliceVNCは、ノードは受け取った画面データを描画すると同時に、子ノードの Remote DSM に送信する。</li> + <li>ノードは DS を受信するとそれを一度解凍して画面を表示し、再圧縮して子ノードに送信する。</li> + <li>圧縮状態のまま子ノードに送信ができれば、解凍・再圧縮するオーバーヘッドを無くすことができる。</li> +</ul> + + + + </section> +</div></div> + +<div class="slide" id="19"><div> + <section> + <header> + <h1 id="data-segment">圧縮機能 - Data Segmentの表現の変更</h1> + </header> + <!-- _S9SLIDE_ --> + +<p>1つの Data Segment に対し以下の3種類の表現を同時に持たせ、必要に応じた形式で DS を扱う。 + 1. 一般的な Java のクラスオブジェクト + 2. MessagePack for Java でシリアライズ化され たバイナリオブジェクト + 3. 2 を圧縮したバイナリオブジェクト</p> + + + + </section> +</div></div> + +<div class="slide" id="20"><div> + <section> + <header> + <h1 lang="java" id="data-segment-1">圧縮機能 - Data Segmentの表現の変更</h1> + </header> + <!-- _S9SLIDE_ --> + +<pre><code> public class ReceiveData { + private Object val = null; + private byte[] messagePack = null; + private byte[] zMessagePack = null; + } +</code></pre> + + + + </section> +</div></div> + +<div class="slide" id="21"><div> + <section> + <header> + <h1 id="dsm">圧縮機能 - DSMの追加</h1> + </header> + <!-- _S9SLIDE_ --> + +<ul> + <li>Local と Remote それぞれに圧縮表現を扱う Compressed DSM を追加した。</li> + <li>Compressed DSM にputする場合 + <ul> + <li>DS が圧縮表現を持っていればそれをputする</li> + <li>持っていなければその時点で圧縮表現を作ってputする</li> + </ul> + </li> +</ul> </section> </div></div> -<div class="slide" id="16"><div> +<div class="slide" id="22"><div> + <section> + <header> + <h1 id="ds">圧縮機能 - 任意の表現でDSを取得</h1> + </header> + <!-- _S9SLIDE_ --> + +<ul lang="java"> + <li>ReceiveData内にあるDSのcastメソッドであるasClass()を用いる</li> +</ul> +<pre><code> public <T> T asClass(Class<T> clazz) { + if (val != null) { return (T) val; } + + if (zMessagePack != null && messagePack == null) { + messagePack = unzip(zMessagePack, dataSize); + } + + return packer.read(messagePack, clazz); + } +</code></pre> + + + + </section> +</div></div> + +<div class="slide" id="23"><div> <section> <header> - <h1 id="api">API設計</h1> + <h1 id="api">圧縮機能 - API設計</h1> + </header> + <!-- _S9SLIDE_ --> + +<p>通常のデータを扱う場合<br /> +* put(String managerKey, String key, Object val)<br /> +* take(String managerKey, String key)</p> + +<p>圧縮表現のデータを扱う場合<br /> +* put(String <strong>“compressed”</strong> + managerKey, String key, Object val)<br /> +* take(String <strong>“compressed”</strong> + managerKey, String key)</p> + + + + </section> +</div></div> + +<div class="slide" id="24"><div> + <section> + <header> + <h1 id="section-4">圧縮機能 - 通信プロトコルの変更</h1> + </header> + <!-- _S9SLIDE_ --> + +<p>Remote から put されたデータは必ずシリアライズ化されており byteArray で表現される。 +データの 表現に圧縮した byteArray を追加したため、Remote から put された byteArray が圧縮されているのかそ うでないのかを判断する必要がある。</p> + + + + </section> +</div></div> + +<div class="slide" id="25"><div> + <section> + <header> + <h1 id="section-5">圧縮機能の評価</h1> + </header> + <!-- _S9SLIDE_ --> + +<p>RingRelayTest</p> + + + + </section> +</div></div> + +<div class="slide" id="26"><div> + <section> + <header> + <h1 id="section-6">まとめ</h1> </header> <!-- _S9SLIDE_ --> <ul> - <li>put(String “compressed” + managerKey, String key, Object val) </li> - <li>take(String “compressed” + managerKey, String key)</li> + <li>Alice が実用的なアプリケーションを記述するための Meta Computation として、データに多態性を持たせ、指定するDSMによってデータ表 現を変える機能を実装した。</li> + <li>これによりユーザが記述する Computation 部分を大きく変えずに自由度の高い通信を行うことが可能になった。</li> + <li>同様の手法により、暗号形式・JSON 形式など複数のデータ表現を扱えるように拡張できる。</li> + <li>今後の課題としては、圧縮機能を AliceVNC で用 いることで有効性を測る必要がある。</li> </ul> <!-- === end markdown block === -->
--- a/presen/sigOS/sample.markdown Sat May 23 16:11:04 2015 +0900 +++ b/presen/sigOS/sample.markdown Sun May 24 17:56:24 2015 +0900 @@ -50,43 +50,115 @@ </tr> </table> +# Aliceの概要(4) - Data Segment の表現 +* 一般的な Java のクラスオブジェクト + * LocalDSM に put された場合は一般的な Java のクラスオブジェクトとして enQueue される。 +* MessagePack を用いて変換した byte[]で表現されたバイナリオブジェクト + * RemoteDSM に put された場合は通信時に byteArray に変換されたバイナリオブジェクトが enQueue される。 -# Aliceの概要(4) - Code Segment +# Aliceの概要(5) - Code Segment * Alice上で実行されるタスクの単位を Code Segment(CS) と呼ぶ。 * 複数のDSが入力され、その結果をDSとして出力するfunctionと捉えられる。 +* CS をユーザーが記述する際には CS を継承して記述することにより CS で使用する API を利用する事ができる。 + +# Aliceの概要(5) - Code Segment * 入力されるDSをInput DS、出力されるDSをOutput DSと呼ぶ。 * keyで指定されたDSが揃うと実行されるという性質を持つ。 ![opt](./images/dsandcs.svg) -# Aliceの概要(5) - CodeSegmentの依存関係 +# Aliceの概要(6) - CodeSegmentの依存関係 * データの依存関係にないCSは並列実行される * データの依存関係がある場合は依存を解決した順に実行される * 並列度あげるために、処理を細かく記述し、依存するDSを少なくする ![opt](./images/dsandcs2.svg) -# AliceのMeta Computation +# AliceのMeta Computation(1/2) * 並列指向プログラミング言語 Erlang では、分散環境の構築等の処理は全てプログラマが記述しなければいけない。 * Aliceではプログラマが記述する部分を *Computation*、Aliceが提供するComputationを支える部分を *Meta Computation* として分けて捉えている。 +* 分散環境の構築等の処理等は全てMeta Computationが行うためプログラマがシンプルに分散プログラムを記述できる環境を提供している。 -# AliceのMeta Computation +# AliceのMeta Computation(2/2) * AliceのComputation * keyによりData Segmentを待ち合わせてCode Segmentを実行する * AliceのMeta Computation * Javaで記述したAliceの実装システム -* Aliceの機能を追加するということはMeta Computationを追加すると言い換えられる -* Meta ComputationもCSとDSにより表現されており、それぞれMeta CSとMeta DSと呼ぶ。 +* Aliceの機能を追加するということは Meta Computation を追加すると言い換えられる +* Meta Computation も CS と DS により表現されており、それぞれMeta CSとMeta DSと呼ぶ。 + +# AliceVNC +* 研究室では授業向け画面共有システム TreeVNC の開発を行っている。 +* 授業で VNC を使う場合、1つ のコンピュータに多人数が同時につながるため、性能が大幅に落ちる +* TreeVNCではノード同士を接続させ、木構造を構成することで負荷分散を行う +![opt](./images/treeVNC.svg) # Alice の新機能 -実用的なアプリケーションであるTreeVNCの実装で必要となった以下の機能をMeta Computation として実装した。 -* flip機能 … Input DS を Output DSとして転送する -* 圧縮機能 … DS Managerの指定によってDSの表現を切り替える +* Alice が実用的なアプリケーションを記述する能力をもつことを確認するために、TreeVNC を Alice を用いて実装した AliceVNC の作成を行った。 +* AliceVNCの実装で必要となった以下の機能をMeta Computation として実装した。 + * flip機能 … Input DS を Output DS として転送する + * 圧縮機能 … DS Manager の指定によってDSの表現を切り替える # flip機能 # 圧縮機能 +* AliceVNCは、ノードは受け取った画面データを描画すると同時に、子ノードの Remote DSM に送信する。 +* ノードは DS を受信するとそれを一度解凍して画面を表示し、再圧縮して子ノードに送信する。 +* 圧縮状態のまま子ノードに送信ができれば、解凍・再圧縮するオーバーヘッドを無くすことができる。 -# API設計 -* put(String "compressed" + managerKey, String key, Object val) -* take(String "compressed" + managerKey, String key) +# 圧縮機能 - Data Segmentの表現の変更 +1つの Data Segment に対し以下の3種類の表現を同時に持たせ、必要に応じた形式で DS を扱う。 + 1. 一般的な Java のクラスオブジェクト + 2. MessagePack for Java でシリアライズ化され たバイナリオブジェクト + 3. 2 を圧縮したバイナリオブジェクト + +# 圧縮機能 - Data Segmentの表現の変更 +```java + public class ReceiveData { + private Object val = null; + private byte[] messagePack = null; + private byte[] zMessagePack = null; + } +``` + +# 圧縮機能 - DSMの追加 +* Local と Remote それぞれに圧縮表現を扱う Compressed DSM を追加した。 +* Compressed DSM にputする場合 + * DS が圧縮表現を持っていればそれをputする + * 持っていなければその時点で圧縮表現を作ってputする + +# 圧縮機能 - 任意の表現でDSを取得 +* ReceiveData内にあるDSのcastメソッドであるasClass()を用いる +```java + public <T> T asClass(Class<T> clazz) { + if (val != null) { return (T) val; } + + if (zMessagePack != null && messagePack == null) { + messagePack = unzip(zMessagePack, dataSize); + } + + return packer.read(messagePack, clazz); + } +``` + +# 圧縮機能 - API設計 +通常のデータを扱う場合 +* put(String managerKey, String key, Object val) +* take(String managerKey, String key) + +圧縮表現のデータを扱う場合 +* put(String **"compressed"** + managerKey, String key, Object val) +* take(String **"compressed"** + managerKey, String key) + +# 圧縮機能 - 通信プロトコルの変更 +Remote から put されたデータは必ずシリアライズ化されており byteArray で表現される。 +データの 表現に圧縮した byteArray を追加したため、Remote から put された byteArray が圧縮されているのかそ うでないのかを判断する必要がある。 + +# 圧縮機能の評価 +RingRelayTest + +# まとめ +* Alice が実用的なアプリケーションを記述するための Meta Computation として、データに多態性を持たせ、指定するDSMによってデータ表 現を変える機能を実装した。 +* これによりユーザが記述する Computation 部分を大きく変えずに自由度の高い通信を行うことが可能になった。 +* 同様の手法により、暗号形式・JSON 形式など複数のデータ表現を扱えるように拡張できる。 +* 今後の課題としては、圧縮機能を AliceVNC で用 いることで有効性を測る必要がある。