Method for encoding and transporting database objects over bandwidth constrained networks
First Claim
1. A method of transferring information across a computer network, the method comprising the steps of:
- dividing the information into a plurality of cards and a plurality of card forms, each card including a plurality of values, and each card form corresponding to one of said cards and including a description of said values of a corresponding said card;
providing a server with a server data base and a client with a client data base in the computer network;
storing said cards, and said card forms in said server data base and said client data base;
replacing the information in said server by attaching a card delta to one of said cards, said card delta indicating which information in said one card is to be replaced;
transferring card deltas from said client data base to said server data base when said server data base is to be updated;
transferring card deltas from said server data base to said client data base when said client data base is to be updated;
providing a client application on said client, said client application reading from and writing to said client data base;
providing a server application on said server, said server application reading from and writing to said server data base;
said data bases performing information replacement as indicated in said card deltas and providing replacement information when a respective said application requests information stored in a corresponding said card;
one of said data bases requesting additional said card deltas for one of said cards from the other said data base when a respective application of said one data base requests information included in said one card.
7 Assignments
0 Petitions
Accused Products
Abstract
A method of transferring information across a computer network with a server and a client. The information is divided into a plurality of cards and a plurality of card forms. Each card includes a plurality of values. Each card form corresponds to one of the cards and includes a description of the values of a corresponding card. The cards and the card forms are stored in a server data base on the server and a client data base on the client. The information in the server is changed or replaced by attaching a card delta to one of the cards. The card delta indicates which information in the respective card is to be replaced. The card deltas are transferred between the client data base and the server data base when data bases are to be updated.
44 Citations
9 Claims
-
1. A method of transferring information across a computer network, the method comprising the steps of:
-
dividing the information into a plurality of cards and a plurality of card forms, each card including a plurality of values, and each card form corresponding to one of said cards and including a description of said values of a corresponding said card;
providing a server with a server data base and a client with a client data base in the computer network;
storing said cards, and said card forms in said server data base and said client data base;
replacing the information in said server by attaching a card delta to one of said cards, said card delta indicating which information in said one card is to be replaced;
transferring card deltas from said client data base to said server data base when said server data base is to be updated;
transferring card deltas from said server data base to said client data base when said client data base is to be updated;
providing a client application on said client, said client application reading from and writing to said client data base;
providing a server application on said server, said server application reading from and writing to said server data base;
said data bases performing information replacement as indicated in said card deltas and providing replacement information when a respective said application requests information stored in a corresponding said card;
one of said data bases requesting additional said card deltas for one of said cards from the other said data base when a respective application of said one data base requests information included in said one card. - View Dependent Claims (2, 3, 4, 5)
transferring any additional said card deltas for one of said cards to one said data base from the other said data base when a respective application of said one data base requests information included in said one card.
-
-
3. A method in accordance with claim 1, further comprising:
said requesting of said additional card deltas is based on said card deltas already known by said one data base.
-
4. A method in accordance with claim 1, further comprising:
said card, said card form, and said card delta are encoded using the Basic Encoding Rules of Abstract Syntax Notion One.
-
5. A method in accordance with claim 1, further comprising:
compressing a plurality of said card deltas into a single composite card delta in one said data base and transferring said composite card delta to another said data base.
-
6. A method of transferring information across a computer network, the method comprising the steps of:
-
dividing the information into a plurality of cards and a plurality of card forms, each card including a plurality of values, and each card form corresponding to one of said cards and including a description of said values of a corresponding said card providing a server with a server data base and a client with a client data base in the computer network;
storing said cards, and said card forms in said server data base and said client data base;
replacing the information in said server by attaching a card delta to one of said cards, said card delta indicating which information in said one card is to be replaced;
transferring card deltas from said client data base to said server data base when said server data base is to be updated;
transferring card deltas from said server data base to said client data base when said client data base is to be updated;
said card deltas include a sparsely populated array of values;
said card deltas represent atomic changes applied to a respective said card;
a current said value for a particular value index is represented by a most recent said card delta in which that said value is populated;
said cards are referred to by a stack;
said stack includes a data structure referred to as a stack delta;
said stack delta includes an object reference and an operation that represents a relationship of an object to said stack;
said object reference refers to one of said cards and said stack;
said operation is one of add, modify and remove;
a structure of a class of said cards is described by a data structure referred to as a card form;
said card form defines an ordered zero based array of value specifications that define said values of said cards based on said card form. a structure of a class of said stack is described by a data structure referred to as a stack form;
said stack form defines a column schema and a column map;
said column schema defines columns of said stack form;
said column map is a collection of column map entries;
said column map entries define a relationship between said stack and said card forms;
said column map entries further define a mapping of said value specification of said card form to said columns of said stack form;
said column schema and said column map together indicate which said value specification of said card form indicate said values of said card based on said card form to be considered overview information;
said overview information is determined when details of said card are required. - View Dependent Claims (7, 8, 9)
said card, said stack, said card form, said stack form, said card delta and said stack delta are encoded using the Basic Encoding Rules of Abstract Syntax Notion One for efficient storage and transfer.
-
-
8. A method in accordance with claim 6, further comprising:
compressing a plurality of said stack deltas into a sparsely populated list of said stack deltas to reduce a transmission length of said plurality of stack deltas.
-
9. A method in accordance with claim 6, further comprising:
-
adding one of a new said card, said card form, said stack and said stack form to one of said data bases;
adding said stack delta to said stack;
removing one of an existing said card, said card form, said stack and said stack form;
getting in full one of said card, said card form, said stack and said stack form;
retrieving a most recent said card delta of one of said cards;
retrieving a most recent said stack delta of said stack.
-
Specification