<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
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;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.hoenzb
        {mso-style-name:hoenzb;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></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]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>That was part of the original design. However subsequent work found that managing context in the way people wanted made this not a practical solution at the time. (For example having dialog state bias language models.)<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Alex<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Olympus-developers [mailto:olympus-developers-bounces@mailman.srv.cs.cmu.edu] <b>On Behalf Of </b>Nitin Dhawan<br><b>Sent:</b> Friday, February 21, 2014 7:36 AM<br><b>To:</b> 'Aasish Pappu'<br><b>Cc:</b> 'olympus-developers'<br><b>Subject:</b> [Olympus developers 472]: Re: how to enable multiple users simultaneously.<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi.. I was looking at the session management aspects in the Galaxy architecture <a href="http://communicator.sourceforge.net/sites/MITRE/distributions/GalaxyCommunicator/docs/manual/advanced/session.html">http://communicator.sourceforge.net/sites/MITRE/distributions/GalaxyCommunicator/docs/manual/advanced/session.html</a><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif";color:black;background:white'>The Galaxy Communicator infrastructure is designed to support multiple simultaneous<span class=apple-converted-space> </span></span><b><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif";color:black'>sessions</span></b><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif";color:black;background:white'>. By<span class=apple-converted-space> </span></span><b><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif";color:black'>session</span></b><span class=apple-converted-space><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif";color:black;background:white'> </span></span><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif";color:black;background:white'>we mean an individual conversation with a Communicator system, such as the sequence of exchanges between the time the system answers the phone and greets an individual user and the time the system or user hangs up. A single Communicator system might support a large number of phone lines, and thus a large number of simultaneous sessions.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif";color:black;background:white'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Has the architecture been modified so much that the core session support needs to be redesigned?<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Aasish Pappu [mailto:aasishp@gmail.com] <br><b>Sent:</b> Saturday, February 8, 2014 3:21 AM<br><b>To:</b> Nitin Dhawan<br><b>Cc:</b> olympus-developers<br><b>Subject:</b> Re: [Olympus developers 443]: how to enable multiple users simultaneously.<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>The architecture natively doesn't support multiple users (I assume you meant simultaneous sessions).  However, there were instances where you could run multiple instances of some of the components (Audio Server, DM, InteractionManager, Hub) corresponding to each session. Since those components are session specific. There are few components (ASR, NLU, NLG) which can run as services i.e., doesn't have to be instantiated. All of this <o:p></o:p></p><div><p class=MsoNormal>customization will require understanding of how the components interact. <o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>The short answer is there is no easy recipe to customize the architecture for multiple sessions.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>There are few example systems that were built to handle certain aspects of the simultaneous sessions.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>1. Multiparty Interaction: System interacting with more than user at a time in a single interactive session.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>repo: <a href="http://trac.speech.cs.cmu.edu/repos/olympus/branches/MultiOly1.0/">http://trac.speech.cs.cmu.edu/repos/olympus/branches/MultiOly1.0/</a><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>We instantiate dialog manager, hub for each user to keep track of their slot/value pairs (if different from other user). We don't have to instantiate the IM and AudioServer in this case because both users are listening on same channel (loud speakers) and talking on same channel (kinect microphone array).  While talking to the users, we don't want the dialog manager to request for multiple nlg prompts for each user, instead we synchronize the system's response from DM to one of the users or both users. We do this using a new component called conversation manager that talks to interaction-manager on behalf of both the dialog managers. More details on this work in <a href="http://link.springer.com/chapter/10.1007/978-3-642-39330-3_12">http://link.springer.com/chapter/10.1007/978-3-642-39330-3_12</a><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>2. Human robot teams: Single user interacting with multiple robots. <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>We instantiate dialog manager, hub, robot backend for each robot. The dialog context for each robot is independent from each other. Here each robot's DM responds to the user based on a trigger phrase (e.g., RobotA listen, RobotB listen). <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>repo: <a href="http://trac.speech.cs.cmu.edu/repos/teamtalk/branches/tt-olympus2/">http://trac.speech.cs.cmu.edu/repos/teamtalk/branches/tt-olympus2/</a><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div></div><div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><div><p class=MsoNormal>On Fri, Feb 7, 2014 at 3:44 PM, Nitin Dhawan <<a href="mailto:nitin@imarketingadvantage.com" target="_blank">nitin@imarketingadvantage.com</a>> wrote:<o:p></o:p></p><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Hi<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>This might be a stupid question, but how to enable multiple users to access the system at the same time. How does the system have to be deployed.<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Based on all the documentation we have read so far, one can start all the servers and get either a speech , or tty r java-tty interfact where one user can interact at a time. <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>We also want to enable authentication of this system, using a single sign on with another system. But thats really the next step.<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Thanks<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='color:#888888'>Nitin Dhawan<o:p></o:p></span></p></div></div></div><p class=MsoNormal><br><br clear=all><o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal style='margin-bottom:12.0pt'>-- <br>Aasish Pappu<o:p></o:p></p></div></div></body></html>