IP Library Granted Patent US 10,313,433
Granted Patent B2
US 10,313,433 · App. 14/165,261 · Granted Jun 4, 2019

Method and system for registering software systems and data-sharing sessions

Inventors: Stephen Paul Owens (Caledon, CA); Michael Lorne Monteith (Toronto, CA)
Assignee: THOUGHTWIRE HOLDINGS CORP.
H04L67/1095H04L67/141H04L67/322H04L41/5064
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,313,433
App. No.
14/165,261
Granted
Jun 4, 2019
Kind
B2
Abstract

A method for registering software systems in data-sharing sessions is provided. A set of data-sharing session definitions are stored in storage of a computer system, each of said data-sharing session definitions identifying a set of software system types permitted to participate in data-sharing sessions governed by the data-sharing session definition. A participant registration request is received from a first software system. A priority value is determined, via the computer system for the participant registration request, for each of a first subset of the data-sharing session definitions. The first software system is registered in one of the data-sharing sessions governed by one of the data-sharing session definitions selected at least partially based on the priority values.

Claims (69)

1. A method for registering software systems in data-sharing sessions based on data-sharing session definitions, each data-sharing session definition having a priority value assigned thereto to create a prioritized data-sharing session definition, each prioritized data-sharing session definition defining a data-sharing session in which multiple independent software systems share data values for semantically-identified data items and request data items that they need based on the semantics of the data items, wherein the prioritized data-sharing session definition with the highest priority value has the highest priority, and relative values of the priority values specify the relative priorities of said prioritized data-sharing session definitions, the method comprising:

storing, in storage of a computer system, a set of said prioritized data-sharing session definitions, each of said prioritized data-sharing session definitions identifying a set of software system types permitted to participate in data-sharing sessions governed by said prioritized data-sharing session definition;

receiving a participant registration request from a first software system;

upon receiving said participant registration request, determining a priority value for each of a first subset of said prioritized data-sharing session definitions, and then identifying a selected prioritized data-sharing session definition in said first subset having the highest priority according to the priority value of said selected prioritized data-sharing session definition that was determined upon receiving said participant registration request; and

in response to said identification of said selected sharing session definition, registering said first software system in one of said data-sharing sessions corresponding to said selected prioritized data-sharing session definition.

2. The method of claim 1 , wherein said first subset of said prioritized data-sharing session definitions corresponds to said prioritized data-sharing session definitions identifying one of said software system types corresponding to said first software system.

3. The method of claim 2 , wherein said computer system limits participation in each said data-sharing session to one of each said software system type identified in said prioritized data-sharing session definition governing said data-sharing session, and further comprising, prior to said registering:

creating a new one of said data-sharing sessions governed by said one selected prioritized data-sharing session definition if there is an absence of said data-sharing sessions governed by said one selected prioritized data-sharing session definition in which said first software system can be registered.

4. The method of claim 1 , wherein said determining comprises:

retrieving said priority values associated with said first software system.

5. The method of claim 4 , wherein said priority values are also associated with a user role.

6. The method of claim 4 , wherein said priority values are also associated with a time period.

7. The method of claim 4 , wherein said priority values are also associated with a user.

8. The method of claim 3 , wherein said determining comprises:

identifying a second subset of said first subset of said prioritized data-sharing session definitions associated with said data-sharing sessions having capacity for said first software system; and

increasing at least some of said priority values for said second subset.

9. The method of claim 4 , wherein said determining comprises:

identifying a third subset of said first subset of said prioritized data-sharing session definitions associated with said data-sharing sessions in which other software systems of said software system type of said first software system are registered; and

decreasing at least some of said priority values in said third subset.

10. The method of claim 4 , wherein said determining comprises:

identifying a fourth subset of said first subset of said prioritized data-sharing session definitions associated with said data-sharing sessions having capacity for said first software system and in which at least one other software system of a key software system type is registered; and

increasing at least some of said priority values for said second subset.

11. The method of claim 4 , wherein said determining comprises:

identifying a fifth subset of said first subset of said prioritized data-sharing session definitions associated with said data-sharing sessions having capacity for said first software system and in which key indicator data has been shared by another software system; and

increasing at least some of said priority values for said second subset.

12. The method of claim 2 , wherein said first software system is associated with a first user, and wherein said determining comprises:

determining which of said prioritized data-sharing session definitions govern each of said data-sharing sessions associated with a group of other users in which other software systems of said one software system type are registered in; and

adjusting said priority values for said prioritized data-sharing session definitions for said data-sharing sessions in which said other software systems are registered in.

13. The method of claim 1 , further comprising:

launching a second software system identified in said one prioritized data-sharing session definition as permitted to participate in said data-sharing sessions governed by said one prioritized data-sharing session definition.

14. The method of claim 13 , wherein said first software system is executed by a personal computing device and said launching of said second software system occurs on said personal computing device.

15. The method of claim 1 , wherein said determining comprises: calculating said priority values using a formula.

16. The method of claim 15 , wherein heuristic data is an input in said formula.

17. The method of claim 16 , wherein said heuristic data includes identifiers of said prioritized data-sharing session definitions used to create said data-sharing sessions that were most recently created.

18. The method of claim 16 , wherein said heuristic data includes identifiers of said prioritized data-sharing session definitions used to create said data-sharing sessions that were earliest created.

19. The method of claim 16 , wherein said heuristic data includes identifiers of said prioritized data-sharing session definitions used to create said data-sharing sessions in which the most recent data-sharing activity occurred.

20. The method of claim 16 , wherein said heuristic data includes identifiers of said prioritized data-sharing session definitions most often used to create said data-sharing sessions across a group of users.

21. The method of claim 16 , wherein said heuristic data includes identifiers of said prioritized data-sharing session definitions used to create said data-sharing sessions successfully used to complete tasks.

22. A method for registering software systems in data-sharing sessions based on data-sharing session definitions, each data-sharing session having a priority value assigned thereto to create a prioritized data-sharing session definition, each prioritized data-sharing session definition defining a data-sharing session in which multiple independent software systems share data values for semantically-identified data items and request data items that they need based on the semantics of the data items, the method comprising;

storing, in storage of a computer system, a set of prioritized data-sharing session definitions, each of said prioritized data-sharing session definitions identifying a set of software system types permitted to participate in data-sharing sessions governed by said prioritized data-sharing session definition;

receiving a participant registration request from a software system;

determining, via said computer system for said participant registration request, a priority value for each of a first subset of said prioritized data-sharing session definitions, relative values of the priority values specifying the relative priorities of said prioritized data-sharing session definitions, wherein the prioritized data-sharing session definition with the highest priority value has the highest priority;

presenting a list of said first subset of said prioritized data-sharing session definitions ordered using said priority values; and

registering said software system in a data-sharing session governed by one of said prioritized data-sharing session definitions selected by a user from said list.

23. The method of claim 22 , wherein said first subset of said prioritized data-sharing session definitions corresponds to said prioritized data-sharing session definitions identifying one of said software system types corresponding to said first software system.

24. The method of claim 23 , further comprising:

recording said one prioritized data-sharing session definition selected by said user; and

increasing said priority value for said one prioritized data-sharing session definition when subsequently determining said priority value for said one prioritized data-sharing session definition.

25. A computer system for registering software systems in data-sharing sessions based on data-sharing session definitions, each data-sharing session having a priority value assigned thereto to create a prioritized data-sharing session definition, each prioritized data-sharing session definition defining a data-sharing session in which multiple independent software systems share data values for semantically-identified data items and request data items that they need based on the semantics of the data items, the system comprising:

a processor;

storage storing a set of prioritized data-sharing session definitions, each of said prioritized data-sharing session definitions identifying a set of software system types permitted to participate in data-sharing sessions governed by said prioritized data-sharing session definition; and

a server executed by said processor and receiving a participant registration request from a first software system, determining, for said participant registration request, a priority value for each of a first subset of said prioritized data-sharing session definitions, relative values of the priority values specifying the relative priorities of said prioritized data-sharing session definitions, wherein the prioritized data-sharing session definition with the highest priority value has the highest priority, and registering said first software system in one of said data-sharing sessions governed by one of said prioritized data-sharing session definitions based on said selected one of said prioritized data-sharing session definitions having the highest priority according to said priority values.

26. The computer system of claim 25 , wherein said first subset of said prioritized data-sharing session definitions corresponds to said prioritized data-sharing session definitions identifying one of said software system types corresponding to said first software system.

