CN1177776A - System for generating only identification character for identifying object type used in object program and method thereof - Google Patents

System for generating only identification character for identifying object type used in object program and method thereof Download PDF

Info

Publication number
CN1177776A
CN1177776A CN 97113646 CN97113646A CN1177776A CN 1177776 A CN1177776 A CN 1177776A CN 97113646 CN97113646 CN 97113646 CN 97113646 A CN97113646 A CN 97113646A CN 1177776 A CN1177776 A CN 1177776A
Authority
CN
China
Prior art keywords
fingerprint
cited
information flow
produces
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 97113646
Other languages
Chinese (zh)
Inventor
J·H·维尔多
K·巴列特
R·里格斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Priority to CN 97113646 priority Critical patent/CN1177776A/en
Publication of CN1177776A publication Critical patent/CN1177776A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

A fingerprint generating system generates a fingerprint value for an object in an object-oriented programming arrangement. It is characterized in that: in response to said input digital information stream, a digital hash value having a predetermined number of digital bits will be generated as an output; the digital hash value will be a function of the digital information stream; when the object, as 'referencing object', includes a reference to another object, as a referenced object, the input digital information stream of the referencing object can include a fingerprint which had been previously generated for the referenced object, rather than a digital information stream for referenced object itself, the digital hash value generated according to the selected hash value generating algorithm comprising the fingerprint generated by said fingerprint generating system.

Description

