IP Library Granted Patent US 8,195,780
Granted Patent B2
US 8,195,780 · App. 10/390,163 · Granted Jun 5, 2012

Market data domain and enterprise system implemented by a master entitlement processor

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 8,195,780
App. No.
10/390,163
Granted
Jun 5, 2012
Kind
B2
Abstract

A computer system including a master entitlement processor for storing user information, such as user passwords and access permissions, and a user computer system for allowing a user to operate an application in accordance with the user information corresponding to the user. The user computer system preferably includes a plurality of server computers organized into an enterprise including a plurality of domains. Two-way communication between the master entitlement processor and the server computers facilitates accurate storage, reliable access and easy modification of the user information. Organization of the server computers into domains allows good fault tolerance and robust failover and failback operations through static and dynamic loadbalancing.

Claims (68)

1. A computer system comprising:

a first domain including a first server computer, the first server computer including:

program code stored on the first server computer configured to, when executed by the first server computer, cause the first server computer to receive a user login;

memory storing a permission list that defines permissions specific to the user login as a variable length string of bits wherein the length of the string of bits corresponds to a number of available services, and wherein each of the bits in the string of bits represents an access permission of a corresponding available service;

memory storing a dynamic table;

program code configured to, when executed by the first server computer, expand the permission list into expanded permission information of a predetermined format using information contained in the dynamic table at least in part by mapping a bit of the permission list to one or more codes stored in the dynamic table, the predetermined format being a format that can be utilized by an application; and

program code configured to, when executed by the first server computer, modify the length of the variable length string of bits in accordance with a change in the number of available services.

2. A computer system comprising:

a first domain including a first server computer, the first server computer including a non-transitory memory storing computer-readable instructions that, when executed by the first server computer, cause the first server computer to:

receive a user login;

store a permission list that defines permissions specific to the user login as a variable length string of bits wherein the length of the string of bits corresponds to a number of available services, and wherein each of the bits in the string of bits represents an access permission of a corresponding available service;

store a dynamic table;

expand the permission list into expanded permission information of a predetermined format using information contained in the dynamic table at least in part by mapping a bit of the permission list to one or more codes stored in the dynamic table, the predetermined format being a format that can be utilized by an application; and

modify the length of the variable length string of bits in accordance with a change in the number of available services.

3. The computer system of claim 2 , wherein the available services relate to market data including financial information.

4. The computer system of claim 3 , wherein the first server computer sends the market data to a user workstation.

5. The computer system according to claim 3 , wherein the first domain receives the market data from a financial exchange.

6. The computer system of claim 2 , wherein the dynamic table comprises fields for a hard numeric code, a hard alphanumeric code, a service name, a service group code and a long name.

7. The computer system of claim 2 , and further comprising:

a master entitlement processor configured to store user information relating to a user.

8. The computer system of claim 2 , wherein login instructions designate the first server computer in the first domain as a primary server computer.

9. The computer system of claim 2 , wherein the non-transitory memory of the first server computer further stores computer-readable instructions that, when executed by the first server computer, causes the first server computer to:

track whether a user is logged into any server computer in the first domain.

10. The computer system according to claim 9 , wherein the non-transitory memory of the first server computer further stores computer-readable instructions that, when executed by the first server computer, cause the first server computer to:

prevent a user from logging into more than one server computer in the first domain.

11. The computer system of claim 2 , wherein the non-transitory memory of the first server computer further stores computer-readable instructions that, when executed by the first server computer, causes the first server computer to:

switch a user from the first server computer to a second server computer in the first domain upon a failure condition.

12. The computer system according to claim 11 , wherein the failure condition is the failure of the first server computer.

13. The computer system according to claim 11 , wherein the failure condition is a failure in a flow of information from a financial exchange to the first server computer.

14. The computer system according to claim 2 , wherein the non-transitory memory of the first server computer further stores computer-readable instructions that, when executed by the first server computer, causes the first server computer to:

designate the first domain as a primary domain for a user's login.

15. The computer system according to claim 14 , wherein the first domain includes a plurality of domain server computers, and wherein the non-transitory memory of the first server computer further stores computer-readable instructions that, when executed by the first server computer, causes the first server computer to:

switch the user from the primary domain to a second domain upon a failure condition of each of the plurality of domain server computers in the first domain.

16. The computer system according to claim 15 , wherein the second domain is an enterprise-wide server farm.

17. The computer system according to claim 15 , wherein the non-transitory memory of the first server computer further stores computer-readable instructions that, when executed by the first server computer, causes the first server computer to:

determine which domain server computer of the plurality of domain server computers has a capacity greater than other computers of the plurality of domain server computers.

