IP Library Granted Patent US 9,891,893
Granted Patent B2
US 9,891,893 · App. 15/085,486 · Granted Feb 13, 2018

System and method for a development environment for building services for a platform instance

Inventors: Douglas A. Standley (Boulder, CO); Matthew R. Dodge (San Francisco, CA); Randall E. Bye (Louisville, CO)
Assignee: n.io Innovation, LLC
G06F8/34G06F3/04842G06F9/445G06F9/4436G06F9/44505G06F9/485G06F9/5072G06F9/54
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,891,893
App. No.
15/085,486
Granted
Feb 13, 2018
Kind
B2
Abstract

An improved system and method are disclosed for creating a configuration for a platform instance using a development environment that has a graphical user interface (GUI). The method includes creating a service to be run by the platform instance and providing a graphical representation of a block library containing available blocks that are available for use by the service. Input is received via the GUI identifying at least some of the available blocks as selected blocks, where the selected blocks are to be run by the service. Input is received via the GUI arranging the selected blocks into an order of execution. The development environment generates and stores at least one configuration file containing the order of execution for use by the platform instance.

Claims (64)

1. A method for creating a configuration for a platform instance that is to be used on a digital device, the method comprising:

creating, within a development environment having a graphical user interface (GUI), a service to be run by the platform instance;

providing, via the GUI, a graphical representation of a block library containing a plurality of available blocks that are available for use by the service, wherein each available block contains first executable code that provides task specific functionality and second executable code that enables the block to function within the platform instance;

receiving, via the GUI, input identifying at least some of the available blocks as selected blocks, wherein the selected blocks are to be run by the service;

receiving, via the GUI, input arranging the selected blocks into an order of execution that defines which of the selected blocks are to receive output produced by others of the selected blocks when run by the service;

generating, by the development environment, at least one configuration file for use by the platform instance, wherein the configuration file includes information that represents the order of execution so that output produced by the selected blocks can be correctly directed to others of the selected blocks when the platform instance runs the service, and wherein generating the at least one configuration file includes generating a platform instance configuration file that identifies the service and any other services that are to be run by the platform instance, a service configuration file for the service and for each of the other services, and a block configuration file for the selected blocks and for any other blocks used by the other services; and

storing the platform instance configuration file, the service configuration file, and the block configuration file for use by the platform instance.

2. The method of claim 1 wherein the platform instance is configured to run the selected blocks in a decoupled manner within the service with each selected block having no awareness of the other selected blocks, and wherein the service configuration file is generated for configuring the service to direct the output of the selected blocks according to the order of execution.

3. The method of claim 1 wherein generating the service configuration file further includes identifying a service class in the service configuration file, wherein the service class is to be used by the platform instance to instantiate the service.

4. The method of claim 1 further comprising generating, by the development environment, the block configuration file as a unique block configuration file for each of the selected blocks.

5. The method of claim 4 wherein generating the unique block configuration file for each of the selected blocks further includes identifying one of a plurality of available block classes in each of the unique block configuration files, wherein the identified block class is to be used by the platform instance to instantiate the selected block corresponding to the unique block configuration file.

6. The method of claim 1 wherein the service configuration file is generated for configuring the service to configure each selected block that produces output for another selected block to direct the output to the other selected block.

7. The method of claim 1 wherein the block configuration file is generated for configuring each selected block that produces output for another selected block to direct the output to the other selected block.

8. The method of claim 1 further comprising:

receiving, via the GUI, input selecting a first block of the selected blocks, wherein the first block includes a plurality of configurable parameters;

receiving, via the GUI, at least one configuration value to assign to at least one of the configurable parameters, wherein the configuration value will be used when the first block is run within the platform instance;

generating, by the development environment, a block configuration file for the first block, wherein the block configuration file contains the configuration value; and

storing the block configuration file for use by the platform instance.

9. The method of claim 8 wherein generating the block configuration file further includes identifying a name of the service within the block configuration file.

10. The method of claim 8 wherein the configuration value defines a destination outside of the service for output produced by the first block.

