IP Library Granted Patent US 10,037,422
Granted Patent B2
US 10,037,422 · App. 15/000,881 · Granted Jul 31, 2018

Systems and methods for integrating with a native component using a network interface

Inventors: Jonathan Carroll (Beaconsfield, CA); Michel Gagnon (Candiac, CA); Gregory Pekofsky (DDO, CA); Khanh Tuan Vu (Montreal, CA)
Assignee: Open Text SA ULC
G06F21/44H04L63/0823
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,037,422
App. No.
15/000,881
Granted
Jul 31, 2018
Kind
B2
Abstract

Embodiments as disclosed herein may provide systems and methods for component integration and security. In particular, in one embodiment, a native component that presents a network based interface may be on a device, where that native component may expose a network based interface for access by other components. This native component can then be accessed through the network based interface. To address security concerns and other issues, the native component may be configured to determine if a received request is associated with the same user space and only respond to requests originating from the same user space.

Claims (60)

1. A system, comprising:

a processor device;

a native component presenting a Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) based network accessible interface configured to allow functionality of the native component to be accessed through the network accessible interface, wherein the native component comprises instructions executing on the system to:

receive a request issued from a requesting component executing on the system, wherein the request is received through the network accessible interface of the native component;

determine a first identifier associated with a first user space of the system in which the native component is executing by determining a first session identifier associated with the execution of the native component on the system;

determine a second identifier associated with a second user space of the system in which the requesting component is executing by determining a second session identifier with:

determining a port of a connection associated with the request,

determining a process identifier associated with the execution of the requesting component on the system based on the port of the connection associated with the request, and

determining the second session identifier associated with the process identifier and the execution of the requesting component on the system;

determine if the first user space of the native component and the second user space of the requesting component are the same user space by comparing the first identifier to the second identifier; and

if the first identifier matches the second identifier, allowing the request, and if the first identifier does not match the second identifier, denying the request.

2. The system of claim 1 , wherein the requesting component and the native component are part of a cloud based managed file transfer (MFT) system.

3. The system of claim 2 , wherein the native component is a transfer manager in the managed file transfer system.

4. A system, comprising:

a processor device;

a native component presenting a network accessible interface configured to allow functionality of the native component to be accessed through the network accessible interface, wherein the native component comprises instructions executing on the system to:

receive a request issued from a requesting component executing on the system, wherein the request is received through the network accessible interface of the native component;

determine a first identifier associated with a first user space of the system in which the native component is executing by determining a first session identifier, the first identifier associated with the execution of the native component on the system;

determine a second identifier associated with a second user space of the system in which the requesting component is executing by determining a second session identifier with:

determining a port of a connection associated with the request,

determining a process identifier associated with the execution of the requesting component on the system based on the port of the connection associated with the request, and

determining the second session identifier associated with the process identifier and the execution of the requesting component on the system;

determine if the first user space of the native component and the second user space of the requesting component are the same user space by comparing the first identifier to the second identifier; and

if the first identifier matches the second identifier, allowing the request, and if the first identifier does not match the second identifier, denying the request.

5. The system of claim 4 , wherein the network accessible interface is a Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) based interface.

6. The system of claim 5 , wherein the network accessible interface is a REpresentation State Transfer (REST) interface, a Simple Object Access Protocol (SOAP) interface or a Hyper Text Transfer Protocol (HTTP) based interface.

7. The system of claim 4 , wherein determining the process identifier associated with the requesting component comprises:

accessing a Transmission Control Protocol (TCP) table; and

determining the process identifier associated with the port of the request in the TCP table.

8. The system of claim 7 , wherein the port is a remote port associated with the request and the port of the request in the TCP table is a local port.

9. The system of claim 4 , wherein the request utilizes Secure Sockets Layer (SSL) and a connection is established with the requesting component using a certificate associated with the requesting component.

10. The system of claim 9 , wherein the certificate is associated with a user associated with the second user space and is stored in a registry of the user on the system.

11. A method, comprising:

receiving, at a Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) based network accessible interface of a native component on a computing device, a request issued from a requesting component executing on the computing device, wherein the request is received through the network accessible interface of the native component;

determining, at the native component, a first identifier associated with a first user space of the system in which the native component is executing by determining a first session identifier associated with the execution of the native component on the computing device;

determining, at the native component, a second identifier associated with a second user space of the system in which the requesting component is executing by determining a second session identifier with:

determining a port of a connection associated with the request,

determining a process identifier associated with the execution of the requesting component on the computing device based on the port of the connection associated with the request, and

