# US 2008/0189332 A1 · System and method for optimizing business intelligence data queries within a client-server architecture

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

- Number: US 2008/0189332 A1
- Document ID: US20080189332A1
- Status: Published application
- Kind: A1
- Application number: 11/973,003
- Filed: 2007-10-04
- Published: 2008-08-07
- Earliest claimed: 2007-02-02
- Assignees: Cognos Incorporated
- Inventors: Stewart James Winter
- Web page: https://patentgrep.com/patent/US20080189332A1

## CPC

- G06Q 10/00: Administration; Management
- G06F 16/24547: {Optimisations to support specific applications; Extensibility of optimisers}
- G06Q 20/1235: {with control of digital rights management [DRM]}
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Method and server in a business intelligence analysis system for building a response to a client request. The response includes information regarding the response in an updated server context. The updated server context is round tripped to the client and included in a subsequent request. After being received from the client, the subsequent request is optimized based on the included updated server context.

## Claims

### Claim 1

A business intelligence analysis server in a client-server business intelligence analysis system comprising:
a query processing component receiving a request from a client in the client-server business intelligence analysis system;
a query information collector capturing information in a response to the request, and including the information in an updated server context in the response; and
an adaptive query optimizer for optimizing a subsequent request from the client, the subsequent request utilizing the optimization information included in the server context.

### Claim 2 (depends on 1)

The business intelligence analysis server as claimed in claim 1, wherein the information is information of an expression-defined set of members.

### Claim 3 (depends on 2)

The business intelligence analysis server as claimed in claim 2, wherein the updated server context includes a maximum member count, a minimum member count, and an actual member count for the expression-defined set of members.

### Claim 4 (depends on 2)

The business intelligence analysis server as claimed in claim 2, wherein the server further comprising a business intelligence object model module.

### Claim 5 (depends on 2)

The business intelligence analysis server as claimed in claim 2, wherein the response to the request is used in a crosstab or a chart.

### Claim 6 (depends on 2)

The business intelligence analysis server as claimed in claim 2, wherein the block includes a visible segment and a remainder segment.

### Claim 7

A method of processing a request from a client at a business intelligence analysis server, the method comprising the steps of:
receiving the request;
building a response to the request
capturing information of the response in an updated server context, the updated server context forming part of the response to the request,
dispatching the response to the client;
including the updated server context in a subsequent request;
receiving the subsequent request from the client; and
optimizing the subsequent request, based on the included updated server context.

### Claim 8 (depends on 7)

The method as claimed in claim 7 wherein the response including a block having segments, and wherein the information is segment information of the block.

### Claim 9 (depends on 8)

The method as claimed in claim 8 wherein the block has a base expression, further comprising the step of determining the completeness of base expression in the block.

### Claim 10 (depends on 8)

The method as claimed in claim 8 further comprising the step of determining an order of the segments of the block.

### Claim 11 (depends on 8)

The method as claimed in claim 8 further comprising the step of determining a maximum member count and a minimum member count of the block.

### Claim 12 (depends on 8)

The method as claimed in claim 8 further comprising the step of determining an actual member count of the block.

### Claim 13 (depends on 7)

The method as claimed in claim 7 further comprising the step of verifying the applicability of the optimizing information as supplied in the round tripped server context.

### Claim 14

A storage medium readable by a computer encoding a computer program for execution by the computer to carry out a method for processing a request from a client to a business intelligence analysis server, the computer program comprising:
code means for receiving the request;
code means for building a response to the request;
code means for capturing information of the response in an updated server context, the updated server context forming part of the response to the request;
code means for dispatching the response to the client;
code means for including the updated server context in a subsequent request;
code means for receiving the subsequent request from the client; and
code means for optimizing the subsequent request, based on the included updated server context.