11. The method of claim 1 wherein storing the platform instance configuration file, the service configuration file, and the block configuration file for use by the platform instance includes storing the platform instance configuration file, the service configuration file, and the block configuration file in a memory of a device containing the platform instance.

12. The method of claim 1 wherein storing the platform instance configuration file, the service configuration file, and the block configuration file for use by the platform instance includes storing the platform instance configuration file, the service configuration file, and the block configuration file in a memory for download by a device containing the platform instance.

13. The method of claim 1 further comprising loading the selected blocks into a memory accessible to the platform instance, wherein the available blocks that were not selected are not loaded into the memory.

14. The method of claim 1 further comprising providing, by the GUI, a user selectable actuator for deleting the service from the platform instance.

15. The method of claim 1 further comprising providing, by the GUI, a user selectable actuator for starting and stopping the service on the platform instance.

16. A method for creating a configuration for a platform instance that is to be used on a digital device, the method comprising:

creating, within a development environment having a graphical user interface (GUI), a service to be run by the platform instance;

providing, via the GUI, a graphical representation of a block library containing a plurality of available blocks that are available for use by the service, wherein each available block contains first executable code that provides task specific functionality and second executable code that enables the block to function within the platform instance;

receiving, via the GUI, input identifying at least some of the available blocks as selected blocks, wherein the selected blocks are to be run by the service;

receiving, via the GUI, input arranging the selected blocks into an order of execution that defines which of the selected blocks are to receive output produced by others of the selected blocks when run by the service;

generating, by the development environment, at least one configuration file for use by the platform instance, wherein the configuration file includes information that represents the order of execution so that output produced by the selected blocks can be correctly directed to others of the selected blocks when the platform instance runs the service, wherein the platform instance is configured to run the selected blocks in a decoupled manner within the service with each selected block having no awareness of the other selected blocks, and wherein generating the at least one configuration file includes generating a service configuration file for configuring the service to direct the output of the selected blocks according to the order of execution;

generating, by the development environment, a unique block configuration file for each of the selected blocks as part of generating the at least one configuration file, wherein generating the unique block configuration file for each of the selected blocks includes identifying one of a plurality of available block classes in each of the unique block configuration files, wherein the identified block class is to be used by the platform instance to instantiate the selected block corresponding to the unique block configuration file; and

storing the configuration file for use by the platform instance.

17. The method of claim 16 wherein generating the service configuration file further includes identifying a service class in the service configuration file, wherein the service class is to be used by the platform instance to instantiate the service.

18. The method of claim 16 further comprising:

receiving, via the GUI, input selecting a first block of the selected blocks, wherein the first block includes a plurality of configurable parameters;

receiving, via the GUI, at least one configuration value to assign to at least one of the configurable parameters, wherein the configuration value will be used when the first block is run within the platform instance;

generating, by the development environment, a block configuration file for the first block, wherein the block configuration file contains the configuration value; and

storing the block configuration file for use by the platform instance.

19. The method of claim 18 wherein generating the block configuration file further includes identifying a name of the service within the block configuration file.

20. The method of claim 18 wherein the configuration value defines a destination outside of the service for output produced by the first block.

21. The method of claim 16 wherein storing the at least one configuration file for use by the platform instance includes storing the at least one configuration file in a memory of a device containing the platform instance.

22. The method of claim 16 wherein storing the at least one configuration file for use by the platform instance includes storing the at least one configuration file in a memory for download by a device containing the platform instance.

23. The method of claim 16 further comprising loading the selected blocks into a memory accessible to the platform instance, wherein the available blocks that were not selected are not loaded into the memory.

24. The method of claim 16 further comprising providing, by the GUI, a user selectable actuator for deleting the service from the platform instance.

25. The method of claim 16 further comprising providing, by the GUI, a user selectable actuator for starting and stopping the service on the platform instance.

26. The method of claim 16 wherein generating the at least one configuration file includes generating a platform instance configuration file that identifies the service and any other services that are to be run by the platform instance.