determining the second session identifier associated with process identifier and the execution of the requesting component on the computing device;

determining, at the native component, if the first user space of the native component and the second user space of the requesting component are the same user space by comparing the first identifier to the second identifier; and

if the first identifier matches the second identifier, responding to the request, and if the first identifier does not match the second identifier, denying the request.

12. The method of claim 11 , wherein the requesting component and the native component are part of a cloud based managed file transfer (MFT) system.

13. The method of claim 12 , wherein the native component is a transfer manager in the managed file transfer system.

14. A method, comprising:

receiving, at a network accessible interface of a native component on a computing device, a request issued to the network accessible interface from a requesting component executing on the computing device;

determining, at the native component, a first identifier associated with a first user space of the system in which the native component is executing by determining a first session identifier, the first identifier associated with the execution of the native component on the computing device;

determining, at the native component, a second identifier associated with a second user space of the computing device in which the requesting component is executing by determining a second session identifier with:

determining a port of a connection associated with the request,

determining a process identifier associated with the execution of the requesting component on the system based on the port of the connection associated with the request, and

determining the second session identifier associated with the process identifier and the execution of the requesting component on the system;

determining, at the native component, if the first user space of the native component and the second user space of the requesting component are the same user space by comparing the first identifier to the second identifier; and

if the first identifier matches the second identifier, allowing the request, and if the first identifier does not match the second identifier, denying the request.

15. The method of claim 14 , wherein the network accessible interface is a Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) based interface.

16. The method of claim 15 , wherein the network accessible interface is a REpresentation State Transfer (REST) interface, a Simple Object Access Protocol (SOAP) interface or a Hyper Text Transfer Protocol (HTTP) based interface.

17. The method of claim 14 , wherein determining the process identifier associated with the requesting component comprises:

accessing a Transmission Control Protocol (TCP) table; and

determining the process identifier associated with the port of the request in the TCP table.

18. The method of claim 17 , wherein the port is a remote port associated with the request and the port of the request in the TCP table is a local port.

19. The method of claim 14 , wherein the request utilizes Secure Sockets Layer (SSL) and a connection is established with the requesting component using a certificate associated with the requesting component.

20. The method of claim 19 , wherein the certificate is associated with a user associated with the second user space and is stored in a registry of the user on the system.

Assignments (13)
NUNC PRO TUNC ASSIGNMENT Recorded Apr 8, 2025
From: OPEN TEXT SA ULC
To: ROCKET SOFTWARE CANADA, INC. (SUCCESSOR BY AMALGAMATION WITH AMC CONNECTIVITY SOFTWARE (CANADA) ULC)
Reel/Frame 070770/0882 →
RELEASE OF SECURITY INTEREST Recorded May 16, 2024
From: THE BANK OF NEW YORK MELLON
To: OPEN TEXT SA ULC
Reel/Frame 067436/0581 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS(REEL/FRAME 063559/0647) Recorded May 1, 2024
From: BARCLAYS BANK PLC
To: OPEN TEXT SA ULC
Reel/Frame 067289/0305 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS(REEL/FRAME 063559/0628) Recorded May 1, 2024
From: BARCLAYS BANK PLC
To: OPEN TEXT SA ULC
Reel/Frame 067289/0236 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS(REEL/FRAME 063559/0758) Recorded May 1, 2024
From: BARCLAYS BANK PLC
To: OPEN TEXT SA ULC
Reel/Frame 067289/0273 →
SECURITY INTEREST Recorded Aug 30, 2023
From: OPEN TEXT SA ULC
To: THE BANK OF NEW YORK MELLON
Reel/Frame 064761/0256 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT SA ULC
To: BARCLAYS BANK PLC
Reel/Frame 063559/0647 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT SA ULC
To: BARCLAYS BANK PLC
Reel/Frame 063559/0758 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT SA ULC
To: BARCLAYS BANK PLC
Reel/Frame 063559/0628 →
IP BUSINESS SALE AGREEMENT Recorded Aug 30, 2016
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 039872/0605 →
CERTIFICATE OF AMALGAMATION Recorded Aug 30, 2016
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 039872/0662 →
CERTIFICATE OF CONTINUANCE Recorded Aug 30, 2016
From: OT IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 039986/0689 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2016
From: CARROLL, JONATHAN; GAGNON, MICHEL; PEKOFSKY, GREGORY; VU, KHANH TUAN
To: OPEN TEXT S.A.
Reel/Frame 038173/0097 →
Continuity (2)
Provisional Application 62106023 · Jan 21, 2015
Related Publication 20160212122A1 · Jul 21, 2016