# US 8,751,205 B2 · Generating discrete event simulation data

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

- Number: US 8,751,205 B2
- Document ID: US8751205B2
- Status: Granted
- Kind: B2
- Application number: 13/172,553
- Filed: 2011-06-29
- Published: 2013-01-03
- Granted: 2014-06-10
- Earliest claimed: 2011-06-29
- Assignees: Hewlett-Packard Development Company, L.P.
- Applicants: Meichun Hsu; Qiming Chen; Bin Zhang
- Inventors: Meichun Hsu; Qiming Chen; Bin Zhang
- Web page: https://patentgrep.com/patent/US8751205B2

## CPC

- G06F 16/24568: {Data stream processing; Continuous queries}
- G06F 16/21: Design, administration or maintenance of databases
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method of generating discrete event simulation data using a query is provided herein. The method includes retrieving a trajectory specifying a service access event for a customer accessing a service in a simulation. The method also includes processing, in a relational database query, one or more pending events corresponding to one or more customers accessing the service before the customer. Additionally, the method includes processing, in the relational database query, the service access event. Processing the service access event occurs after processing the one or more pending events. The method also includes providing a result for the relational database query. The result comprises the trajectory, and the one or more trajectories.

## Claims

### Claim 1

A method of generating discrete event simulation data, comprising:
retrieving a trajectory specifying a service access event for a customer accessing a service in a simulation;
processing, in a relational database query, one or more pending events corresponding to one or more customers accessing the service before the customer;
processing, in the relational database query, the service access event, wherein processing the service access event occurs after processing the one or more pending events; and
providing a result for the relational database query, wherein the result comprises the trajectory, and one or more trajectories comprising the one or more pending events.

### Claim 2 (depends on 1)

The method recited in claim 1, wherein processing the service access event comprises:
updating the trajectory based on the service access event;
generating an additional pending event for another service.

### Claim 3 (depends on 2)

The method recited in claim 2, wherein an updated trajectory specifies:
an arrival time at the service; and
a departure time from the service.

### Claim 4 (depends on 1)

The method recited in claim 1, comprising generating a plurality of rows in a database table comprising:
the trajectory, and
one or more trajectories corresponding to the one or more customers.

### Claim 5 (depends on 4)

The method recited in claim 4, comprising updating the database table based on the result.

### Claim 6 (depends on 5)

The method recited in claim 5, wherein the relational database query invokes a user defined function (UDF) that buffers the one or more pending events, and the trajectories.

### Claim 7 (depends on 6)

The method recited in claim 6, wherein the relational database query is a structured query language (SQL) query, and wherein the SQL query comprises SELECT evolve(t.ctr, 1000) FROM (SELECT * FROM table ORDER BY ctr.time) t WHERE t.ctr.time>0, wherein the evolve( )comprises the UDF, the table comprises the database table, and the t.ctr comprises the trajectories.

### Claim 8 (depends on 1)

The method recited in claim 1, wherein the relational database query is re-run until the simulation is complete.

### Claim 9

A computer system for generating discrete event simulation data, comprising:
a memory storing instructions;
a processor configured to execute the instructions to:
retrieve a trajectory specifying a service access event for a customer accessing a service in a simulation;
process, in a relational database query, one or more pending events corresponding to one or more customers accessing the service before the customer;
process, in the relational database query, the service access event, wherein processing the service access event occurs after processing the one or more pending events; and
provide a result for the relational database query, wherein the result comprises the trajectory, and one or more trajectories comprising the one or more pending events.

### Claim 10 (depends on 9)

The computer system recited in claim 9, wherein the processor is configured to execute the instructions to process the service access event by executing instructions to:
update the trajectory based on the service access event;
generate an additional pending event for another service.

### Claim 11 (depends on 9)

The computer system recited in claim 9, wherein an updated trajectory specifies:
an arrival time at the service; and
a departure time from the service.

### Claim 12 (depends on 9)

The computer system recited in claim 9, wherein the processor is configured to execute the instructions to generate a plurality of rows in a database table comprising:
the trajectory, and
one or more trajectories corresponding to the one or more customers.

### Claim 13 (depends on 12)

The computer system recited in claim 12, wherein the processor is configured to execute the instructions to update the database table based on the result.

### Claim 14 (depends on 13)

The computer system recited in claim 13, wherein the relational database query invokes a user defined function (UDF) that buffers the one or more pending events, and the trajectories.

### Claim 15 (depends on 14)

The computer system recited in claim 14, wherein the relational database query is a structured query language (SQL) query, and wherein the SQL query comprises SELECT evolve(t.ctr, 1000) FROM (SELECT * FROM table ORDER BY ctr.time) t WHERE t.ctr.time>0, wherein the evolve( )comprises the UDF, the table comprise the database table, and the t.ctr comprises the trajectories.

### Claim 16 (depends on 9)

The computer system recited in claim 9, wherein the relational database query is re-run until the simulation is complete.

### Claim 17

A non-transitory, computer-readable medium comprising machine-readable instructions executable by a processor to:
retrieve a trajectory specifying a service access event for a customer accessing a service in a simulation;
process, in a relational database query, one or more pending events corresponding to one or more customers accessing the service before the customer;
process, in the relational database query, the service access event, wherein processing the service access event occurs after processing the one or more pending events; and
provide a result for the relational database query, wherein the result comprises the trajectory, and one or more trajectories comprising the one or more pending events, wherein the relational database query is re-run until the simulation is complete.

### Claim 18 (depends on 17)

The non-transitory, computer-readable medium recited in claim 17, wherein the machine-readable instructions which, when executed by the processor, cause the processor to process the service access event comprise machine-readable instructions which, when executed by the processor, cause the processor to:
update the trajectory based on the service access event;
generate an additional pending event for another service.

### Claim 19 (depends on 17)

The non-transitory, computer-readable medium recited in claim 17, wherein the machine-readable instructions, when executed by the processor, cause the processor to generate a plurality of rows in a database table comprising:
the trajectory, and
one or more trajectories corresponding to the one or more customers.

### Claim 20 (depends on 19)

The non-transitory, computer-readable medium recited in claim 19, wherein the machine-readable instructions, when executed by the processor, cause the processor to update the database table based on the result.