27. The computer system of claim 26 , wherein said server limits participation in each said data-sharing session to one of each said software system type identified in said prioritized data-sharing session definition governing said data-sharing session, and prior to said registering, said server creates a new one of said data-sharing sessions governed by said one selected prioritized data-sharing session definition if there is an absence of said data-sharing sessions governed by said one selected prioritized data-sharing session definition in which said first software system can be registered.

28. The computer system of claim 25 , wherein said server retrieves said priority values associated with said first software system.

29. The computer system of claim 28 , wherein said priority values are also associated with a user role.

30. The computer system of claim 28 , wherein said priority values are also associated with a time period.

31. The computer system of claim 28 , wherein said priority values are also associated with a user.

32. The computer system of claim 27 , wherein said server identifies a second subset of said first subset of said prioritized data-sharing session definitions associated with said data-sharing sessions having capacity for said first software system, and increases at least some of said priority values for said second subset.

33. The computer system of claim 27 , wherein said server identifies a third system type of said first software system are registered, and decreases at least some of said priority values in said third subset.

34. The computer system of claim 26 , wherein said first software system is associated with a first user, and wherein said server determines which of said prioritized data-sharing session definitions govern each of said data-sharing sessions associated with a group of other users in which other software systems of said one software system type are registered in, and adjusts said priority values for said prioritized data-sharing session definitions for said data-sharing sessions in which said other software systems are registered in.

35. The computer system of claim 25 , wherein said server launches a second software system identified in said one prioritized data-sharing session definition as permitted to participate in said data-sharing sessions governed by said one prioritized data-sharing session definition.

36. A computer system for registering software systems in data-sharing sessions based on data-sharing session definitions, each data-sharing session having a priority value assigned thereto to create a prioritized data-sharing session definition, each prioritized data-sharing session definition defining a data-sharing session in which multiple independent software systems share data values for semantically-identified data items and request data items that they need based on the semantics of the data items, the system comprising:

a processor;

storage storing a set of prioritized data-sharing session definitions, each of said prioritized data-sharing session definitions identifying a set of software system types permitted to participate in data-sharing sessions governed by said prioritized data-sharing session definition; and

a server executed by said processor and receiving a participant registration request from a software system, determining, for said participant registration request, a priority value for each of a first subset of said prioritized data-sharing session definitions, presenting a list of said first subset of said prioritized data-sharing session definitions ordered using said priority values, and registering said software system in a data-sharing session governed by one of said prioritized data-sharing session definitions selected by a user from said list,

wherein relative values of the priority values specify the relative priorities of said prioritized data-sharing session definitions, wherein the prioritized data-sharing session definition with the highest priority value has the highest priority.

37. The computer system of claim 36 , wherein said first subset of said prioritized data-sharing session definitions corresponds to said prioritized data-sharing session definitions identifying one of said software system types corresponding to said first software system.

38. The computer system of claim 37 , wherein said server records said one prioritized data-sharing session definition selected by said user, and increases said priority value for said one prioritized data-sharing session definition when subsequently determining said priority value for said one prioritized data-sharing session definition.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Jul 16, 2018
From: BDC CAPITAL INC.
To: THOUGHTWIRE HOLDINGS CORP.
Reel/Frame 046355/0948 →
SECURITY INTEREST Recorded Apr 18, 2018
From: THOUGHTWIRE HOLDINGS CORP.
To: COMERICA BANK
Reel/Frame 045579/0665 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET IN WHICH THE NAME OF THE SECOND ASSIGNOR WAS INADVERTENTLY OMITTED PREVIOUSLY RECORDED ON REEL 032436 FRAME 0503. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNORS INTEREST. Recorded Mar 20, 2014
From: OWENS, STEPHEN PAUL; MONTEITH, MICHAEL LORNE
To: THOUGHTWIRE HOLDINGS CORP.
Reel/Frame 032488/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2014
From: OWENS, STEPHEN PAUL
To: THOUGHTWIRE HOLDINGS CORP.
Reel/Frame 032436/0503 →
Continuity (3)
Continuation In Part 13804168 · Mar 14, 2013
Continuation In Part 13967643 · Aug 15, 2013
Related Publication 20140280845A1 · Sep 18, 2014