Be used to produce the system and method for the identifier of unique identifying object type
The present invention always says so and relates in computer system or similar system with the system and method that deals with according to the designed program of object-oriented (objeet-oriented) programming technique or the like.More particularly relate to produce the system and method for identifier of the type of the processing object that unique identification is used for the sort of program.
In the computer program that uses the Object-oriented Programming Design technological development, typically development research be used for the routine processes process " object " (objects).Say that typically object can comprise such as data set, array etc., the element of program code of definition step and method or the like.In a kind of language of object-oriented computer programming, the Java that in the Java language standard, describes just TMProgramming language, procedure stipulation " class " (classes) and " interface " (interface).Class is used for stipulating one or more methods or step, and they each can be given the interface by call by reference.A kind of interface provides a kind of mechanism, by this kind mechanism each method particularly differentiating method, the type of employed argument when handling this method can be described, the data type of the numerical value that returns by this method and remove identifier beyond the identifier that during the processing of this method, produces.Class can illustrate that just the interface of their method comprises the code of edit routine at a concrete class boundary face of carrying out.In addition, class can be illustrated in the concrete interface that execution may illustrate at another place.Different classes can be represented their identical interfaces of execution, and wherein each has the program code that uses in the processing of all methods that illustrate in the interface.The program code that provides in other class may be provided the program code that provides in each class, but the program code of corresponding method will provide identical result.
During the processing service that need be provided by the method that a class is kept when java applet, such example can be packed in its execution environment, and perhaps its long-range of method that can be invoked at described in people's such as Wollarth the patented claim is held.In both cases, the object of will in execution environment, packing into, any one object comprises its class example, perhaps in the situation of the class example of supporting remote interface, comprises the situation of remainder classification example that can a kind of method of far call.These objects may be (with under the situation of counterfoil grade probably) respectively and be independent of and will use their program and generate.When this program was adorned an object, its (this program) received information flow, and this information flow will need the processing reconstructed object and comprise that for example various parts at interface, this interface resemble the program code by class declaration, and program code comprises the method separately of carrying out class.Say that typically class has the identifier such as object oriented, but these identifiers be by the program development merchant specifically give, therefore be not unique.Therefore, there is the class of same names to have very different structures, therefore needs the different classification of class formation.In addition, when need to change rebuilding the required method of class, the out-of-date class formation with concrete title may change.Therefore, the unnecessary identifier that depends on the title that the program development merchant provided of program is used for the reconstruction of class to determine the sort of method.
The invention provides the improved system and method for " fingerprint " identifier of a kind of object type that produces unique identification such as the class of the processing that is used for object-oriented program or the like.The present invention provides the practical structures of a kind of use class separately and the system and method that content produces the fingerprint recognition symbol especially, and the class that consequently has different structures and content has different fingerprint recognition symbols.
In a word, the invention provides a kind of new fingerprint that in the Object-oriented Programming Design scheme, produces the fingerprint value of object and produce system, method and computer program product.This object comprises that digital information flow and fingerprint produce system is produced regular length by digital information flow fingerprint value.The hashed value that comprises the hashed value of fingerprint value according to the generation of selecting produces the digital information flow that algorithm process comprises object.The hashed value generation algorithm that produces the grade selection of algorithm from hashed value is characterised in that:
I responds said input digit infosystem, and generation is had the digital hashed value of predetermined digital bit number as output;
Ii should the numeral hashed value will be the function of digital information flow, consequently
(a) provide two identical inlet flows, will produce identical digital hashed value; But
(b) give two inlet flows inequality, it is extremely impossible producing identical digital hashed value;
Iii is when the benchmark that comprises as the object of " benchmark object " as another object of benchmark object, the input digit information of benchmark object only needs to be included as the previous fingerprint that produces of benchmark object, rather than the digital information flow of benchmark object itself, the digital hashed value that produces the algorithm generation according to the hashed value of selecting comprises the fingerprint that is produced by fingerprint generation system.
The present invention illustrates in conjunction with the characteristics of claims, and the explanation of accompanying drawing being done in conjunction with explanation can make us understand above and further advantage of the present invention better.
Fig. 1 comprises the functional-block diagram of discerning the computer installation of generation system according to the object type of formation of the present invention;
Fig. 2 is the functional-block diagram of object checking system useful in the scheme described in Fig. 1;
Fig. 3 is the process flow diagram that helps to understand the operation of object checking system shown in Figure 2.
Fig. 1 comprises the functional-block diagram of discerning the computing machine scheme 10 of generation system according to the object type of formation of the present invention.With reference to Fig. 1, computer network 10 comprises a plurality of computing machines by 12 (1) to 12 (N) (generally by ginseng label 12 (n) sign) that connected by communication link 14.As convention, at least some in the computing machine 12 (n) are that each in them comprises system unit as the form of PC (personal computer) or computer workstation, video display unit and as the operation input block of keyboard and mouse.Computing machine 12 (n) is common stored program computer structure.System unit generally comprises processing, storage and extensive memory storage, and such as (information) dish and/or tape storage element and other element (not illustrating respectively), this comprises the Network Interface Unit 18 (n) with the Computers and Communication LI(link interface).Video display unit allows computing machine to give the data of user's display process and the state of processing, and operator's input media can make the user by computing machine input data and control and treatment.Computing machine 12 (n) is in 14 information that transmit form of message by their Network Interface Unit separately of communication link.
In one embodiment, network 10 can be formed " client/server " structure, some different in this structure computing machines are as client and server work, on the one hand, server computer can comprise jumbo extensive memory storage as file server, the duplicate of this memory storage energy stored programme and data, subscriber computer can use their processing operation said program of retrieval and data on communication link 14.Subscriber computer can be stored data at any time on server computer, used the data of their processing operation retrieve stored subsequently by its (just storing the client computer of these data) or other client.In addition, one or more server computers, can respond as " calculation server " and to carry out some from client's remote request and handle operation, give the client of request so that in its processing subsequently, use it with the result that will handle by its (Qing Qiu client computer just), no matter can usually being similar to, what's going on, server computer comprise system unit.The client computer of video display unit and operator's input media and the mode of similar client computer can be by the operator as data processing operations, really, in this arrangement scheme, the relation of client/server can be thought relative, because operation is other computing machine execution storage and/or handles operation as the computing machine of server, also can operate as other computing machine of client computer request and store and handle operation, other computing machine includes as the computing machine of server work (part).In addition, some server computers can include only in order to receive and to handle retrieval, store or from the teleprocessing request of client computer with produce processing to response there, the network interface element is stored in storage on a large scale.
As conventional, the communication link 14 of inner connection client computer 12 (n) comprises lead in network 10, optical fiber or be transmitted in the medium of the signal of the expression information between computing machine 12 (n).In addition, communication links by numeral 14 signs comprise public network such as public telephone system and/or Internet (interconnection network), and people 12 (n) that use a computer can comprise the information of program and data from server computer 16 accesses of some distances of distance client computer 12 (n) on interconnection network.As above chat, each computing machine 12 (n) typically has Network Interface Unit (by each arrow 18 (n) expression), and this interface arrangement suitably will divide other computing machine to be connected on the communication link 14.
The invention provides a kind of system that is easy to produce the identifier that is referred to herein as fingerprint so that identification is used for the type of object of the processing of object-oriented program or the like uniquely.The present invention will be in conjunction with the Java as describing in the Java language standard TMProgram design language the program that provides is provided is described, and this program is in conjunction with processed by Java void (plan) execution environment that machine provided.This Java actual machine is institute's standard in the standard of Java void (plan) machine successively.With the method for the ABC of describing in the Java language standard, the procedure stipulation in the java applet design language " class " (classes) and " interface " (interfaces).Class is in order to stipulate one or more methods or step, and each among them can be called to an interface by benchmark.Class can be correlated with and extend one " superclass " (super-class) and the method for considering with all interfaces and superclass combine, but also comprise other interface and/or method.A class can also have one or more subclasses (sub-class) (with the superclass that therefore will form its each class) and each subclass combination and may extend their other superclass of branch.Class also can be for referencial use to other objects of the interface that comprises other and class, and when the method for being carried out by class was processed, these other object can be cited.
An interface provides the mechanism that a group of methods can be described with it.In that connects, an interface identification is by this interface, every kind of illustrated method of the title of method for example is identified as the data type of the argument that this method provides, the data type of the rreturn value of being returned by this method and the identifier that exception can be abandoned during the processing of this method.Class itself can illustrate a concrete class boundary face of carrying out, and perhaps it can show the concrete interface that its execution may illustrate elsewhere, and will be included in the program code that uses in the processing of all methods that illustrated in the interface in any connection.The program code that provides in each class can be different with the code that provides in other classes, but the program code of corresponding method will provide identical result.The method of carrying out this method or using the interface to call can independently illustrate the interface of concrete class, and about this point, a class calling this method will not need to share public superclass with an actual class carrying out this method.Therefore, an interface provides a kind of mechanism, does not need to provide the indication of step that will be used for the processing of any method just a group of methods can be described by this mechanism.
As implied above, the invention provides a kind of system of fingerprint of different objects that unique identification can be used for the processing of object-oriented program or the like that is easy to produce.Various different types of program elements can comprise the object that special meaning is arranged for invention now in the program of using the Java programming language to produce, can comprise object in order to use the class that has illustrated with object lesson.The invention provides the scheme that produces unique identifier or fingerprint for each class, each grade can be used by the environment of for example carrying out, and java applet is processed in this environment, discerns this object and the reconstruction that is easy to this object when this object is packed this execution environment into.The fingerprint of the type of class has multiple purpose purposes, for example can be in order to the correct class of in processing, using in execution environment by the program implementation fingerprint, for example from identical computer system or be connected to any (two kinds) and the execution environment of the Local treatment of packing into of another computer system retrieval of network 10, perhaps be used for people's such as wollrath patented claim chat and identical computer system or be a kind of teleprocessing of calling the method for keeping by a class in the computer system of network 10 that is connected to.
In addition, fingerprint may be packed the class example in the execution environment in order to helping.Typically, when in the execution environment of packing into as the object of grade example, be received, and execution environment will need the various parts of the information flow various parts with the class example are interrelated, therefore rebuild the class example from information flow as the object of information flow.Execution environment will utilize such as the resource that can make its (execution environment just) receive information flow and rebuild the programming code of class example.Because the structure of the various objects that are retrieved is likely unique, execution environment can make object reconstruction when needs are guaranteed that its (execution environment) has suitable programming code with box lunch reception information flow.As described below, system and a method according to the invention produces fingerprint according to the structure and the content of the object of reality, so that execution environment can use object that the fingerprint of object will pack into and can interrelate in order to the programming code of rebuilding this object.Because fingerprint is based on the structure of object, two objects with different structures will have different fingerprints probably, even other identifier is relevant with this object, for example the title of the object that is provided by the program development merchant is identical.
Because class and its example explanation later on can be quoted other " being cited " grade, thereby make it to occur further complicated, this reference grade comprises the problem that the grade that relates to can be used for its processing.In this case, the fingerprint of grade will not only need to reflect the various compositions of this grade itself, also will reflect the class that is cited by this class reference.
With this rudimentary knowledge with referring again to Fig. 1, the invention provides a kind of fingerprint generator 20, so that use it to be connected with one or more computing machines 12 (n), computing machine 12 (n) keeps and uses various objects 22 (m) to think that each object produces corresponding fingerprint 24 (m).These fingerprint generator 20 usefulness are handled each object 22 (m) to produce fingerprint 24 (m) below in conjunction with Fig. 2 and the described mode of Fig. 3.Fingerprint 24 (m) expression of the object of retrieval is as the value of the fingerprint of the type of identifying object, it also can be used for discerning the type of the object of being handled by the computer system 12 (N) that keeps object 22 (m) that program is used 22 (m), or by the needed type of the handled program of other computer system 12 (1) to 12 (N-1).If object 22 (m) be type be that the program handled of another computer system 12 (1) to 12 (N-1) is needed, computer system 12 (N) or can adorn object 22 (m) up and down at communication link 14 and give other computer system 12 (1) to 12 (N-1), so that in its (be other computer system) processing, use, carry out the processing of object itself in the remote method invocation (RMI) operation described in people's such as Wollrath that perhaps can be as previously described the patented claim.Under any circumstance, fingerprint 24 (m) will be suitable for does unique identification to the type of object, the method for guaranteeing object effectively and being provided, and data type and return data type are that program is needed.The execution environment of this object of packing into can be rebuild this object from information flow, and this information flow receives when object receives.
As mentioned above, client computer 12 (n) comprises fingerprint generator 20, will describe this generator 20 in conjunction with Fig. 2, fingerprint generator for generating fingerprint 24 (m).With reference to Fig. 2, verifier 20 comprises object fingerprint value generator 31, object fingerprint table 32 and object memories 34.The binary coding of object memories 34 one reception and object fingerprint 23 (m) object 22 (m).The content of object fingerprint value generator 31 process object 22 (m) and benchmark object (not shown in FIG.) is as numerical data, to produce the object fingerprint value.Benchmark to as if object in storer 34 in the benchmark object, just relatively the benchmark of other grades be with storer 34 in the relevant grade of object in benchmark.In general object fingerprint value, if object fingerprint value generator 31 has produced the object fingerprint value of benchmark object in advance and it has been stored in the object fingerprint table 32, its (object fingerprint generator 31) can use the object fingerprint information that produces for the object that is cited in advance in the object fingerprint of object generation that is in object memories 34, otherwise, if another to as if quote by the object in storer 34, in order be that object generation fingerprint generator 20 common in object memories 34 will be other target generation value.
As mentioned above, the duplicate of the object 22 (m) of object fingerprint value generator 31 processing in object memories 34 offers the object fingerprint value of comparer 33 with generation.In a specific embodiment, object fingerprint value generator 31 uses the hashing algorithm process object 22 (m) of common safety.For target fingerprint value generator 31 useful Secure Hash Algorithm have following feature:
1) when carrying out this algorithm, receive from digital information flow as input, the digital value of a fixed size (just pre-determining fixing data bit or byte number) is produced as output;
2) digital output value is the function of input information, consequently
A) provide two identical output streams, identical digital output value will be produced; But
B) provide two output streams inequality, extremely can not produce identical digital output value;
3) extremely can not be from the digital output value inlet flow of regenerating; With
4) comprise the benchmark to another object when an object (as " benchmark object "), the inlet flow of datum target only needs to comprise the fingerprint that has produced in advance for the benchmark object, and does not need benchmark object itself.These features (special feature 25 (a) and 25 (b)) will guarantee:
If be that two objects have identical value by the fingerprint that fingerprint generator 20 produces a), they will be identical types, with the identical method group that needs identical input data type and the identical result that same data type is provided is provided, and can use identical reconstruction programming code to rebuild it; But
B) if be that the fingerprint that two objects 22 (m) produce has different values by fingerprint generator 20, they will be different types, with therefore can not provide identical method group, perhaps can need different input data types, perhaps can cause, and under any circumstance may have different structures with different result data types.Program can rely on the fingerprint of object to remove to discern uniquely this object in this situation.Such as the available Secure Hash Algorithm from association of Science and Technology country, from the available RC4 and the RC5 Secure Hash Algorithm of RSA company with similarly be illustrative Secure Hash Algorithm, they have these features.
Produce fingerprint in conjunction with flow chart description operation fingerprint generator shown in Figure 3 now.Before further carrying out, the structure of describing by fingerprint generator 20 process object 22 (m) is useful to produce the object fingerprint value.In one embodiment, object 20 is for example to use because the form of the example class that the Java programming language of Java language specification description provides.Object 22 (m) comprises a plurality of parts, comprising the object identifier part 40 (m) that is cited, and interface portion 41 (m), section (field) part 42 (m) and method and step part 43 (m).If object 22 (m) is quoted other object, the object identifier part 40 that is cited (m) comprise identification other object identifier and provide indication other the object designator of access how.If this object is not quoted other object, datum target identifier part 40 (m) can be empty.
Method and step part 43 (m) provide can be by to the invoked concrete method of calling of object, step, program or the like.The method that provides in part 43 (m) can be quoted in benchmark object identifier part 40 (m) other object of identification.Interface portion 41 (m) comprises the catalogue at the interface of object effectively, and it for example is included in the title of concrete grammar identification in the part 43 (m) and the parameter that provides in the concrete grammar is provided.A program of being handled by client computer 12 (n) can use the interface catalogue in part 41 (m) to discern can be by the concrete method that the visit of object 22 (m) is called.Section part 42 (m) provides and for example is used for indicating whether that in the catalogue of the variable of part 43 (m) define method and other element and this external enwergy this variable for example is concrete object 22 (m) institute special use or part of its qualification or the like.
Use this ABC, will narrate the operation of carrying out by fingerprint generator 20 in conjunction with the process flow diagram of Fig. 3.With reference to Fig. 3, object fingerprint value generator determines whether that primitively object fingerprint table 32 has had the object fingerprint value (step 100) of the object of identification.If object fingerprint value generator 31 has been made and sure has been determined that it will use this object fingerprint value (step 101) in its processing subsequently in step 100.
On the other hand, if object fingerprint value generator 31 has been made the decision negating in step 100, object fingerprint table 32 does not also have the object fingerprint value of identifying object, and it will proceed to step 102 so that begin to produce the step of the object fingerprint of this object in this case.Object fingerprint value generator 31 begins to produce the step of object fingerprint in a series of sequential.Go information that re-treatment comprises to 4 parts of 43 (m) at 40 (m) so that produce the object fingerprint value for object 22 (m) at hashing algorithm safe in utilization during each sequential.
At first in that operation, object identifier part 40 (m) comprises one or more object identifiers that are cited if be cited, object fingerprint value generator 31 is with one or more fingerprints of repeatedly handling the object that is cited of identification in the object identification division 40 (m) that is cited, and the fingerprint of handling the object that is cited in each re-treatment.If in each repeats, in object fingerprint table 32, stored the object fingerprint value that produces in advance of the object that is cited.The fingerprint that this object fingerprint value generator 31 will use in the object fingerprint table 32.On the other hand, in object fingerprint table 32, do not store the object fingerprint value that produces in advance of the object that is cited, this object fingerprint value generator 31 will be attempted to produce the object fingerprint value for the object that is cited, store this object fingerprint value in object fingerprint table 32, and using its (object fingerprint value of the object that is cited) for object 22 (m) produces in the object fingerprint value.
More particularly, the object fingerprint value generator 31 object identifier part 40 (m) that will determine whether to be cited comprises any object identifier (step 102) that is cited, with if, will be from the be cited catalogue (step 103) of object identifier of object identification division 40 (m) retrieval of being cited.Object fingerprint value generator 31 is laid this catalogue according to the storage order of predetermined storage scheme.Object fingerprint value generator 31 was stored the object identifier that is cited to guarantee that they (by the base object identifier) will be with identical order, to guarantee that no matter identical fingerprint value is by generation and the time point that fingerprint produces in producing object fingerprint before using them.
After being cited object identifier from part 40 (m) storage, object fingerprint value generator 31 will be selected " next one " object identifier (step 105) that is cited in storage directory, that describe and the connected operation of the object that is cited by the object identification of selecting that is cited will be carried out, so that provide or produce the object fingerprint value for the object that is cited in Fig. 3.In repeating this first, object fingerprint value generator 31 will in the catalogue of storage, select first be cited object identifier and in repetition subsequently (if having) will catalogue in this storage in the selecting sequence object fingerprint that is cited of arranging.If this object fingerprint table 32 does not have the object fingerprint value by the object that is cited of the object identifier identification of selecting that is cited, if do not have the duplicate of this object that is cited with computing machine 12 (n), its (computing machine) keeps this object that is cited of computer search of its (object is cited) from another.On the other hand, if this computing machine maybe can not retrieved this object that is cited, this object fingerprint value generator 31 may withdraw from.
After producing or retrieving the object fingerprint value of the object of selecting that is cited, object fingerprint generator 31 is handled the fingerprint value (step 106) of the object fingerprint value related with Secure Hash Algorithm with the object 22 (m) in the middle of producing.After this, object fingerprint value generator 31 determines that any other object identifier (step 107) that is cited is arranged in the catalogue of storage.If object fingerprint value generator 31 is made in step 107 and sure is determined that this object fingerprint value generator 31 turns back to step 104, so that select the next object identifier and therefore handle the object fingerprint value of this identification of being cited.
Turn back to step 102, if the object identifier part 40 (m) that is cited is empty, object fingerprint value generator will be made negative determining in that step.Under these circumstances, if perhaps in step 107 object fingerprint value generator 31 make and negative determining, its will sequential processing set by step may list the interface title in the interface portion 41 (m) in.At first, this object fingerprint value generator 31 will determine this interface title part 40 (m) whether comprise any interface title (step 110) and if, will be from interface title part 40 (m) search interface title catalogues (step 111).This object fingerprint generator 31 will be according to the storage order of predetermined storage scheme this catalogue (step 112) of packing into.Before using them, in generation object fingerprint value, title storage in interface is not considered the identical order under the situation of the time point that fingerprint 24 (m) produces to guarantee they (interface title) to guarantee identical fingerprint value to produce by object fingerprint value generator 31.
After the title of part 41 (m) storage interface, object fingerprint value generator 31 will be selected " next one " interface title (step 113) in the catalogue that stores: in first repeats, object fingerprint value generator 31 will be selected first interface title in the catalogue that stores, in the repetition subsequently (if any), it will sequentially list the interface title in the catalogue that stores.Object fingerprint generator 31 is handled the middle fingerprint value (step 114) that claims the renewal of title to produce object 22 (m) with the related interface of Secure Hash Algorithm.After this, object fingerprint value generator 31 determines whether that other interface title is in the interface title catalogue that stores (step 115)., object fingerprint value generator sure determines that this object fingerprint value generator 31 turns back to step 113, to select next interface title and use it in relevant Secure Hash Algorithm if making in step 115.
Turn back to step 110, if interface title part 41 (m) is empty, object fingerprint value generator will be made negative determining in this step.In this case, if perhaps object fingerprint value generator 31 is made in step 115 and negative is determined that it will handle the title of variable listed in section part 42 (m) in the sequential of series of steps.At first, object fingerprint value generator 31 will determine section part 42 (m) whether comprise any variable title (step 120) and if, will be from the catalogue (step 121) of section part 42 (m) retrieve variables title.Object fingerprint value generator 31 is then according to predetermined storage scheme this catalogue (step 122) of series arrangement with storage.Object fingerprint generator 31 is using the title that is producing storage of variables in the object fingerprint before them, with guarantee they (name variable) to guarantee in the identical order of not considering the fingerprint value that time point generation that fingerprint 24 (m) produces is identical.
After the variable name of storage from section 42 (m), object fingerprint value generator 31 will be selected the title (step 123) of " next one " variable in storage directory.In first repeated, object fingerprint value generator 31 was selected first name variable and in repetition subsequently (if any) in the catalogue that stores, the name variable that it will selecting sequence be arranged in objects stored.Object fingerprint value generator 31 is handled the name variable related with Secure Hash Algorithm to produce the middle fingerprint value (step 124) of the object 22 (m) that upgrades.After this, object fingerprint value generator 31 determines whether that any other name variable is in this storage compartments catalogue (step 125).If the object fingerprint generator is made in step 125 and sure being determined, object fingerprint generator 31 turns back to step 123 so that select it related with Secure Hash Algorithm of next name variable and processing.
Turn back to step 120, if section part 42 (m) is empty, object fingerprint value generator will be made negative determining in step 125.In this case, perhaps object fingerprint value generator 31 is made in step 125 and negative is determined that it will handle the method that can list in the sequential of series of steps in method and step part 43 (m).At first, object fingerprint value generator 31 will determine method and step part 43 (m) whether comprise any method (step 130) and if, will be from the catalogue (step 131) of part 43 (m) search method.This object fingerprint value generator 31 will be to arrange this catalogue according to the storage order of predetermined storage scheme, use the name class (step 132) of method separately, this method is classified in producing the object fingerprint value before using them by object fingerprint value generator 31, to guarantee that if this method changes with the order of method, do not consider the time point that fingerprint 24 (m) produces, produce the identical order of identical fingerprint value.
After the method for classification from part 43 (m), object fingerprint value generator 31 will be selected " next one " method (step 133) in the catalogue of storage.In first repeats, object fingerprint value generator 31 will be selected first method and in repetition subsequently (if any) in split catalog, the method that it will selecting sequence arrangement in split catalog.The method related with Secure Hash Algorithm of object fingerprint value generator 31 processing selecting is to produce the middle fingerprint value (step 134) of the object 22 (m) that upgrades.After this, object fingerprint value generator 31 determines whether other method (step 135) is arranged in split catalog.If object fingerprint generator 31 is made in step 135 and sure is determined that object fingerprint value generator 31 turns back to step 123, to select it related of next method and processing with Secure Hash Algorithm.
Turn back to step 130, if method and step part 42 (m) are empty, object fingerprint value generator 31 will be made negative determining in this step.If (this can occur, for example, object description the grade of interface rather than definition), in this case, if perhaps object fingerprint value generator 31 is made negative determining in step 135, it will handle the whole object 22 (m) related with Secure Hash Algorithm, so that the middle fingerprint value that upgrades is with the object fingerprint value of corresponding objects 22 (m).In this case, object fingerprint value generator 31 with the object fingerprint value of storage object 22 (m) in object fingerprint table 32 (step 140).
The invention provides some advantages.Particularly, the invention provides a kind of scheme, it can make client computer 120 with the probability of height determine such as object 22 (m) to as if special type and in order in its processing, to rebuild.Of the present invention finishing is by providing fingerprint value for object 22 (m), and this fingerprint value may use for program, so that the information category of the object that can need in the processing that is identified in it to be provided.This can be avoided using the necessity of other identifiers, object oriented for example, and it generally needs not be unique, under any circumstance, even therefore object oriented can change under the out of use mode of program, also can make it to keep identical.
We are very clear to know making some improvement in conjunction with Fig. 1 to Fig. 3 scheme recited above.For example, we will know that this scheme can be in order to connect computer system to produce the fingerprint of object though this scheme combines a plurality of a plurality of computer systems 12 (n) that connected by network internal, and this object can be gone up at for example computer-readable medium (as disk or CD-ROM) by program and distribute so that handle computing machine single or that be arranged in a row.In addition, though this scheme is in conjunction with having above 40 (m) that describe in conjunction with Fig. 2 to the tetrameric object of 43 (m), we know that it also can be used for getting in touch the object of the part with different numbers, and dissimilar really part, special significance is to produce fingerprint, so that the type of complete unique identifying object, just method, the data type of input variable and the data type of output variable.
We know according to system of the present invention and can be made of in conjunction with institute the computer system of hardware whole or the part specific use or general purpose or any of them that their any part can be by suitable programmed control.Any program can be complete or partly forms or be stored in the system in common mode, perhaps its other mechanism that can complete or partly offer the system on the network or transmit information in due form.In addition, we understand that this system can be operated and/or otherwise are controlled by the information that the operator uses operator's input block (not shown) to provide.This input block can directly be connected in the system, and perhaps it can transmission information be given the system on network or transmits the device of information in due form.
The specific embodiment that has defined this invention described above.We are clear can to make various changes and improvements to reach some or all of advantage of the present invention to the present invention.In the true purpose of the present invention and in the scope these and those changes and improvements are covered this purpose just by Rights attached thereto.

