IP Library Granted Patent US 11,176,239
Granted Patent B2
US 11,176,239 · App. 16/592,460 · Granted Nov 16, 2021

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

Inventors: Jonathan Carroll (Beaconsfield, CA); Michel Gagnon (Candiac, CA); Gregory Pekofsky (Dollard-des-Ormeaux, 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 11,176,239
App. No.
16/592,460
Granted
Nov 16, 2021
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 (51)

1. A system, comprising:

a device, including a hardware processor; and

a component on the device, the component providing a network interface configured to allow functionality of the component to be accessed through the network interface, wherein the component comprises instructions to:

receive, at the component, a request from a requesting component executing locally on the device through the network interface provided by the component;

determine, by the component, a first identifier associated with a first user space of the device on which the component executes, the component and a first session;

determine a second identifier associated with a second user space of the device on which the component executes and the requesting component by:

determining a port of a connection associated with the request received from the local executing remote component,

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

determining the second identifier associated with the process identifier associated with the requesting component; and

if the first identifier is associated with the second identifier, allowing the request,

and if the first identifier is not associated with the second identifier, denying the request.

2. The system of claim 1 , wherein the requesting component is part of a cloud based system.

3. The system of claim 2 , wherein the requesting component is executing in a browser.

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

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

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

accessing a TCP table; and

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

7. The system of claim 1 , wherein a connection is established between the component and the requesting component using a certificate associated with the requesting component.

8. A method, comprising:

receiving, at a network interface of a component on a device, a request from a requesting component residing locally on the device;

determining, at the component, a first identifier associated with a first user space of the device on which the component resides, the component and a first session;

determining, at the component, a second identifier associated with a second user space of the device on which the component resides and the requesting component by:

determining a port of a connection associated with the request received from the locally residing remote component,

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

determining the second identifier associated with the process identifier associated with the requesting component; and

if the first identifier is associated with the second identifier, allowing the request by the component, and if the first identifier is not associated with the second identifier, denying the request by the component.

9. The method of claim 8 , wherein the requesting component is part of a cloud based system.

10. The method of claim 9 , wherein the requesting component is executing in a browser.

11. The method of claim 8 , wherein the interface is a Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) based interface.

12. The method of claim 8 , wherein the network interface is a REpresentational State Transfer (REST) interface, a Simple Object Access Protocol (SOAP) interface or a Hyper Text Transfer Protocol (HTTP) based interface.

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

accessing a TCP table; and

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

14. The method of claim 8 , wherein a connection is established between the component and the requesting component using a certificate associated with the requesting component.

15. A non-transitory computer readable medium, comprising instructions for:

receiving, at a network interface of a component on a device, a request from a requesting component residing locally on the device;

determining, at the component, a first identifier associated with a first user space of the device on which the component resides, the component and a first session;

determining, at the component, a second identifier associated with a second user space of the device on which the component resides and the requesting component by:

determining a port of a connection associated with the request received from the locally residing remote component,

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

determining the second identifier associated with the process identifier associated with the requesting component; and

if the first identifier is associated with the second identifier, allowing the request by the component, and if the first identifier is not associated with the second identifier, denying the request by the component.

16. The non-transitory computer readable medium of claim 15 , wherein the requesting component is part of a cloud based system.

17. The non-transitory computer readable medium of claim 16 , wherein the requesting component is executing in a browser.

18. The non-transitory computer readable medium of claim 15 , wherein the interface is a Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) based interface.

19. The non-transitory computer readable medium of claim 15 , wherein the network interface is a REpresentational State Transfer (REST) interface, a Simple Object Access Protocol (SOAP) interface or a Hyper Text Transfer Protocol (HTTP) based interface.

20. The non-transitory computer readable medium of claim 15 , wherein determining the process identifier associated with the requesting component comprises:

accessing a TCP table; and

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

21. The non-transitory computer readable medium of claim 15 , wherein a connection is established between the component and the requesting component using a certificate associated with the requesting component.

Assignments (5)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2019
From: CARROLL, JONATHAN; GAGNON, MICHEL; PEKOFSKY, GREGORY; VU, KHANH TUAN
To: OPEN TEXT S.A.
Reel/Frame 050674/0699 →
IP BUSINESS SALE AGREEMENT Recorded Oct 9, 2019
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 050695/0761 →
CERTIFICATE OF CONTINUANCE Recorded Oct 9, 2019
From: OT IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 050695/0775 →
CERTIFICATE OF AMALGAMATION Recorded Oct 9, 2019
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 050695/0860 →
Continuity (4)
Continuation 16020033 · Jun 27, 2018
Continuation 15000881 · Jan 19, 2016
Provisional Application 62106023 · Jan 21, 2015
Related Publication 20200104477A1 · Apr 2, 2020