IP Library › Granted Patent US 12,461,736
Granted Patent B2
US 12,461,736 · App. 18/116,200 · Granted Nov 4, 2025

Software deployment among different computing platforms

Inventors: Jeffrey Alan Sikkink (Longmont, CO); Michael Glen Lotz (Longmont, CO); Matthew Kellerman (Boulder, CO); Marquis G. Waller (Beverly, OH)
Assignee: Ricoh Company, Ltd.
G06F8/65G06F9/5077G06Q30/0283
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 12,461,736
App. No.
18/116,200
Granted
Nov 4, 2025
Kind
B2
Abstract

System, method, and software for software deployment. In an embodiment, a software deployment supervisor receives deployment parameters from an entity regarding deployment of software, identifies resource information for resources on a plurality of computing platforms to host the software, select a host computing platform based on the deployment parameters and the resource information, and deploy the software on the host computing platform. The software deployment supervisor implements a redeployment process by iteratively performing: monitoring the resource information to identify updated resource information for one or more of the resources, identifying downtime of the software, reselecting the host computing platform from the plurality of computing platforms based on the deployment parameters and the updated resource information, and redeploying the software on the host computing platform during the downtime of the software.

Claims (72)

1 . An apparatus, comprising:

at least one processor and memory;

the at least one processor is configured to cause the apparatus at least to:

receive deployment parameters from an entity regarding deployment of software;

identify resource information for resources on a plurality of computing platforms to host the software;

select a host computing platform from the plurality of computing platforms based on the deployment parameters and the resource information;

deploy the software on the host computing platform; and

implement a redeployment process by iteratively performing:

monitoring the resource information to identify updated resource information for one or more of the resources on the plurality of computing platforms;

identifying downtime of the software deployed on the host computing platform;

reselecting the host computing platform from the plurality of computing platforms based on the deployment parameters and the updated resource information; and

redeploying the software on the host computing platform during the downtime of the software when the host computing platform reselected based on the updated resource information differs from the host computing platform where the software is presently deployed.

2 . The apparatus of claim 1 , wherein:

the updated resource information comprises updated pricing for one or more of the resources on the plurality of computing platforms; and

reselecting the host computing platform comprises reselecting the host computing platform from the plurality of computing platforms based on the updated pricing.

3 . The apparatus of claim 2 , wherein the at least one processor is configured to further cause the apparatus at least to:

query at least one of the plurality of computing platforms to obtain the updated pricing.

4 . The apparatus of claim 3 , wherein the at least one processor is configured to further cause the apparatus at least to:

query the at least one of the plurality of computing platforms with a bid for spot pricing.

5 . The apparatus of claim 3 , wherein the at least one processor is configured to further cause the apparatus at least to:

query the at least one of the plurality of computing platforms for on-demand pricing.

6 . The apparatus of claim 3 , wherein the at least one processor is configured to further cause the apparatus at least to:

query the at least one of the plurality of computing platforms through an Application Programming Interface (API) to obtain the updated pricing.

7 . The apparatus of claim 1 , wherein the at least one processor is configured to further cause the apparatus at least to:

implement the redeployment process by further performing:

receiving updated deployment parameters from the entity; and

reselecting the host computing platform from the plurality of computing platforms based on the updated deployment parameters and the updated resource information.

8 . The apparatus of claim 1 , wherein:

the plurality of computing platforms includes multiple cloud computing platforms provided by different cloud service providers.

9 . The apparatus of claim 8 , wherein:

the plurality of computing platforms includes an on-premise computing platform.

10 . A cloud computing platform comprising the apparatus of claim 1 .

11 . A method of deploying software, the method comprising:

receiving deployment parameters from an entity regarding deployment of the software;

identifying resource information for resources on a plurality of computing platforms to host the software;

selecting a host computing platform from the plurality of computing platforms based on the deployment parameters and the resource information;

deploying the software on the host computing platform; and

