IP Library Granted Patent US 11,954,113
Granted Patent B2
US 11,954,113 · App. 17/645,906 · Granted Apr 9, 2024

Method for automated query language expansion and indexing

Inventors: Steven Griffith (San Diego, CA); Ilge Akkaya (Palo Alto, CA); Audrey McGowan (New York, NY); Chris Tice (San Francisco, CA); Jason Freidman (San Francisco, CA); Jeff Watts (Albany, CA)
Assignee: SISENSE SF, INC.
G06F16/258G06F16/2228G06F16/2433
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 11,954,113
App. No.
17/645,906
Granted
Apr 9, 2024
Kind
B2
Abstract

In an embodiment, a query system sends compact code to a database service for expansion of the compact code to partially-expanded code and expanded code. In an embodiment, a hash value is generated based on the partially-expanded code and indexed in memory with the expanded code. In an embodiment, a hash value is received as part of a command and expanded code is identified based on the hash value and sent to a database service.

Claims (47)

1. A method for improving transfer efficiency and security between a source repository stored in a first computer system and a target repository stored on a second computer system via an intermediate data transfer system implemented on a third computer, the first computer, the second computer and the third computer being located remotely from each other and coupled by a network, comprising:

determining, by the data transfer system, a time period between a starting timestamp and a maximum timestamp;

determining, by the data transfer system, a plurality of data items to be retrieved from the source repository based on the starting and maximum timestamps, wherein the plurality of data items include data that has been at least one of added to the source repository during the determined time period and modified in the source repository during the determined time period;

sending, from the data transfer system via the network to the source repository, at least one query for the plurality of data items;

developing, by the source repository in response to receiving the at least one query via the network, a series of pages that satisfy the at least one query, such that the series of pages is populated with the plurality of data items;

transmitting by the source repository the developed series of pages to the data transfer system over the network;

receiving, by the data transfer system, the series of pages from the network;

transmitting, by the data transfer system over the network to the target repository, the received series of pages;

receiving, from the network, at the target repository the pages transmitted by the data transfer system; and

loading the series of pages received from the network at the target repository into the memory of the target repository;

whereby the intermediate data transfer system causes the target repository to emulate content of the source repository at the time of the maximum timestamp thereby maintaining consistency of the content between the source repository and the target repository.

2. The method of claim 1 , wherein the plurality of data items includes a plurality of identification numbers, wherein the plurality of data items is grouped into the series of pages based on the plurality of identification numbers.

3. The method of claim 2 , wherein the plurality of data items is grouped into the series of pages with respect to a plurality of ranges of the identification numbers.

4. The method of claim 3 , wherein each page of the series of pages is associated with a respective range of the plurality of ranges of the identification numbers, wherein each data item is grouped into a page of the series of pages that is associated with the range which includes the identification number of the data item.

5. The method of claim 1 , further comprising:

performing at least one transformation, by the data transfer system, on data items of at least one of the pages to generate respective transformed pages, wherein each transformed page is transmitted, by the data transfer system over the network to the target repository in lieu of the corresponding page on which the transformation was performed.

6. The method of claim 5 , wherein the data items that are transformed are computer code conforming to a first programming language, wherein the at least one transformation includes performing a language transformation operation on the computer code in order to convert the computer code to conform to a second programming language.

7. Computer-readable storage media for improving transfer efficiency and security between a source repository stored in a first computer system and a target repository stored on a second computer system via an intermediate data transfer system implemented on a third computer, the first computer, the second computer and the third computer being located remotely from each other and coupled by a network, the computer-readable storage media having computer-executable instructions embodied thereon, wherein, when executed by at least one processing circuitry, the computer-executable instructions cause the at least one processing circuitry to:

determining, by the data transfer system, a time period between a starting timestamp and a maximum timestamp;

