IP Library Granted Patent US 9,552,275
Granted Patent B2
US 9,552,275 · App. 14/878,469 · Granted Jan 24, 2017

Mobile development platform in a cloud based architecture

Inventors: Shyamsundar Jayaraman (San Mateo, CA); Henele Litaka Adams (San Francisco, CA); Bryan Jay Klimt, Jr. (San Mateo, CA); Kevin David Lacker (Berkeley, CA); Charity Hope Majors (San Francisco, CA); David Eitan Poll (Mountain View, CA); Ilya Sukhar (San Francisco, CA); James Jacob Yu (San Francisco, CA)
Assignee: PARSE INC.
G06F11/3604G06F8/30G06F11/3688G06F21/51G06F21/53H04L63/08H04L67/1002
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 9,552,275
App. No.
14/878,469
Granted
Jan 24, 2017
Kind
B2
Abstract

Embodiments are directed towards mobile application development in a cloud-based architecture. Mobile applications may be designed to communicate with a cloud platform over a network. Mobile application developers may be enabled to submit cloud code to cloud platforms for use by mobile applications. If cloud code is provided to a cloud platform, the cloud platform may perform one or more actions to authenticate the cloud code, such as, ensuring that that the user providing the cloud code is authorized to provide the cloud code. If the cloud code is authenticated the cloud platform may perform one or more actions to validate the cloud code. If validated, the cloud code may be activated for use by mobile applications and/or mobile application developers. Activation of the cloud code may include associating the cloud code with one or more function calls and/or with one or more trigger points.

Claims (37)

1. A computer-implemented method comprising:

receiving, at a cloud platform device, a cloud code module from a client device;

identifying unsafe code in at least a portion of content of the cloud code module based upon at least one code pattern;

repairing, by the cloud platform device, the unsafe code;

associating the cloud code module with a function configured to execute the cloud code module after the unsafe code of the cloud code module has been successfully repaired, wherein subsequent communication from a mobile application includes a call to the function configured to execute the cloud code module; and

identifying at least one of a plurality of sandboxes to execute the cloud code module in the at least one identified sandbox when the function is called.

2. The computer-implemented method of claim 1 , wherein repairing the unsafe code further comprises replacing the unsafe code with safe code.

3. The computer-implemented method of claim 1 , wherein repairing the unsafe code further comprises inserting a fail safe condition into the unsafe code.

4. The computer-implemented method of claim 1 , wherein repairing the unsafe code further comprises overriding an unsafe function with a function comprising additional safety precautions.

5. The computer-implemented method of claim 1 , wherein repairing the unsafe code further comprises using built-in memory allocation limits when the programming language of the cloud code module allows for unbounded memory allocation.

6. The computer-implemented method of claim 1 , wherein repairing the unsafe code further comprises preventing buffers from being over written when the programming language of the cloud code module enables memory buffers to be overwritten.

7. The computer-implemented method of claim 1 , wherein executing the cloud code module in the at least one of a plurality of sandboxes comprises generating a result to be provided to a mobile application over a network.

8. A cloud platform device, comprising:

a memory that is operative to store at least instructions; and

a processor device communicatively coupled to the memory, the processor device operative to execute instructions to:

receive from a client device a cloud code module at the cloud platform device;

identify unsafe code in at least a portion of content of the cloud code module based upon at least one code pattern;

repair the unsafe code by the cloud platform device;

associate the cloud code module with a function configured to execute the cloud code module after the unsafe code of the cloud code module has been successfully repaired, wherein subsequent communication from a mobile application includes a call to the function configured to execute the cloud code module; and

identifying at least one of a plurality of sandboxes to execute the cloud code module in the at least one identified sandbox when the function is called.

9. The cloud platform device of claim 8 , wherein repairing the unsafe code further comprises replacing the unsafe code with safe code.

10. The cloud platform device of claim 8 , wherein repairing the unsafe code further comprises inserting a fail safe condition into the unsafe code.

11. The cloud platform device of claim 8 , wherein repairing the unsafe code further comprises overriding an unsafe function with a function comprising additional safety precautions.

12. The cloud platform device of claim 8 , wherein repairing the unsafe code further comprises using built-in memory allocation limits when the programming language of the cloud code module allows for unbounded memory allocation.

13. The cloud platform device of claim 8 , wherein repairing the unsafe code further comprises preventing buffers from being over written when the programming language of the cloud code module enables memory buffers to be overwritten.

14. The cloud platform device of claim 8 , the processor device operative to execute instructions to identify at least one of a plurality of sandboxes to execute the cloud code module in the at least one identified sandbox when the function is called.

15. A non-transitory computer-readable storage medium having instructions stored therein that, when executed by a hardware processor, cause a system to:

receive a cloud code module at the cloud platform device from a client device;

identify unsafe code in at least a portion of content of the cloud code module based upon at least one code pattern;

repair the unsafe code by the cloud platform device;

associate the cloud code module with a function configured to execute the cloud code module after the unsafe code of the cloud code module has been successfully repaired, wherein subsequent communication from a mobile application includes a call to the function configured to execute the cloud code module; and

identify at least one of a plurality of sandboxes to execute the cloud code module in the at least one identified sandbox when the function is called.

16. The medium of claim 15 , wherein repairing the unsafe code further comprises replacing the unsafe code with safe code.

17. The medium of claim 15 , wherein repairing the unsafe code further comprises inserting a fail safe condition into the unsafe code.

18. The medium of claim 15 , wherein repairing the unsafe code further comprises overriding an unsafe function with a function comprising additional safety precautions.

19. The medium of claim 15 , wherein repairing the unsafe code further comprises using built-in memory allocation limits when the programming language of the cloud code module allows for unbounded memory allocation.

20. The medium of claim 15 , wherein repairing the unsafe code further comprises preventing buffers from being over written when the programming language of the cloud code module enables memory buffers to be overwritten.

Assignments (6)
CHANGE OF NAME Recorded May 5, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 059858/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2021
From: PARSE, LLC
To: FACEBOOK, INC.; RHODIUM ACQUISITION SUB I, INC.
Reel/Frame 055995/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2021
From: RHODIUM ACQUISITION SUB I, LLC
To: FACEBOOK, INC.
Reel/Frame 055995/0651 →
CHANGE OF NAME Recorded Apr 21, 2021
From: RHODIUM ACQUISITION SUB I, INC.
To: RHODIUM ACQUISITION SUB I, LLC
Reel/Frame 055998/0829 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2021
From: LACKER, KEVIN DAVID; JAYARAMAN, SHYAMSUNDAR; KLIMT, BRYAN JAY, JR; POLL, DAVID EITAN; YU, JAMES JACOB; ADAMS, HENELE IITAKA; SUKHAR, ILYA; MAJORS, CHARITY HOPE
To: PARSE, INC.
Reel/Frame 055114/0604 →
MERGER AND CHANGE OF NAME Recorded Dec 9, 2020
From: PARSE, INC.; PLUTO ACQUISITION SUB II, LLC
To: PARSE, LLC
Reel/Frame 054595/0613 →
Continuity (2)
Continuation 14268560 · May 2, 2014
Related Publication 20160062741A1 · Mar 3, 2016