Issue 18723: GEMS TCP socket close behavior is not obvious (gems-rtf) Source: Amergint Technologies (Mr. Rob Andzik, andzik(at)amergint.com) Nature: Uncategorized Issue Severity: Summary: GEMS VERSION 1.2 It is not obvious what happens to a client using either GEMS-ASCII or GEMS-XML across TCP when the TCP socket is closed. If the client has successfully connected to a GEMS Device, is that GEMS connection (and resulting token) still active or does it automatically disconnect? Section 6.5 indicates that it should be disconnected, but this is not an obvious place for this behavior to be described. Also, GEMS-XML states that the HTTP header should be added. When using client-side HTTP libraries, the default behavior is to disconnect often. This is an internet-style approach. The GEMS specification should state that persistent socket connection are required Resolution: Revised Text: Actions taken: May 16, 2013: received issue Discussion: End of Annotations:===== ogle-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:from:date:message-id:subject:to :content-type:x-gm-message-state; bh=ccD7KofaBW/cOpFG5bs02zpfqtgfAajg7xKaiMPGw7w=; b=hCBwOk9tnIb6GxZOi84fuYIm6NHDf+vARHUnC0HoLZhMBrBZC+nzYwQg2j2R5qLzoR LKtYLijXiBYblcBFGAUqvM09eqIhzdf2Vth7i5P4ZKlwNGezYAdIdoWflU+STJ2GtL3L 04jz+SgK734y8JZJcQ5xIuLvPK7O22Z8JkA+y28psCIM5j/YRdwxtRI/dvSVPbhLArbf eLVsSEJFyZBF7i3yJSdSTIOU0LCfBcgUArrqVCVJ7RocZwJ5tUD9amtkN41ny8KgHfyt M3RXWMiMcznuHuYuzYkTmaGpFZvDMikjaTStSh82AF+sQDLt8nc+BLTj7Fqimkm+Nolf VWww== X-Received: by 10.112.158.164 with SMTP id wv4mr6515839lbb.63.1368739445794; Thu, 16 May 2013 14:24:05 -0700 (PDT) From: Rob Andzik Date: Thu, 16 May 2013 15:23:45 -0600 Subject: GEMS TCP socket close behavior is not obvious To: issues@omg.org X-Gm-Message-State: ALoCoQmlawVDkM2cSANnxZepyvpqzyeqwzRTpDKFG0pf7apk4zyPdkIAHqAt3O4Wv4bokezfOPi4 X-Virus-Scanned: amavisd-new at omg.org X-Brightmail-Tracker: AAAAAA== X-Brightmail-Tracker: AAAAAA== GEMS VERSION 1.2 It is not obvious what happens to a client using either GEMS-ASCII or GEMS-XML across TCP when the TCP socket is closed. If the client has successfully connected to a GEMS Device, is that GEMS connection (and resulting token) still active or does it automatically disconnect? Section 6.5 indicates that it should be disconnected, but this is not an obvious place for this behavior to be described. Also, GEMS-XML states that the HTTP header should be added. When using client-side HTTP libraries, the default behavior is to disconnect often. This is an internet-style approach. The GEMS specification should state that persistent socket connection are required. -- Rob X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type :x-gm-message-state; bh=jcne60VN7W7axQzHj6C2iICUdv+seFeBaZLygPBapRc=; b=p4Gx/g9Vy73Ncpn9iffdwc4khzKrZGFBZV4zbeHPxi91hR3Au4mZd5yRhhTE0ciTqK krD4Qau8FiLPQwKy6ZgxvdTOa/PAR3nQhLEYWrCZoORdA5HTR+7B9N186UMBxiRZMHI8 /AdK0FDGZB6YhgufE3fQvay2kFJY9ns8jOvyLS+bT3Hc7GJZ4BbNTpZzxdVEBMg46sTJ 5D8MykobxpxLwGusLLdgqBukao6/4TEq5sPz9DVtp/LDs3p4MRjhKnkgyJ2uz/QfnnAU DYf8ewf3swz8wI39/TdxY+2YyIleRYF55qT/SadaBmg3A2hUvn1qbSt3KLG2M8B/C4hL fq9g== X-Received: by 10.152.28.6 with SMTP id x6mr8116672lag.41.1374268333523; Fri, 19 Jul 2013 14:12:13 -0700 (PDT) From: Rob Andzik Date: Fri, 19 Jul 2013 15:11:53 -0600 Subject: Issue 18723: GEMS TCP socket close behavior is not obvious (DISCUSS) To: "gems-rtf@omg.org" X-Gm-Message-State: ALoCoQlGDFPFSMiCSwWOiUIXGSomgDh3E4prhPvgUCgG6QLd+wMjNRaH2luC/TqBbztRqAIl9dx8 X-Virus-Scanned: amavisd-new at omg.org Issue 18723: GEMS TCP socket close behavior is not obvious GEMS defines connect and disconnect messages. These allow it to be used on connectionless protocols such as UDP. When using a connection based protocol like TCP the connection can also be inferred from the socket state. What should happen when the TCP socket is closed? Should a disconnect be assumed? X-Env-Sender: nthompson@rtlogic.com X-Msg-Ref: server-7.tower-96.messagelabs.com!1374501242!444006!1 X-Originating-IP: [207.109.164.59] X-StarScan-Received: X-StarScan-Version: 6.9.11; banners=-,-,- X-VirusChecked: Checked From: "Thompson, Nigel" To: "andzik@amergint.com" , "gems-rtf@omg.org" Date: Mon, 22 Jul 2013 07:54:00 -0600 Subject: RE: Issue 18723: GEMS TCP socket close behavior is not obvious (DISCUSS) Thread-Topic: Issue 18723: GEMS TCP socket close behavior is not obvious (DISCUSS) Thread-Index: Ac6ExKrxxfeB94nHRe24yZYg1oAAjACHf5rA Accept-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: acceptlanguage: en-US X-Mlf-Version: 7.4.2.7667 X-Mlf-UniqueId: o201307221354020039839 X-Virus-Scanned: amavisd-new at omg.org I see no alternative here for TCP connections. A socket closure from either the client or the server should imply a GEMS disconnect. The disconnect message is informational rather than useful in my view on a TCP link. Nigel From: Rob Andzik [mailto:andzik@amergint.com] Sent: Friday, July 19, 2013 3:12 PM To: gems-rtf@omg.org Subject: Issue 18723: GEMS TCP socket close behavior is not obvious (DISCUSS) Issue 18723: GEMS TCP socket close behavior is not obvious GEMS defines connect and disconnect messages. These allow it to be used on connectionless protocols such as UDP. When using a connection based protocol like TCP the connection can also be inferred from the socket state. What should happen when the TCP socket is closed? Should a disconnect be assumed? smime7.p7s smime7.p7s X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=references:from:mime-version:in-reply-to:date:message-id:subject:to :cc:content-type:x-gm-message-state; bh=9NA4BAKAh2caa+7qhHVahM0oCyKNqXDxG58bAZt/+IU=; b=lygC/3SZ6CJ098I1bhfBpk3Iu+S5yJZDjMVoZ8Jz+zZYTdgtkJax7/SX0ROEsu6qvN Pet0O2ATR9/JjKipoVne5EFsU4TkBggscgxJgMkFlVsSLGN9s0TbGz7LnELZPXch5e8B 5Nta3FlXNKPdga6uSJxfZilq9MC9+QiTJ8rf8TD+wtCRw20ubuukws/e0IJA1ko9fQ99 JSNQAXaIj7Z74zb5lZIIGSqclYkIDWbFbjcFZuNV0OMWxIyszSjNF/Nv3C2RY+Uhc2ln R79YnOoCCUMCWjo+tfWJYqd8KXM548CvVrQQiixdw+cZN0+6wH2q6Lz1Zd0YdW13eWwV alXQ== X-Received: by 10.112.146.33 with SMTP id sz1mr12841338lbb.47.1374505509296; Mon, 22 Jul 2013 08:05:09 -0700 (PDT) From: Rob Andzik Date: Mon, 22 Jul 2013 09:05:03 -0600 Subject: Re: Issue 18723: GEMS TCP socket close behavior is not obvious (DISCUSS) To: "Thompson, Nigel" Cc: "gems-rtf@omg.org" X-Gm-Message-State: ALoCoQnPU4Gj3d4S3BPICD6PhI+QjGZ8plaR4P78tufZ+WXzdraMxM/DdMjE5xOXMY6xtEQrQpao X-Virus-Scanned: amavisd-new at omg.org I tend to agree. . The question came up with a GEMS-XML user. .They used a standard HTTP library to handle their communication. .The library was configured to disconnect the socket after every message. All they had to do was reconfigure the library.. It simply highlighted that the spec is ambiguous in this area and they interpreted it differently.. Rob Rob Andzik (mobile) On Jul 22, 2013, at 7:54 AM, "Thompson, Nigel" wrote: I see no alternative here for TCP connections. A socket closure from either the client or the server should imply a GEMS disconnect. The disconnect message is informational rather than useful in my view on a TCP link. . Nigel . . From: Rob Andzik [mailto:andzik@amergint.com] Sent: Friday, July 19, 2013 3:12 PM To: gems-rtf@omg.org Subject: Issue 18723: GEMS TCP socket close behavior is not obvious (DISCUSS) . Issue 18723: GEMS TCP socket close behavior is not obvious . GEMS defines connect and disconnect messages. These allow it to be used on connectionless protocols such as UDP. .When using a connection based protocol like TCP the connection can also be inferred from the socket state. . . What should happen when the TCP socket is closed? .Should a disconnect be assumed? . X-Env-Sender: nthompson@rtlogic.com X-Msg-Ref: server-2.tower-96.messagelabs.com!1374507838!466798!1 X-Originating-IP: [207.109.164.59] X-StarScan-Received: X-StarScan-Version: 6.9.11; banners=-,-,- X-VirusChecked: Checked From: "Thompson, Nigel" To: "andzik@amergint.com" CC: "gems-rtf@omg.org" Date: Mon, 22 Jul 2013 09:43:57 -0600 Subject: RE: Issue 18723: GEMS TCP socket close behavior is not obvious (DISCUSS) Thread-Topic: Issue 18723: GEMS TCP socket close behavior is not obvious (DISCUSS) Thread-Index: Ac6G7N7l/EIXWw8VTIuR1WIPIIOLVQABSl5Q Accept-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: acceptlanguage: en-US X-Mlf-Version: 7.4.2.7667 X-Mlf-UniqueId: o201307221543580041358 X-Virus-Scanned: amavisd-new at omg.org They will have a lot of performance issues using GEMS over SSL (when doing authentication) if they disconnect after every message. Perhaps the commentary about authentication in 1.3 will need to include some guidance? From: Rob Andzik [mailto:andzik@amergint.com] Sent: Monday, July 22, 2013 9:05 AM To: Thompson, Nigel Cc: gems-rtf@omg.org Subject: Re: Issue 18723: GEMS TCP socket close behavior is not obvious (DISCUSS) I tend to agree. The question came up with a GEMS-XML user. They used a standard HTTP library to handle their communication. The library was configured to disconnect the socket after every message. All they had to do was reconfigure the library. It simply highlighted that the spec is ambiguous in this area and they interpreted it differently. Rob Rob Andzik (mobile) On Jul 22, 2013, at 7:54 AM, "Thompson, Nigel" wrote: I see no alternative here for TCP connections. A socket closure from either the client or the server should imply a GEMS disconnect. The disconnect message is informational rather than useful in my view on a TCP link. Nigel From: Rob Andzik [mailto:andzik@amergint.com] Sent: Friday, July 19, 2013 3:12 PM To: gems-rtf@omg.org Subject: Issue 18723: GEMS TCP socket close behavior is not obvious (DISCUSS) Issue 18723: GEMS TCP socket close behavior is not obvious GEMS defines connect and disconnect messages. These allow it to be used on connectionless protocols such as UDP. When using a connection based protocol like TCP the connection can also be inferred from the socket state. What should happen when the TCP socket is closed? Should a disconnect be assumed? smime10.p7s smime10.p7s