implementing a redeployment process by iteratively performing:

monitoring the resource information to identify updated resource information for one or more of the resources on the plurality of computing platforms;

identifying downtime of the software deployed on the host computing platform;

reselecting the host computing platform from the plurality of computing platforms based on the deployment parameters and the updated resource information; and

redeploying the software on the host computing platform during the downtime of the software when the host computing platform reselected based on the updated resource information differs from the host computing platform where the software is presently deployed.

12 . The method of claim 11 , wherein:

the updated resource information comprises updated pricing for one or more of the resources on the plurality of computing platforms; and

reselecting the host computing platform comprises reselecting the host computing platform from the plurality of computing platforms based on the updated pricing.

13 . The method of claim 12 , wherein monitoring the resource information comprises:

querying at least one of the plurality of computing platforms to obtain the updated pricing.

14 . The method of claim 13 , wherein querying the at least one of the plurality of computing platforms comprises:

querying the at least one of the plurality of computing platforms with a bid for spot pricing.

15 . The method of claim 13 , wherein querying the at least one of the plurality of computing platforms comprises:

querying the at least one of the plurality of computing platforms for on-demand pricing.

16 . The method of claim 13 , wherein querying the at least one of the plurality of computing platforms comprises:

query the at least one of the plurality of computing platforms through an Application Programming Interface (API) to obtain the updated pricing.

17 . The method of claim 11 , wherein implementing the redeployment process further comprises:

receiving updated deployment parameters from the entity; and

reselecting the host computing platform from the plurality of computing platforms based on the updated deployment parameters and the updated resource information.

18 . A non-transitory computer readable medium embodying programmed instructions executed by a processor, wherein the instructions direct the processor to implement a method of deploying software, the method comprising:

receiving deployment parameters from an entity regarding deployment of the software;

identifying resource information for resources on a plurality of computing platforms to host the software;

selecting a host computing platform from the plurality of computing platforms based on the deployment parameters and the resource information;

deploying the software on the host computing platform; and

implementing a redeployment process by iteratively performing:

monitoring the resource information to identify updated resource information for one or more of the resources on the plurality of computing platforms;

identifying downtime of the software deployed on the host computing platform;

reselecting the host computing platform from the plurality of computing platforms based on the deployment parameters and the updated resource information; and

redeploying the software on the host computing platform during the downtime of the software when the host computing platform reselected based on the updated resource information differs from the host computing platform where the software is presently deployed.

19 . The computer readable medium of claim 18 , wherein:

the updated resource information comprises updated pricing for one or more of the resources on the plurality of computing platforms; and

reselecting the host computing platform comprises reselecting the host computing platform from the plurality of computing platforms based on the updated pricing.

20 . The computer readable medium of claim 18 , wherein implementing the redeployment process further comprises:

receiving updated deployment parameters from the entity; and

reselecting the host computing platform from the plurality of computing platforms based on the updated deployment parameters and the updated resource information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2023
From: SIKKINK, JEFFREY ALAN; LOTZ, MICHAEL GLEN; KELLERMAN, MATTHEW; WALLER, MARQUIS G.
To: RICOH COMPANY, LTD
Reel/Frame 062847/0677 →
Continuity (1)
Related Publication 20240296036A1 · Sep 5, 2024
References Cited (10)
US 11269596B2 · Appel et al. · 2022 [cited by applicant]
US 20030018950A1 · Sparks · 2003 [cited by examiner]
US 20090132801A1 · White · 2009 [cited by examiner]
US 20100146481A1 · Binder · 2010 [cited by examiner]
US 20140359578A1 · Jesse · 2014 [cited by examiner]
US 20200401379A1 · Appel · 2020 [cited by examiner]
CN 111158655A · 2020 [cited by applicant]
CN 112783771A · 2021 [cited by applicant]
CN 113360379A · 2021 [cited by applicant]
CN 114780397A · 2022 [cited by applicant]