IP Library Granted Patent US 7,305,397
Granted Patent B2
US 7,305,397 · App. 10/356,363 · Granted Dec 4, 2007

Caching data communications to reduce latency

Assignee: Tririga LLC
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 7,305,397
App. No.
10/356,363
Granted
Dec 4, 2007
Kind
B2
Abstract

A system for allowing applications to communicate data to a database on a host system run by a system administrator. In one embodiment, the system may perform several caching functions of data passing between a database and a user on a CAD system.

Claims (52)

1. A method of controlling communications between a client computer and a server computer having a database, comprising:

invoking a data manager application on a client computer, wherein the data manager application intercepts application server requests and data change requests from a client computer aided design (CAD) application, wherein each application server request and data change request is associated with a data instance for a drawing component, each drawing component representing one or more physical entities in a CAD drawing;

assigning a unique identifier to each data instance, the unique identifier derived from location information associated with each data instance and generated at the data manager application;

queuing each data instance on the data manager application prior to transmitting the data instance to the server;

throttling a transmission of two or more data instances to the server using a throttle mechanism; and

providing a response to the client application by the data manager application.

2. The method of claim 1 , wherein each unique identifier is generated at the client device and derived from coordination information from a vertices contained in the drawing component.

3. The method of claim 2 , wherein the drawing component is a computer aided design (CAD) object.

4. The method of claim 1 , wherein said step of assigning a unique identifier includes:

generating a unique identifier at least in part from location information of the data instance within a drawing document.

5. The method of claim 1 , wherein said step of assigning a unique identifier includes:

generating a unique identifier at least in part from signature information uniquely identifying the data manager application.

6. The method of claim 1 , wherein the data queued on the data manager application is associated with a data instance.

7. The method of claim 1 , wherein said step of throttling includes:

configuring a loop time parameter and block size parameter; and

throttling the transmission of data to a server based on the loop time parameter and block size parameter.

8. The method of claim 7 , wherein the loop time and block size can be adjusted based on previous transmission of drawing data.

9. The method of claim 1 , wherein said step of transmitting the data to the server includes:

serializing one or more requests; and

sending the serialized requests to the server.

10. A data management system for reducing latency in data communications between a client application and a central database, comprising:

a communication agent resident in a client computer aided design (CAD) application on a client device, outputting data;

a cache manager application receiving data from the agent, the cache manager residing in the client device and creating a unique identifier for each data instance, each unique identifier based on coordinate information contained in a drawing component which comprises each data instance, the drawing component associated with one or more physical entities in a CAD drawing, the CAD drawing able to be accessed by the client CAD application;

a disk queue residing on the client device and storing at least selected portions of data from the communication agent; and

an encoder residing on the client device and retrieving the data and serializing the data for output to a network.

11. The system of claim 10 wherein the data is provided in XML.

12. The system of claim 10 wherein the each unique identifier is generated at the client device and derived from coordination information from a vertice contained in the drawing component.

13. The data management system of claim 10 , wherein said communication agent includes a computer aided design (CAD) communication agent.

14. The data management system of claim 10 , wherein the data that is output by said communication agent includes one or more graphical objects.

15. The data management system of claim 10 , wherein said disk queue resides on the client device.

16. The data management system of claim 10 , wherein said encoder resides on the client device and configures the data to be sent over the Internet.

17. The data management system of claim 10 , further comprising:

a throttling mechanism configured to transmit the data to a server based on defined intervals and sizes of data blocks.

18. A system for allowing applications to communicate data to a database on a host system run by a system administrator, comprising:

an agent residing in a client computer aided design (CAD) application on a client device, the agent able to send requests intended for an application server;

a CAD application data interface residing on the client device and able to intercept requests sent by the agent;

a cache manager residing on the client device receiving data from the interface, generating a unique ID for each data instance and throttling transmissions of said data to an application server, the data including drawing component data having a location and dimensions of one or more physical entities within a drawing table to be accessed by the client CAD application, the unique ID based on the summation of one or more sets of vertices values for each drawing component;

an application server including an interface communicating with the cache manager; and

a relational database in communication with the application server and able to store the data.

19. The system of claim 18 , wherein said cache manager includes a queue, the queue receiving CAD data in response to input received through the CAD application data interface.

20. The system of claim 18 , wherein said application server includes cache manager data processing code for processing data received from the cache manager.

21. A method for processing data between a client and a server, comprising:

configuring data by a communication agent on a client device, the data including drawing components representing one or more physical entities having dimension data and location information, the location information including coordinate data of the drawing component within a Computer Aided Design (CAD) drawing;

inserting the data in a queue by a queue manager;

generating a unique identifier at the client device for each data instance, each unique identifier derived from the coordinate information contained in the drawing component comprising at least a portion of each data instance;

serializing the data from the queue; and

throttling a transmission of the serialized data to a server in communication with the client device, said step of throttling performed based on predefined intervals and size, the transmitted data including the generated unique identifier for each data instance transmitted.

22. The method of claim 21 , wherein the data includes one or more graphical objects comprising the drawing components.

23. The method of claim 21 , wherein the communication agent is part of a computer aided design (CAD) application.

24. The method of claim 21 , wherein the unique identifier is generated based on vertices coordinate information for the drawing component for each data instance.

25. The method of claim 21 , further comprising:

receiving input through an interface on the client device, the input indicating that a graphical object is to be globally updated, said step of configuring data performed in response to said step of receiving input.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2011
From: TRIRIGA INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 027249/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2011
From: TRIRIGA LLC
To: TRIRIGA INC.
Reel/Frame 027159/0835 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2006
From: SPENCER, JR., HERMAN
To: TRIRIGA LLC
Reel/Frame 018346/0128 →
UNIT PURCHASE AGREEMENT Recorded Aug 18, 2003
From: TRIRIGA INC.
To: TRIRIGA LLC
Reel/Frame 014390/0218 →
Continuity (2)
Provisional Application 6035391100 · Jan 31, 2002
Related Publication 20040044672A1 · Mar 4, 2004