IP Library Granted Patent US 10,678,616
Granted Patent B2
US 10,678,616 · App. 16/185,744 · Granted Jun 9, 2020

System and method for encapsulating computer communications

Inventors: John O'Connor (Sunnyvale, CA); Nathan Spencer (Redwood City, CA); Garth Gillespie (Palo Alto, CA); Yan Zhang (Mountain View, CA)
Assignee: MZ IP Holdings, LLC
G06F9/546G06F9/4484G06F9/485G06F9/541
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,678,616
App. No.
16/185,744
Granted
Jun 9, 2020
Kind
B2
Abstract

Implementations of the present disclosure are directed to a method, a system, and an article for binding computer languages. An example computer-implemented method includes: operating an application on at least one computer in a first computer language; operating a platform for the application on the at least one computer in a second computer language; binding the first computer language with the second computer language; and communicating between the application and the platform using the binding of the first computer language and the second computer language.

Claims (40)

1. A method, comprising:

communicating between an application on a first computer in a first computer language and the application on a second computer in a second computer language using a binding of the first computer language and the second computer language,

wherein communicating between the application on the first computer and the application on the second computer comprises:

executing a coroutine thread in one of the first and second computer languages; and

tracking the coroutine thread in another one of the first and second computer languages.

2. The method of claim 1 , wherein first computer comprises a server computer, and wherein the second computer comprises a client device.

3. The method of claim 1 , wherein the first computer is configured to operate a platform for the application in the first language, and wherein the second computer is configured to operate the platform for the application in the second language.

4. The method of claim 3 , wherein the platform on the first computer and the platform on the second computer are configured to facilitate communication between the application in the first language and the application in the second language.

5. The method of claim 3 , wherein the platform on the first computer is configured to provide support for the application in the first language, and wherein the platform on the second computer is configured to provide support for the application in the second language.

6. The method of claim 1 , wherein the first computer language comprises Lua, and wherein the second computer language comprises PHP.

7. The method of claim 1 , comprising:

binding the first computer language with the second computer language.

8. The method of claim 7 , wherein binding the first computer language with the second computer language comprises:

using the first computer language to extend the second computer language; and

using the second computer language to extend the first computer language.

9. The method of claim 1 , wherein tracking the coroutine thread in another one of the first and second computer languages comprises:

recording an address of the coroutine thread in a managed stack data structure.

10. A system, comprising:

one or more computer processors programmed to perform operations to:

communicate between an application on a first computer in a first computer language and the application on a second computer in a second computer language using a binding of the first computer language and the second computer language,

wherein to communicate between the application on the first computer and the application on the second computer the one or more computer processors are further programmed to:

execute a coroutine thread in one of the first and second computer languages; and

track the coroutine thread in another one of the first and second computer languages.

11. The system of claim 10 , wherein first computer comprises a server computer, and wherein the second computer comprises a client device.

12. The system of claim 10 , wherein the first computer is configured to operate a platform for the application in the first language, and wherein the second computer is configured to operate the platform for the application in the second language.

13. The system of claim 12 , wherein the platform on the first computer and the platform on the second computer are configured to facilitate communication between the application in the first language and the application in the second language.

14. The system of claim 12 , wherein the platform on the first computer is configured to provide support for the application in the first language, and wherein the platform on the second computer is configured to provide support for the application in the second language.

15. The system of claim 10 , wherein the first computer language comprises Lua, and wherein the second computer language comprises PHP.

16. The system of claim 10 , wherein the operations are further to:

bind the first computer language with the second computer language.

17. The system of claim 16 , wherein to bind the first computer language with the second computer language the one or more computer processors are further to:

use the first computer language to extend the second computer language; and

use the second computer language to extend the first computer language.

18. The system of claim 10 , wherein to track the coroutine thread in another one of the first and second computer languages the one or more computer processors are further to:

record an address of the coroutine thread in a managed stack data structure.

19. A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more computer processors, cause the one or more computer processors to:

communicate between an application on a first computer in a first computer language and the application on a second computer in a second computer language using a binding of the first computer language and the second computer language,

wherein to communicate between the application on the first computer and the application on the second computer the one or more computer processors are programmed to:

execute a coroutine thread in one of the first and second computer languages; and

track the coroutine thread in another one of the first and second computer languages.

Assignments (2)
NOTICE OF SECURITY INTEREST -- PATENTS Recorded Mar 19, 2019
From: MZ IP HOLDINGS, LLC
To: MGG INVESTMENT GROUP LP, AS COLLATERAL AGENT
Reel/Frame 048639/0751 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2018
From: O'CONNOR, JOHN; SPENCER, NATHAN; GILLESPIE, GARTH; ZHANG, YAN
To: MZ IP HOLDINGS, LLC
Reel/Frame 047869/0089 →
Continuity (3)
Continuation 15878875 · Jan 24, 2018
Provisional Application 62451240 · Jan 27, 2017
Related Publication 20190079813A1 · Mar 14, 2019