Claims (39)

1, produce system with the fingerprint of thinking an object generation fingerprint value in object-oriented (object-oriented) programming scheme, this object comprises digital information flow, and this fingerprint generation system comprises:
A, comprise the receiver of the digital information flow of this object in order to reception;
B, produce an object fingerprint generator of algorithm process digital information flow according to the hashed value of selecting, it is to select from the class that hashed value produces algorithm that this hashed value produces algorithm, and the feature that this hashed value produces algorithm is:
I responds said input data information stream, and the digital hashed value with digital bit of predetermined number is produced as output;
Ii numeral hashed value will be the function of digital information flow, consequently
(a) provide two identical inlet flows, will produce identical digital hashed value; But
(b) provide two inlet flows inequality, will extremely can not produce identical digital hashed value; With
Iii is when comprising as the object of " reference object " quoting as another object of the object that is cited, object fingerprint value generator can be handled the input digit information flow of the reference object of the object fingerprint that is cited that is included as the object generation that is cited, rather than the processing digital information flow relevant with the object that is cited
Produce digital output value that algorithm produces according to the hashed value of this selection and comprise the fingerprint that produces by said fingerprint generation system.
2, the fingerprint according to claim 1 definition produces system, and wherein the further feature of said Hash algorithm selected of the grade of the algorithm that produces from hashed value is extremely can not the regeneration digital input stream from digital output value.
3, the fingerprint according to claim 2 definition produces system, it is characterized in that the hashed value of the identification of the NIST SHA that said object fingerprint generator can be used from national science and technological associations according to the conduct of selecting produces the algorithm process digital information flow.
4, the fingerprint according to claim 2 definition produces system, it is characterized in that the hashed value of the RC4 Secure Hash Algorithm identification that said object fingerprint generator can be used from RSA company according to the conduct of selecting produces the algorithm process digital information flow.
5, the fingerprint according to claim 2 definition produces system, it is characterized in that the hashed value of the identification of the RC5 Secure Hash Algorithm that said object fingerprint generator can be used from RSA company according to the conduct of selecting produces the algorithm process digital information flow.
6, the fingerprint according to claim 1 definition produces system, and wherein said object comprises one at least to being cited of the individual object that is cited, and this object fingerprint value generator comprises:
A, the object fingerprint that is cited availability determining unit in order to determine it whether have the object that is cited be cited object fingerprint and
The sure fingerprint of object handles unit of determining that be cited that B, response are done by the said object fingerprint availability determining unit that is cited in order to the object that is cited according to the hashed value generation algorithm process of selecting.
7, produce system according to the defined fingerprint of claim 6, wherein said object fingerprint value generator also comprise response by the said object fingerprint availability determining unit that is cited negate be defined as the be cited object retrieval unit that is cited of object information of the said object retrieval that is cited, said object fingerprint value generator produces algorithm process according to the hashed value of said selection and is cited the object digital information flow to produce the said object fingerprint that is cited.
8, produce system according to the defined fingerprint of claim 7, producing the hashed value that algorithm comprises the identical selection of being used by the object fingerprint value generator of handling digital information flow and produce algorithm wherein by the be cited hashed value of the selection that the said object fingerprint value generator of object digital information flow uses of processing.
9, the fingerprint according to claim 6 definition produces system, wherein said object, wherein said object comprises that each a plurality of of each to a plurality of objects that are cited quotes, object fingerprint value generator also comprises according to the predetermined said taxon that is cited of series classification, the object fingerprint that is cited possibility determining unit with by the relevant repetition series of the series that is cited of said order in the object handles unit that is cited of working.
10, the fingerprint according to claim 1 definition produces system, wherein said object comprises a plurality of elements, fingerprint produces system and comprises also in order to classification and comprise taxon according to the part of the digital information flow of other element of branch of the digital information flow that produces classification that object fingerprint value generator produces digital hashed value with the digital information flow of storage.
11, the fingerprint according to claim 1 definition produces system, and wherein said object comprises a series of part, and object fingerprint value generator is sequentially handled continuous various piece.
12, the fingerprint according to claim 11 definition produces system, wherein each part also comprises many, individual unit, fingerprint produces system and also comprises the taxon that comprises the part of the middle digital information flow in other unit of branch in order to the storage sequence of selecting according to the digital information flow that produces storage in each part, and object fingerprint value generator produces digital hashed value from the digital information flow that stores.
13, produce system with the fingerprint of thinking an object generation fingerprint value in the object based programming scheme, this object comprises digital information flow, and this fingerprint production method comprises the steps:
A, reception comprise the digital information flow of object;
B, produce the algorithm process digital information flow, produce the hashed value of selecting the class of algorithm from hashed value and produce algorithm and be characterised in that according to the hashed value of selecting
I responds said input digit information flow, and the digital hashed value with digital bit of predetermined number will produce as output;
Ii numeral hashed value will be the function of digital information flow, consequently
(a) provide two identical inlet flows, will produce identical digital hashed value; But
(b) provide two inlet flows inequality, will extremely can not produce identical digital hashed value; With
Iii is when comprising as the object of " reference object " quoting as another object of the object that is cited, object fingerprint value generator can be handled the input digit information flow of the references object of the benchmark object fingerprint that is included as the generation of benchmark object, rather than the digital information flow relevant with the object that is cited;
Produce the digital output value that algorithm produces according to the hashed value of this selection and comprise this fingerprint.
14, according to the fingerprint production method of claim 13 definition, wherein the said hashed value that produces the selection of algorithm from said hashed value produce that algorithm is characterized in that extremely can not be from the digital output value digital input stream of regenerating.
15, according to the defined fingerprint production method of claim 14, wherein, during said object fingerprint value produced step, the hashed value of the NISTSHA identification that can use from national science and technological associations according to the conduct of selecting produced the algorithm process digital information flow.
16, according to the fingerprint production method of claim 14 definition, wherein produce in the step, according to the hashed value generation algorithm process digital information flow of the conduct of selecting from the identification of the next available RC4 Secure Hash Algorithm of RSA company in said object fingerprint value.
17, the fingerprint production method that defines according to claim 14 is wherein in the step that said object fingerprint value produces, according to the hashed value generation algorithm process digital information flow of the conduct of selecting from the identification of the next available RC5 Secure Hash Algorithm of RSA company.
18, according to the fingerprint production method of claim 13 definition, wherein said object comprises one at least to the quoting of the object that is cited, and this object fingerprint produces step and comprises the steps:
A determine to be cited object fingerprint whether offer said be cited object and
B is corresponding sure determining in the said object fingerprint availability determining step that is cited, and produces the algorithm process object fingerprint that is cited according to the hashed value of selecting.
19, the fingerprint production method that defines according to claim 18, wherein said object fingerprint value produces negative the determining that step comprises that also response is done by the object fingerprint value availability determining unit that is cited, be the be cited step of object digital information flow and produce the algorithm process object digital information flow that is cited of the said object retrieval of being cited according to the hashed value of the said selection that produces the said object fingerprint that is cited.
20, according to the fingerprint production method of claim 18 definition, wherein produce in the step in the hashed value of selecting, the hashed value of the selection that this is identical produces algorithm and resembles to be used for resembling handling and handle the object digital information flow that is cited the digital information flow.
21, the fingerprint production method that defines according to claim 18, wherein, said object comprise each to a plurality of objects that are cited a plurality of of each quote, the object fingerprint value produces step and also comprises according to the predetermined said step that is cited of series classification, the object fingerprint that is cited availability determining step with series by a series of relevant repetitions that are cited of said order in carry out the step of the object handles that is cited.
22, the fingerprint production method that defines according to claim 13, wherein said object comprises a plurality of elements, and the method that this fingerprint produces comprises that also the classified order classification according to the selection of the digital information flow that produces classification comprises the step of part of the digital information flow of other element of branch.
23, according to the defined fingerprint production method of claim 13, wherein said object comprises a series of part, and the object fingerprint value produces the step that step comprises the various piece of sequential processes polyphone.
24, the fingerprint production method that defines according to claim 23, wherein each part also comprises a plurality of unit, this fingerprint production method also comprises the step according to classified order part of breakdown figures information flow in comprising each part of other unit of branch of the selection of the digital information flow that produces classification, and digital hashed value generates from the digital information flow of classification.
25, in the object based programming scheme fingerprint generation computer program that an object produces fingerprint value in order to control computer, this object comprises digital information flow, and this fingerprint produces computer program and comprises the machine-readable medium that has coded message thereon:
Can make said computing machine receive the receiver code device of the digital information flow that comprises this object;
Object fingerprint value generator code device can make said computing machine produce the algorithm process digital information flow according to the hashed value of selecting, and the hashed value generation algorithm that produces a class selection of algorithm from hashed value is characterised in that:
I responds said input digit information flow, and generation is had the digital hashed value of predetermined digital bit number as output;
Ii numeral hashed value will be the equation of digital information flow, consequently
(a) provide two identical inlet flows, will produce identical digital hashed value, still,
(b) provide two inlet flows inequality, will extremely can not produce identical digital hashed value; With
Iii is when comprising as the object of " reference object " another quoting as the object of the object that is cited, object fingerprint value generator can be handled the input digit information flow of the references object of the object fingerprint that is cited that is included as the object generation that is cited, rather than with the digital information flow of benchmark object association
Produce digital output value that algorithm produces according to the hashed value of selecting and comprise the fingerprint that produces by said fingerprint generation system.
26, the fingerprint according to claim 25 definition produces computer program, and the wherein said grade that produces algorithm from said hashed value selects hashed value to produce that system is further characterized in that extremely can not be from the digital output value digital input stream of regenerating.
27, the fingerprint according to claim 26 definition produces computer program, and wherein said object fingerprint value generator code device can make computing machine according to the hashed value that the be identified generation algorithm process digital information flow of the conduct of selecting from the available NIST SHA of national science and technological associations.
28, the fingerprint according to claim 26 definition produces computer program, and wherein said object fingerprint value generator code device can make computing machine according to the hashed value that the be identified generation algorithm process digital information flow of the conduct of selecting from available a kind of RC4 Secure Hash Algorithm of RSA company.
29, the fingerprint according to claim 26 definition produces computer program, wherein said object fingerprint value computer code devices can make said computing machine according to the conduct of selecting from RSA company can with a kind of hashed value that is identified of RC5 Secure Hash Algorithm produce the algorithm process digital information flow.
30, the fingerprint according to claim 25 definition produces computer program, and wherein said object comprises that at least this object fingerprint value generator code device comprises to the quoting of the object that is cited:
A, the object fingerprint utilizability that is cited that can make said computing machine determine whether that it has an object fingerprint that is cited of the said object that is cited determine code device and
B, can make the response of said computing machine, produce the be cited object handles code device that is cited of object fingerprint of algorithm process according to the hashed value of selecting by the said object fingerprint availability determining unit that is cited.
31, the fingerprint according to claim 30 definition produces computer program, wherein said object fingerprint value generator code device also comprises the object retrieval coding device that is cited, and it can make negative determine to retrieve the be cited object digital information flow of said be cited object of said computing machine response during the said object fingerprint availability that is cited is determined the processing of code device.Said object fingerprint value generator code device produces the algorithm process object digital information flow that is cited according to the be cited hashed value of selection of object fingerprint of said generation.
32, produce computer program according to the defined fingerprint of claim 31, the identical selection hashed value generation algorithm that the hashed value of wherein handling the selection of using during the processing of said object fingerprint value generator code device of the object digital information flow that is cited produces that algorithm comprises and uses during the processing of the object fingerprint value generator code device of processing digital information flow.
33, the fingerprint according to claim 30 definition produces computer program, wherein said object comprises that a plurality of of some in each corresponding a plurality of object that are cited quote, object fingerprint value generator code device comprises can make computing machine according to the predetermined said taxon of quoting of series classification, with control said computing machine by with a series of object handles code devices that are cited of quoting relevant repetition series work of said order.
34, the fingerprint according to claim 25 definition produces computer program, wherein said object comprises a plurality of elements, fingerprint produce computer program also comprise can make computing machine according to the classified order classification of selecting by the part of the digital information flow that divides other element set to become Sort Code device with the digital information flow that produces classification, this object fingerprint value generator code device can help computing machine to produce digital hashed value from the breakdown figures information flow.
35, the fingerprint according to claim 25 definition produces computer program, and said object comprises a series of part, and this object fingerprint generator code device can make said computing machine sequential processes divide other series connection part.
36, the fingerprint according to claim 35 definition produces computer program, wherein each part also comprises a plurality of unit, this fingerprint generation computer program also comprises can make said computing machine according to the Sort Code device that produces the selected classified order of breakdown figures information flow breakdown figures information flow in each part of being made up of other unit of branch, and this object fingerprint value generator code device can make computing machine produce digital hashed value from the digital information flow of classification.
37, produce system with a kind of fingerprint of thinking an object generation fingerprint value in the object based programming scheme, this fingerprint generation system comprises:
A a: computing machine; With
B: control the control device of said computing machine, it comprises:
I can make said computing machine receive the module of the digital information flow of being made up of object;
The hashed value that ii can make said Computer Processing select produces the object fingerprint value generation module of this digital information flow of algorithm process, and it is to select from a class of hashed value generation algorithm that this hashed value produces algorithm, and it is characterised in that:
A, the said input digit information flow of response, generation has the digital hashed value of predetermined number bit number as output;
B, this numeral hashed value will be the functions of digital information flow, consequently
(I) provide two identical inlet flows, will produce identical digital hashed value; But
(II) provide two inlet flows inequality, will extremely can not produce identical digital hashed value; With
C, when comprising as the object of " reference object " to another quoting as the object of the object that is cited, this object fingerprint value generator can be handled the input digit information flow of the references object of the object fingerprint that is cited that is included as the object generation that is cited, rather than the digital information flow that is associated with the object that is cited
Produce digital input value that algorithm produces according to the hashed value of selecting and comprise the fingerprint that produces by said fingerprint generation system.
38, being easy in the object based programming scheme is the control device that is connected use with computing machine that an object produces fingerprint value, and this object comprises digital information flow, and this control device comprises:
A, can make said computing machine receive the receiver module of the digital information flow of forming by object;
B, can make said computing machine produce the object fingerprint value generation module of algorithm process digital information flow, should produce hashed value that a grade of algorithm selects by hashed value and produce algorithm and be characterised in that according to the hashed value of selecting:
I responds said input stream, and generation is had the digital hashed value of predetermined digital bit number as output;
Ii should the numeral hashed value will be the function of digital information flow, consequently
(a) provide two identical inlet flows, will produce identical digital hashed value, still
(b) provide two inlet flows inequality, will extremely can not produce identical digital hashed value; With
Iii is when comprising as the object that is cited the reference of another object as the object of " reference object ", this object fingerprint value generator can be handled the input digit information flow of the reference object of the object fingerprint that is cited that is included as this object generation that is cited, rather than with the digital information flow of the object association that is cited
Produce digital output value that algorithm produces according to the hashed value of selecting and comprise the fingerprint that produces by said fingerprint generation system.
39, be stored in computer-readable medium in order to distribution and by the system of the executable code of computing machine, this code comprises that a plurality of program blocks, each program block are configured so that control computer is with the generation of the fingerprint value of simplifying an object in the object based programming device, this object comprises digital information flow, and this system comprises:
A, can make said computing machine receive the receiver module of the digital information flow that constitutes this object;
B, can make said computing machine produce the target fingerprint value generation module of algorithm process digital information flow, produce hashed value that a class of algorithm selects from hashed value and produce algorithm and be characterised in that according to the hashed value of selecting:
I responds said input digit information flow, and generation is had the digital hashed value of predetermined digital bit number as output;
Ii numeral hashed value will be the equation of digital information flow, consequently
(a) provide two identical inlet flows, will produce identical digital hashed value; But
(b) provide two inlet flows inequality, with extremely can not produce identical digital hashed value and
Iii is when comprising as the object of " reference object " another input stream that this object fingerprint value generator can be handled the reference object of the object fingerprint that is cited that is included as this object generation that is cited of quoting as the object of the object that is cited, rather than with the related digital information flow of the object that is cited
This produces digital output value that algorithm produces according to hashed value of selecting and comprises the fingerprint that is produced by said fingerprint generation system.
CN 97113646 1996-04-23 1997-04-23 System for generating only identification character for identifying object type used in object program and method thereof Pending CN1177776A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 97113646 CN1177776A (en) 1996-04-23 1997-04-23 System for generating only identification character for identifying object type used in object program and method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US636707 1984-08-01
CN 97113646 CN1177776A (en) 1996-04-23 1997-04-23 System for generating only identification character for identifying object type used in object program and method thereof

