1. An exclusive access controlling apparatus for electronic information comprising:
version number holding means for holding a version number of electronic information;
electronic information name creating means for creating an electronic information name to be prepared by attaching the version number held in said version number holding means to an appellation unique to the electronic information;
electronic information name distributing means for distributing the electronic information name created by said electronic information name creating means, to users of the electronic information;
version number judging means for judging whether or not the version number included in said electronic information name coincides with the version number held in said version number holding means, when the electronic information to be specified by the electronic information name distributed by said electronic information name distributing means is subject to an access by each user of the electronic information;
access permitting means for permitting an access to the electronic information, only when it is judged by said version number judging means that the two version numbers coincide with each other; and
version number updating means for updating the version number held in said version number holding means, when the contents of the electronic information have been updated.
2. An exclusive access controlling apparatus for electronic information according to claim 1, further comprising;
reason analysis means for analyzing, based on the version number held in said version number holding means, a reason of a discrepancy between the both version numbers when they are judged to be discrepant from each other by said version number judging means.
3. An exclusive access controlling apparatus for electronic information according to claim 1, further comprising;
electronic information name re-distributing means for re-distributing an electronic information name newly created by said electronic information name creating means to users of the electronic information, when the contents of the electronic information have been updated.
4. An exclusive access controlling apparatus for electronic information according to claim 2,
wherein said version number updating means sets the version number of electronic information at 0 (zero) when the exclusive access control of the electronic information is started, while increasing the version number of the electronic information by 1 (one) while the electronic information is being accessed, and increasing the version number of the electronic information by 2 (two) when the contents of the electronic information have been updated.
5. An exclusive access controlling apparatus for electronic information according to claim 4,
wherein said reason analysis means judges that the electronic information is being locked, when the version number of the electronic information is an odd number, and judges that the access to the electronic information is targeted at the electronic information of the former version when the version number of the electronic information is an even number.
6. An exclusive access controlling apparatus for electronic information according to claim 2,
wherein said version number updating means sets the version number of electronic information at 0 (zero) when the exclusive access control of the electronic information is started, while increasing the version number of the electronic information by 1 (one), prior to the creation of the electronic information name by said electronic information name creating means, and additionally increasing the version number of the electronic information by 1 (one) when the contents of the electronic information have been updated.
7. An exclusive access controlling apparatus for electronic information according to claim 6
wherein said reason analysis means judges that the access to the electronic information is targeted at the electronic information of the former version when the version number of the electronic information is an even number and judges that the electronic information is in an access inhibited state, when the version number of the electronic information is an odd number.
8. An exclusive access controlling method for electronic information, comprising:
an electronic information name creating process for creating an electronic information name to be prepared by attaching a version number of electronic information held in a table to an appellation unique to the electronic information;
an electronic information name distributing process for distributing the electronic information name created by said electronic information name creating process, to users of the electronic information;
a version number judging process for judging whether or not the version number included in said electronic information name coincides with the version number held in said table, when the electronic information to be specified by the electronic information name distributed by said electronic information name distributing process is subject to an access by each user of the electronic information;
an access permitting process for permitting an access to the electronic information, only when it is judged by said version number judging process that the two version numbers coincide with each other; and
a version number updating process for updating the version number held in said table, when the contents of the electronic information have been updated.
9. A recording medium recorded with an exclusive access controlling program for electronic information for performing a process comprising:
an electronic information name creating function for creating an electronic information name to be prepared by attaching a version number of electronic information held in a table with an appellation unique to the electronic information;
an electronic information name distributing function for distributing the electronic information name created by said electronic information name creating function, to users of the electronic information;
a version number judging function for judging whether or not the version number included in said electronic information name coincides with the version number held in said table, when the electronic information to be specified by the electronic information name distributed by said electronic information name distributing function is subject to an access by each user of the electronic information;
an access permitting function for permitting an access to the electronic information, only when it is judged by said version number judging function that the two version numbers coincide with each other; and
a version number updating function for updating the version number held in said table, when the contents of the electronic information have been updated.
10. An exclusive access controlling method comprising:
creating an electronic information name;
attaching a version number to the electronic information name;
holding the version number in a table;
distributing the electronic information name to users of the electronic information;
judging whether or not the version included in the electronic information name coincides with the version number held in the table when the electronic information distributed by said distributing is subject to an access by each user of the electronic information;
permitting access to the electronic information only when it is judged that the two version numbers coincide; and
updating the version number held in the table, when the contents of the electronic information have been updated.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method for handling data in a client-server computing environment, comprising the steps of:
accepting the data from a user of a client in an opaque bag, wherein said bag comprises client data and self-contained manipulation code,
wherein the client data comprises a key value pair having a key component and a value component provided by said client, wherein a value of said key value pair comprises current state of each datum,
wherein said self-contained manipulation code uses a common vocabulary known to said client and a database;
mapping an attribute of the client data to an owning model object using said common vocabulary; and
storing the client data as database data in said database, wherein
a server serving documents on a global telecommunications network to and from said client to said database;
a middleware, being part of said server, acting as a blind conduit between said client and said database, wherein said middleware comprises both a data transfer component and a data manipulation component; and
said data manipulation component of said middleware accepting commands from said client to operate on said data, said data transfer component of said middleware acting as said blind conduit, said data manipulation component having no knowledge of type or structure of said client data.
2. A method for handling data in a client-server computing environment, as in claim 1, further comprising matching said client data with database data for key value pairs.
3. A method for handling data in a client-server computing environment, as in claim 2, wherein said data handling uses a generic set of commands from said client to said server via at least a single HTTP request.
4. A method for handling data in a client-server computing environment, as in claim 3, wherein said data handling uses said generic set of commands, said commands comprising a format verb(parameter 1, parameter 2, . . . ).
5. A method for handling data in a client-server computing environment, as in claim 4, wherein said generic set of commands embeds any number of commands.
6. A method for handling data in a client-server computing environment, as in claim 5, wherein said generic set of commands embeds variable command feature.
7. A method for handling data in a client-server computing environment, as in claim 6, wherein said data handling invoking command \u201cgetSomeAttributeName( )\u201d in favor of a default command processing.
8. A method for handling data in a client-server computing environment, as in claim 6, wherein said data handling invoking command \u201csetSomeAttributeName( )\u201d in favor of a default command processing.
9. A method for handling data in a client-server computing environment, as in claim 8, wherein said command enables said client to manipulate said server.
10. A method for handling data in a client-server computing environment, as in claim 8, wherein said command instructs said server to perform a browser redirect.
11. A method for handling data in a client-server computing environment, as in claim 8, wherein said command enables said client to manipulate said server and requests said server to print messages to an error log.
12. A method for handling data in a client-server computing environment, as in claim 8, wherein said command syntax providing a mechanism for the client to mark certain pieces of data as unknown by inserting tokens in place of real data.
13. A method for handling data in a client-server computing environment, as in claim 2, wherein said data handling is data neutral, said data handling comprising a data addressing scheme by which said data treated opaquely.
14. A method for handling data in a client-server computing environment, as in claim 1, wherein said client manipulates database data without having any knowledge of said type or structure of said client data.
15. A method for handling data in a client-server computing environment, as in claim 1, wherein the client, the middleware and the database handle the data without knowledge of said type or structure of said client data.
16. A method for handling data in a client-server computing environment, as in claim 1, further comprising the step of:
transporting said client data, wherein said step of transporting matches said key value pair provided by said client to a key value pair stored in a server.
17. A method for handling data in a client-server computing environment, as in claim 16, wherein said step of mapping uses a map stored at a server side location.
18. A method for handling data in a client-server computing environment, as in claim 17, wherein said map is provided in a single location of said server side location.
19. An apparatus for handling data in a client-server computing environment, comprising:
a client for accepting the data from a user in an opaque bag, and parsing modified data as client data,
wherein said bag comprises client data and self-contained manipulation code,
wherein the client data comprises a key value pair having a key component and a value component provided by said client, wherein a value of said key value pair comprises current state of each datum,
wherein said self-contained manipulation code uses a common vocabulary known to said client and a database, and wherein an attribute of the client data is mapped to an owning model object using said common vocabulary;
said database for storing the client data as database data;
a server serving client data to and from said client to said database on Internet; and
a middleware, wherein said middleware comprises:
a data transfer component, wherein said data transfer component comprises a blind conduit between said client and said database; and
a data manipulation component operationally separate from said data transfer component,
wherein said client manipulating said database data without knowledge of a type or structure of said client data; and
wherein said middleware accepting commands from said client to operate on said data without knowledge of said type or structure of said client data.
20. An apparatus for handling data in a client-server computing environment, as in claim 19, wherein said middleware is a part of said server.