IP Library Granted Patent US 9,104,651
Granted Patent B1
US 9,104,651 · App. 13/183,898 · Granted Aug 11, 2015

Techniques for distributing tests and test suites across a network

Inventors: Philip White (San Mateo, CA); Michael McLaughlin (San Mateo, CA)
Assignee: Scale Computing, Inc.
G06F11/2294
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,104,651
App. No.
13/183,898
Granted
Aug 11, 2015
Kind
B1
Abstract

Reliably testing distributed systems in which multiple components interact, including: provisioning resources by a test leader, directing components to perform actions required by test suites, and reporting results. Provisioning resources might be batched in advance, and might overlap resources for multiple test suites. Provisioning and directing might occur on an as-needed basis, might be performed concurrently, and might be reordered for relatively better performance. Directing actions might occur on command by test leaders, might occur by synchronization of resources, or might occur by resources requesting permission to proceed. Resources might act only upon direction by test leaders, or might act on their own initiative when synchronized. Results might be reported to the test leader for comparison, maintained in a database for access by the test leader, or compared by resources on their own initiative in response to instructions from the test leader.

Claims (97)

1. A method, including steps of

at one or more test leaders in a distributed computing system, said test leaders provisioning resources for one or more test suites, wherein said test suites compete for said resources to be provisioned by said test leaders in said distributed computing system;

at said test leaders, directing said resources to perform operations according to those test suites, said operations according to those test suites including one or more operations of communicating using said distributed computing system, and said operations at least potentially interfering when performed concurrently;

at said test leaders, accessing one or more results from said operations;

comparing results from said operations with one or more results indicated by said test suites;

at said test leaders, accessing results from said operations;

including steps of sending messages from said resources to said test leaders;

wherein said steps of comparing are performed at said test leaders.

2. A method as in claim 1 ,

including steps, at resources of sending messages to said test leaders on their own initiative, providing results to said test leaders when said results are available.

3. A method, as in claim 1 ,

including steps, at said test leaders, of sending messages to said resources directing them to provide results to said test leaders.

4. A method, as in claim 1 ,

including steps of sending messages from said resources to said test leaders; and

wherein said steps of comparing are performed at said test leaders.

5. A method as in claim 1 , wherein,

said operations are performed in relative time proximity, said relative time proximity being substantially within a time to send messages amount said resources.

6. A method as in claim 1 , wherein,

said steps of directing said resources to perform operations include steps of distributing information interpretable as indicating said operations before said operations are to be performed;

at said resources, interpreting said distributed information; and

at said resources, performing said operations at times said test suites indicate they are to be performed.

7. A method as in claim 1 , wherein

said steps of directing said resources to perform operations include steps of

sending messages to said resources substantially at times when said operations are to be performed.

8. A method as in claim 1 , wherein

said steps of directing said resources to perform operations include steps of

synchronizing said resources with said test leader; and

sending one or more messages to said resources substantially before said operations are to be performed.

9. A method as in claim 8 , wherein

said steps of synchronizing include steps of

at said resources, sending ore or more messages to said test leaders indicating that said operations are about to be performed;

at said test leaders, responding to said messages to said test leaders.

10. A method as in claim 1 , wherein

said steps of provisioning and directing include steps of

provisioning said resources for a portion of said test suites, and directing said resources to perform a perform a portion of said operations; and

repeating said steps of provisioning and directing portions, until substantially all of said test suites are substantially completed.

11. A method as in claim 1 , wherein

said steps of provisioning and directing include steps of

provisioning said resources and directing said resources for a plurality of test suites to be performed substantially concurrently.

12. A method as in claim 1 , wherein

said steps of provisioning resources include steps of

ordering said steps of provisioning in response to a measure of performance of said test suites.

13. A method as in claim 1 , wherein

said steps of provisioning resources include steps of

provisioning said resources in response to a plurality of test suites, wherein said resources overlap within said plurality of test suites;

wherein said steps of provisioning are performed substantially before directing any said resources to perform operations.

14. A method as in claim 1 , wherein said test suites include information indicating

one or more resources to be used in conjunction with said test suites;

one or more operations to be performed in conjunction with said test suites;

one or more tags distinguishing types of said test suites.

15. A method as in claim 14 , wherein

said resources include one or more of:

data structures, processors, storage devices;

said data structures including one or more of: databases, locks, shared directories, test results.

16. A physical medium including information accessible by a computing device

said information being interpretable by said computing device as a set of instructions directing an element to

at one or more test leaders in a distributed operating system, disposing said test leaders to provision resources for one or more test suites, wherein said test suites compete for said resources to be provisioned by said test leaders in said distributed computing system;

at said test leaders, directing said resources to perform operations according to those test suites, said operations according to those test suites including one or more operations of communicating using said distributed computing system, and said operations at least potentially interfering when performed concurrently;

at said test leaders, access one or more results from said operations;

at said resources, send messages to said test leaders on their own initiative, providing results to said test leaders at times when said results are available;

send messages from said resources to said test leaders,

wherein said instructions to compare results are performed at said test leaders.

17. A physical medium as in claim 16 , wherein

said information interpretable as a set of instructions includes information interpretable as instructions to

compare results from said operations with one or more results indicated by said test suites; and

at said test leaders, access results from said operations.

18. A physical medium as in claim 17 , including instructions to