27. A method for creating a configuration for a platform instance that is to be used on a digital device, the method comprising:

creating, within a development environment having a graphical user interface (GUI), a service to be run by the platform instance;

providing, via the GUI, a graphical representation of a block library containing a plurality of available blocks that are available for use by the service, wherein each available block contains first executable code that provides task specific functionality and second executable code that enables the block to function within the platform instance;

receiving, via the GUI, input identifying at least some of the available blocks as selected blocks, wherein the selected blocks are to be run by the service;

receiving, via the GUI, input arranging the selected blocks into an order of execution that defines which of the selected blocks are to receive output produced by others of the selected blocks when run by the service;

generating, by the development environment, at least one configuration file for use by the platform instance, wherein the configuration file includes information that represents the order of execution so that output produced by the selected blocks can be correctly directed to others of the selected blocks when the platform instance runs the service;

receiving, via the GUI, input selecting a first block of the selected blocks, wherein the first block includes a plurality of configurable parameters;

receiving, via the GUI, at least one configuration value to assign to at least one of the configurable parameters, wherein the configuration value will be used when the first block is run within the platform instance;

generating, by the development environment, a block configuration file for the first block, wherein the block configuration file contains the configuration value; and

storing the configuration file and the block configuration file for use by the platform instance.

28. The method of claim 27 wherein the platform instance is configured to run the selected blocks in a decoupled manner within the service with each selected block having no awareness of the other selected blocks, and wherein the configuration file is generated as a service configuration file for configuring the service to direct the output of the selected blocks according to the order of execution.

29. The method of claim 28 wherein generating the service configuration file further includes identifying a service class in the service configuration file, wherein the service class is to be used by the platform instance to instantiate the service.

30. The method of claim 27 wherein the configuration file is generated as a service configuration file for configuring the service to configure each selected block that produces output for another selected block to direct the output to the other selected block.

31. The method of claim 27 wherein the configuration file is generated for configuring each selected block that produces output for another selected block to direct the output to the other selected block.

32. The method of claim 27 wherein generating the block configuration file further includes identifying a name of the service within the block configuration file.

33. The method of claim 27 wherein the configuration value defines a destination outside of the service for output produced by the first block.

34. The method of claim 27 wherein generating the at least one configuration file includes generating a platform instance configuration file that identifies the service and any other services that are to be run by the platform instance and a service configuration file for the service and for each of the other services.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S ADDRESS AND INCORRECT PCT NUMBER IB166306 AND IB1730423 PREVIOUSLY RECORDED AT REEL: 043535 FRAME: 0744. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 15, 2018
From: SOCIETAL INNOVATIONS IPCO LIMITED
To: N.IO INNOVATION, LLC
Reel/Frame 045348/0743 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2017
From: SOCIETAL INNOVATIONS IPCO LIMITED
To: N.IO INNOVATION, LLC
Reel/Frame 043534/0744 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2016
From: STANDLEY, DOUGLAS A.; DODGE, MATTHEW R.; BYE, RANDALL E.
To: SOCIETAL INNOVATION NORTH AMERICA, INC.
Reel/Frame 038282/0630 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2016
From: SOCIETAL INNOVATION NORTH AMERICA, INC.
To: SOCIETAL INNOVATION TECHNOLOGIES LIMITED
Reel/Frame 038282/0748 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2016
From: SOCIETAL INNOVATION TECHNOLOGIES LIMITED
To: SOCIETAL INNOVATIONS IPCO LIMITED
Reel/Frame 038284/0540 →
Continuity (8)
Continuation In Part 14885629 · Oct 16, 2015
Continuation PCTIB2015001288 · May 21, 2015
Provisional Application 62001457 · May 21, 2014
Provisional Application 62028145 · Jul 23, 2014
Provisional Application 62041566 · Aug 25, 2014
Provisional Application 62137007 · Mar 23, 2015
Provisional Application 62141107 · Mar 31, 2015
Related Publication 20160283200A1 · Sep 29, 2016