18. The computer system according to claim 17 , wherein the non-transitory memory of the first server computer further stores computer-readable instructions that, when executed by the first server computer, causes the first server computer to:

log the user into the domain server computer with the capacity greater than the other computers of the plurality of domain server computers.

19. A method comprising:

receiving, at a first server computer, a user login request;

storing, at the first server computer, a permission list that defines permissions specific to the user login as a variable length string of bits wherein the length of the string of bits corresponds to a number of available services, each of the bits in the string of bits represents an access permission of a corresponding available service;

storing, in the first server computer, a dynamic table;

expanding, at the first server computer, the permission list into expanded permission information of a predetermined format using information contained in the dynamic table at least in part by mapping a bit of the permission list to one or more codes stored in the dynamic table, the predetermined format being a format that can be utilized by an application; and

modifying the length of the variable length string of bits in accordance with a change in the number of available services.

20. The method of claim 19 , further comprising receiving market data from a financial exchange, and sending the market data to a user workstation.

21. The method of claim 19 , further comprising:

determining whether a user is logged into a second server computer within a first domain, the first domain including the first server computer and the second server computer; and

denying user access to the first server computer if it is determined that the user is logged into the second server computer.

22. The method of claim 19 , further comprising switching a user from communication with the first server computer via a workstation to communication with the second server computer via the workstation upon a failure condition.

23. The method of claim 22 , wherein the failure condition includes failure of the first server computer.

24. The method of claim 22 , wherein the failure condition includes a failure in a flow of information from a financial exchange to the first server computer.

25. The method of claim 19 , further comprising designating a first domain as a primary domain, the first domain including the first server computer.

26. The method of claim 25 , wherein the first domain includes a plurality of domain server computers, and the method further comprises:

switching communication with a user via a workstation from the primary domain to a second domain upon a failure condition of each of the plurality of domain server computers in the first domain.

27. The method of claim 19 , further comprising determining a domain server computer in a first domain that a user may be logged into at a time of login, the first domain including the first server computer.

28. The method of claim 19 , further comprising receiving the permission list from a master entitlement database.

29. The method of claim 28 , further comprising storing the permission list in a storage medium.

30. The method of claim 19 , wherein the available services relate to market data comprising financial information.

31. An apparatus comprising:

a processor; and

a memory storing computer executable instructions that, when executed by the processor, cause the apparatus to:

receive a user login;

store a permission list that defines permissions specific to the user login as a variable length string of bits wherein the length of the string of bits corresponds to a number of available services, each of the bits in the string of bits represents an access permission of a corresponding available service;

store a dynamic table;

expand the permission list into expanded permission information of a predetermined format using information contained in the dynamic table at least in part by mapping a bit of the permission list to one or more codes stored in the dynamic table, the predetermined format being a format that can be utilized by an application; and

modify the length of the variable length string of bits in accordance with a change in the number of available services.

32. The apparatus of claim 31 , wherein the dynamic table is configured to map the variable length string of bits to codes stored in the dynamic table.

33. The apparatus of claim 31 , wherein the dynamic table comprises fields for a hard numeric code, a hard alphanumeric code, a service name, a service group code and a long name.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS NOTES COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0811 →
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0836 →
CHANGE OF NAME Recorded Mar 22, 2019
From: THOMSON REUTERS (GRC) LLC
To: REFINITIV US ORGANIZATION LLC
Reel/Frame 048676/0110 →
CHANGE OF NAME Recorded Dec 19, 2018
From: THOMSON REUTERS (GRC) INC.
To: THOMSON REUTERS (GRC) LLC
Reel/Frame 048553/0148 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2018
From: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
To: THOMSON REUTERS (GRC) INC.
Reel/Frame 047909/0874 →
SECURITY AGREEMENT Recorded Oct 3, 2018
From: THOMSON REUTERS (GRC) INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 047187/0316 →
SECURITY AGREEMENT Recorded Oct 2, 2018
From: THOMSON REUTERS (GRC) INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 047185/0215 →
CHANGE OF NAME Recorded Dec 1, 2017
From: THOMSON REUTERS GLOBAL RESOURCES
To: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
Reel/Frame 044270/0145 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2015
From: REUTERS LIMITED
To: THOMSON REUTERS GLOBAL RESOURCES
Reel/Frame 035874/0803 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2012
From: ZAMANZADEH, BEHZAD; SHALLENBERGER, ROBERT D.; FARRY, MOHSEN; MALHOTRA, HARISH
To: REUTERS, LTD.
Reel/Frame 027748/0459 →