# US 10,313,433 B2 · Method and system for registering software systems and data-sharing sessions

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,313,433 B2
- Document ID: US10313433B2
- Status: Granted
- Kind: B2
- Application number: 14/165,261
- Filed: 2014-01-27
- Published: 2014-09-18
- Granted: 2019-06-04
- Earliest claimed: 2013-03-14
- Assignees: Thoughtwire Holdings Corp.
- Applicants: ThoughtWire Holdings Corp.
- Inventors: Stephen Paul Owens; Michael Lorne Monteith
- Web page: https://patentgrep.com/patent/US10313433B2

## CPC

- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- H04L 67/61: taking into account QoS or priority requirements
- H04L 41/5064: {Customer relationship management}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 2)

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.

### Claim 4 (depends on 1)

The method of claim 1, wherein said determining comprises:
retrieving said priority values associated with said first software system.

### Claim 5 (depends on 4)

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

### Claim 6 (depends on 4)

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

### Claim 7 (depends on 4)

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

### Claim 8 (depends on 3)

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.

### Claim 9 (depends on 4)

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.

### Claim 10 (depends on 4)

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.

### Claim 11 (depends on 4)

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.

### Claim 12 (depends on 2)

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.

### Claim 13 (depends on 1)

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.

### Claim 14 (depends on 13)

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.

### Claim 15 (depends on 1)

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

### Claim 16 (depends on 15)

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

### Claim 17 (depends on 16)

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.

### Claim 18 (depends on 16)

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.

### Claim 19 (depends on 16)

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.

### Claim 20 (depends on 16)

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.

### Claim 21 (depends on 16)

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.

### Claim 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.

### Claim 23 (depends on 22)

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.

### Claim 24 (depends on 23)

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.

### Claim 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.

### Claim 26 (depends on 25)

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.

### Claim 27 (depends on 26)

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.

### Claim 28 (depends on 25)

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

### Claim 29 (depends on 28)

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

### Claim 30 (depends on 28)

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

### Claim 31 (depends on 28)

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

### Claim 32 (depends on 27)

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.

### Claim 33 (depends on 27)

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.

### Claim 34 (depends on 26)

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.

### Claim 35 (depends on 25)

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.

### Claim 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.

### Claim 37 (depends on 36)

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.

### Claim 38 (depends on 37)

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.