at said test leaders, send messages to said resources directing them to provide results to said test leaders.

19. A physical medium as in claim 16 , wherein

said instructions to direct said resources to perform operations include instructions to

send messages to said resources substantially at times when said operations are to be performed.

20. A physical medium as in claim 16 , wherein

said instructions to direct said resources to perform operations include instructions to

synchronize said resources with one or more test leaders; and

send one or more messages to said resources substantially at times when said operations are to be performed.

21. A physical medium as in claim 16 , wherein

said instructions to direct said resources to perform operations include instructions to

synchronize said resources with one or more test leaders; and

send one or more messages to said resources substantially before said operations are to be performed.

22. A physical medium as in claim 21 , wherein

said instructions to synchronize include instructions to

at said resources, send one or more messages to said test leaders indicating that said operations are about to be performed;

at said test leaders, respond to said messages to said test leaders.

23. A physical medium as in claim 16 , wherein

said instructions to provision and direct include instructions to

provision said resources for a portion of said test suites, and direct said resources to perform a portion of said operations; and

repeat said instruction to provision and direct portions, until substantially all of said test suites are substantially completed.

24. A physical medium as in claim 16 , wherein

said instructions to provision and direct include instructions to

provision said resources and direct said resources for a plurality of test suites to be performed substantially concurrently.

25. A physical medium as in claim 16 , wherein

said instructions to provision resources include instructions to

order said instructions to provision in response to a measure of performance of said test suites.

26. A physical medium as in claim 16 , wherein

said instructions to provision resources include instructions to

provision said resources in response to a plurality of test suites, wherein said resources overlap within said plurality of test suites; and

wherein said instructions to provision are performed substantially before directing any said resources to perform operations.

Assignments (18)
SECURITY INTEREST Recorded Jan 29, 2026
From: SCALE COMPUTING, LLC
To: TORONTO DOMINION (TEXAS) LLC
Reel/Frame 073633/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2025
From: SCALE COMPUTING, LLC
To: SCALE COMPUTING, INC.
Reel/Frame 072864/0595 →
CHANGE OF NAME Recorded Aug 28, 2025
From: ACUMERA SCALE, LLC
To: SCALE COMPUTING, LLC
Reel/Frame 072699/0326 →
MERGER Recorded Aug 15, 2025
From: SCALE COMPUTING, INC.
To: ACUMERA SCALE, LLC
Reel/Frame 072034/0883 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2025
From: BANC OF CALIFORNIA (FORMERLY KNOWN AS PACIFIC WESTERN BANK)
To: SCALE COMPUTING, INC.
Reel/Frame 071898/0667 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2025
From: MS PRIVATE CREDIT ADMINISTRATIVE SERVICES LLC AS AGENT
To: SCALE COMPUTING, INC.
Reel/Frame 071901/0365 →
RELEASE OF SECURITY INTEREST Recorded Feb 6, 2023
From: AVENUE VENTURE OPPORTUNITIES FUND, L.P.
To: SCALE COMPUTING, INC.
Reel/Frame 062603/0565 →
SECURITY INTEREST Recorded Feb 3, 2023
From: SCALE COMPUTING, INC.
To: NORTH HAVEN EXPANSION CREDIT II LP
Reel/Frame 062586/0059 →
SECURITY INTEREST Recorded Feb 9, 2021
From: HORIZON GLOBAL AMERICAS INC.; C.P. WITTER LIMITED; WESTFALIA-AUTOMOTIVE GMBH
To: ATLANTIC PARK STRATEGIC CAPITAL FUND, L.P., AS COLLATERAL AGENT
Reel/Frame 055262/0949 →
SECURITY INTEREST Recorded Dec 11, 2020
From: SCALE COMPUTING, INC.
To: AVENUE VENTURE OPPORTUNITIES FUND, L.P.
Reel/Frame 054619/0825 →
RELEASE OF SECURITY INTEREST Recorded Dec 11, 2020
From: RUNWAY GROWTH CREDIT FUND INC.
To: SCALE COMPUTING, INC.
Reel/Frame 054619/0802 →
RELEASE OF SECURITY INTEREST Recorded Dec 10, 2020
From: RUNWAY GROWTH CREDIT FUND INC., AS AGENT
To: SCALE COMPUTING, INC.
Reel/Frame 054611/0589 →
RELEASE OF SECURITY INTEREST Recorded Mar 29, 2019
From: BET ASSOCIATES III, LLC
To: SCALE COMPUTING, INC.
Reel/Frame 048747/0302 →
SECURITY INTEREST Recorded Mar 29, 2019
From: SCALE COMPUTING, INC.
To: RUNWAY GROWTH CREDIT FUND INC.
Reel/Frame 048745/0653 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2017
From: PACIFIC WESTERN BANK
To: SCALE COMPUTING, INC.
Reel/Frame 043572/0750 →
SECURITY AGREEMENT Recorded Sep 12, 2017
From: SCALE COMPUTING, INC.
To: BET ASSOCIATES III, LLC
Reel/Frame 043820/0802 →
SECURITY INTEREST Recorded Jan 18, 2017
From: SCALE COMPUTING, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 041003/0765 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2011
From: WHITE, PHILIP; MCLAUGHLIN, MICHAEL
To: SCALE COMPUTING
Reel/Frame 026967/0289 →