determining, by the data transfer system, a plurality of data items to be retrieved from the source repository based on the starting and maximum timestamps, wherein the plurality of data items include data that has been at least one of added to the source repository during the determined time period and modified in the source repository during the determined time period;

sending, from the data transfer system via the network to the source repository, at least one query for the plurality of data items;

developing, by the source repository in response to receiving the at least one query via the network, a series of pages that satisfy the at least one query, such that the series of pages is populated with the plurality of data items;

transmitting by the source repository the developed series of pages to the data transfer system over the network;

receiving, by the data transfer system, the series of pages from the network;

transmitting, by the data transfer system over the network to the target repository, the received series of pages;

receiving, from the network, at the target repository the pages transmitted by the data transfer system; and

loading the series of pages received from the network at the target repository into the memory of the target repository;

whereby the intermediate data transfer system causes the target repository to emulate content of the source repository at the time of the maximum timestamp thereby maintaining consistency of the content between the source repository and the target repository.

8. A system for improving transfer efficiency and security between a source repository stored in a first computer system and a target repository stored on a second computer system via an intermediate data transfer system implemented on a third computer, the first computer, the second computer and the third computer being located remotely from each other and coupled by a network, the system comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configures the system to:

determine, by the data transfer system, a time period between a starting timestamp and a maximum timestamp;

determine, by the data transfer system, a plurality of data items to be retrieved from the source repository based on the starting and maximum timestamps, wherein the plurality of data items include data that has been at least one of added to the source repository during the determined time period and modified in the source repository during the determined time period;

send, from the data transfer system via the network to the source repository, at least one query for the plurality of data items;

develop, by the source repository in response to receiving the at least one query via the network, a series of pages that satisfy the at least one query, such that the series of pages is populated with the plurality of data items;

transmit by the source repository the developed series of pages to the data transfer system over the network;

receive, by the data transfer system, the series of pages from the network;

transmit, by the data transfer system over the network to the target repository, the received series of pages;

receive, from the network, at the target repository the pages transmitted by the data transfer system; and

load the series of pages received from the network at the target repository into the memory of the target repository;

whereby the intermediate data transfer system causes the target repository to emulate content of the source repository at the time of the maximum timestamp thereby maintaining consistency of the content between the source repository and the target repository.

9. The system of claim 8 , wherein the plurality of data items includes a plurality of identification numbers, wherein the plurality of data items is grouped into the series of pages based on the plurality of identification numbers.

10. The system of claim 9 , wherein the plurality of data items is grouped into the series of pages with respect to a plurality of ranges of the identification numbers.

11. The system of claim 10 , wherein each page of the series of pages is associated with a respective range of the plurality of ranges of the identification numbers, wherein each data item is grouped into a page of the series of pages that is associated with a range which includes the identification number of the data item.

12. The system of claim 8 , wherein the system is further configured to:

perform at least one transformation, by the data transfer system, on data items of at least one of the pages to generate respective transformed pages, wherein each transformed page is transmitted, by the data transfer system over the network to the target repository in lieu of the corresponding page on which the transformation was performed.

13. The system of claim 12 , wherein the data items that are transformed are computer code conforming to a first programming language, wherein the at least one transformation includes performing a language transformation operation on the computer code in order to convert the computer code to conform to a second programming language.

Assignments (3)
SECURITY INTEREST Recorded Jun 14, 2023
From: SISENSE LTD; SISENSE SF INC.
To: HERCULES CAPITAL, INC.
Reel/Frame 063948/0662 →
RELEASE OF SECURITY INTEREST Recorded Jun 9, 2023
From: COMERICA BANK
To: SISENSE SF, INC.
Reel/Frame 063915/0252 →
SECURITY INTEREST Recorded Jul 17, 2022
From: SISENSE SF, INC.
To: COMERICA BANK
Reel/Frame 060527/0804 →
Continuity (2)
Continuation 16452338 · Jun 25, 2019
Related Publication 20220121677A1 · Apr 21, 2022