Publications (1)

Publication Number Publication Date
CN1177776A true CN1177776A (en) 1998-04-01

Family

ID=5172704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 97113646 Pending CN1177776A (en) 1996-04-23 1997-04-23 System for generating only identification character for identifying object type used in object program and method thereof

Country Status (1)

Country Link
CN (1) CN1177776A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220019697A1 (en) * 2020-07-16 2022-01-20 Humanscape Inc. System for embedding digital verification fingerprint and method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220019697A1 (en) * 2020-07-16 2022-01-20 Humanscape Inc. System for embedding digital verification fingerprint and method thereof
US11836274B2 (en) * 2020-07-16 2023-12-05 Humanscape Inc. System for embedding digital verification fingerprint and method thereof

Similar Documents

Publication Publication Date Title
US6055526A (en) Data indexing technique
US5991862A (en) Modified indirect addressing for file system
US5809494A (en) Method for rapidly and efficiently hashing records of large databases
US7590625B1 (en) Method and system for network load balancing with a compound data structure
US20080263072A1 (en) Methods of Encoding a Combining Integer Lists in a Computer System, and Computer Software Product for Implementing Such Methods
US8386526B2 (en) Coupled node tree backup/restore apparatus, backup/restore method, and program
CN1117318C (en) System and method for runtime optimization of private variable function calls in secure interpreter
CN101855620A (en) Data processing apparatus and method of processing data
US4499551A (en) Rapid generation of discrete random variates from general distributions
CN111209341B (en) Data storage method, device, equipment and medium of block chain
CN111651695A (en) Method and device for generating and analyzing short link
JPH09245043A (en) Information retrieval device
CN111475511A (en) Data storage method, data access method, data storage device, data access device and data access equipment based on tree structure
US3643225A (en) Memory control system
CN1177776A (en) System for generating only identification character for identifying object type used in object program and method thereof
US7096462B2 (en) System and method for using data address sequences of a program in a software development tool
EP2003577A2 (en) Methods of encoding and combining integers lists in a computer system, computer system and software product for implementing such methods
CN109165220B (en) Data matching calculation method
CN113239052B (en) Alliance chain grouping method, device, equipment and medium
CN116382696B (en) Engineering attribute dynamic analysis and submission method based on factory object position number
CN113535334B (en) Project construction method, device and storage medium based on Docker
CN113535838A (en) Data interaction method and system based on binary coding
CN113849705A (en) Mass data retrieval method, system and storage medium
Austin et al. Using correlation matrix memories for inferencing in expert systems
US6785895B1 (en) Marshalling interface between provider and server

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned
C20 Patent right or utility model deemed to be abandoned or is abandoned