Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Continued Examination Under 37 CFR 1.114 A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 06/29/2026 has been entered.
DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 1, 3-8, 10-15, 17-23 are presented for the examination. Claims 2, 9, 16 are canceled.
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
Claims 1, 8, 15 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. The feature of generating an aggregate value by mixing a first set of bits of the session-based nonce with a second set of bits from the second value was not described in the specification.
Double Patenting
3. The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the "right to exclude" granted by a patent and to prevent possible harassment by multiple assignees. See In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970);and, In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
3. A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) may be used to overcome an actual or provisional rejection based on a nonstatutory double patenting ground provided the conflicting application or patent is shown to be commonly owned with this application. See 37 CFR 1.130(b).
Effective January 1, 1994, a registered attorney or agent of record may sign a terminal disclaimer. A terminal disclaimer signed by the assignee must fully comply with 37 CFR 3.73(b).
4. Claims 1-20 are rejected under the judicially created doctrine of obviousness-type double patenting as being unpatentable over claims 1-20 of US 11755373 B2. Although the conflicting claims are not identical, they are not patentably distinct from each other because both computer systems comprise substantially the same elements of US Patent 11755373 B2 teaches generating a first value that is unique to a particular session of a runtime environment; generating a data object having a second value within the runtime environment ( generating a first value that is unique to a particular allocation region within memory; generating a second value as a function of the first value and at least a third value that is associated with an object stored within the particular allocation region within memory). The difference between claims 1, 11 of the US Patent and this case are the first value is a session-based nonce generated when the particular session is initiated and maintained throughout a life of the particular session; generating an aggregate value by mixing a first set of bits of the session-based nonce with a second set of bits from the second value; generating a structural hash by applying a hash function to an the aggregate value;;wherein the aggregate value is generated as a function of at least the session-based nonce and the second value; and storing a mapping between the structural hash and the second value, wherein the runtime environment uses the structural hash for (a) the first data object and (b) one or more other data objects sharing the second value during the particular session. It would have been obvious to one of the ordinary skill level in the art to include a filter graph since it was well known at the time of the invention to provides flexible data mapping for storage optimization can be customized based on access patterns.
5. The cross reference related to the application cited in the specification must be updated (i.e. update the relevant status, with PTO serial numbers or patent numbers where appropriate, on para[0001]). The specification should be so revised.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
6. Claim(s) 1, 8, 15 are rejected under 35 U.S.C. 103 as being unpatentable over Modadugu(US 8615651 B1) in view of AUTRY( US 20210167963 A1) in view of Thomlinson(US 5778069 A) in view of in view of Vijayanarasimha( US 8977627 B1).
As to claim 1, Modadugu teaches generating a first value that is unique to a particular session of a runtime environment, generating a first value session-based nonce that is unique to a particular session of a runtime environment, ( unique nonce in the set of nonces can be used to create a unique session key for a future communication session that is unique to that communication session. In some implementation, the client device 102 can obtain the set of nonces from a database 110. In other implementations, the nonces that make up the set of nonces are randomly generated by the server 104. The server 104 can then store the randomly generated nonces in the database 110., col 5, ln 3-15/ The communication session initiation information can include, for example, a device ID for the client device 102 (e.g., an IP address or hardware ID), a first nonce, and/or a session ID for the first communication session. The first nonce is a value (e.g., a numeric value) that is unique to the first communication session. The first nonce is intended to be used only for the first communication session, col 3, ln 17-25);
wherein the session-based nonce differs from session-based nonces of other sessions within the runtime environment( using one or more nonces that are unique to a current communication session, col 4, ln 62-67/Each nonce within the set of nonces is intended to be used in association with only one communication session. Each unique nonce in the set of nonces can be used to create a unique session key for a future communication session that is unique to that communication session. , col 5, ln 1-8/ A plurality of nonces are provided to the remote device (304). For example, a web server (e.g., the server 104 of FIG. 1) can provide a plurality of nonces to a personal computer (e.g., the client device 102 of FIG. 1). The nonces can be randomly generated numbers of codes that are to be used to generate unique session keys for future communication sessions. In some implementations, each nonce is a one use encryption code that is intended to be used in association with a single communication session, col 11, ln 20-30).
Autry teaches generating a first value that is unique to a particular session of a runtime environment, wherein the first value is a session-based nonce generated when the particular session is initiated and maintained throughout a life of the particular session( The private keys may be generated using a device property. They may be generated during boot up of each device, para[0079], ln 7-10/ After “Handshaking”, the assets proceed to a “Commitment” phase 6, shown briefly in FIG. 2, and in more detail in FIG. 5. In this phase 6, each participating asset first generates a 204-bit nonce at step 40. Each asset then takes its own private key, which is a 20-bit key individual to each asset, created during operating-system boot of the asset, based on the asset's UID and never shared, and concatenates this private key with the nonce generated at step 40, to generate a one-time 224-bit secret key at step 42. Since this secret key includes a nonce, it is different during each authentication session and unique to each session, para[0115]/ Once confirmation is received from all other assets of receipt of an asset's Secret Key value, that asset is deemed to have reached the third milestone, M3. Each asset stores the received Secret Keys of the other assets for a particular authentication session for the duration of that particular session, para[0119], ln 10-17/ The role of the proxy is to act as an independent third body possessing a certain level of trust (because it has been authenticated before and is authorized to play role of proxy for the authentication of specified types of devices, using specific bands, etc.) to ensure independent facilitation of authentication session, para[0127], ln 1-7).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the above teaching to incorporate the above feature because this provides unique keys are generated between assets in each authentication attempt, there are no permanent keys or certificates that could be hacked by an attacker.
Thomlinson teaches generating a data object having a second value within the runtime environment( During operation, the random number generator 16 receives the seed at initialization. Thereafter, the random number generator 16 generates the stream of random numbers by reconstituting the value held in the internal state register 24, col 2, ln 5-11/ FIG. 3 shows a pseudo random number generator 40 according to a first implementation of this invention. The pseudo random number generator 40 includes a random bit seed creating unit 42 and a stream generator 44, col 4, ln 5-20/ For instance, in the former approach, the input device 50 is constructed as a set of passive registers, whereby block 52 represents a register to hold the static class of bits, block 54 represents a register to hold the machine class of bits, and block 56 represents a register to hold the application class of bits, col 5, ln 35-40);
generating an aggregate value by mixing a first set of bits of the session-based nonce with a second set of bits from the second value; generating a structural hash by applying a hash function to an the aggregate value( operating parameters of the computer, including time of day information, date, amount of memory available at a given time, and so on. In general, these parameters are regarded as sufficiently random for simple cryptography applications, col 2, ln 45-50/The input device 50 also gathers one or more external classes of bits from one or more sources external to the random number generator. For instance, in the illustrated implementation, the input device gathers a machine class of bits which relate to operating parameters of the computer (e.g., time of day, date, memory allocation). The machine class of bits is represented by block 54. Another external class of bits is an application class of bits which relate to execution of an application running on the computer. The application class of bits is represented by block 56. In this last class, the application supplies the bits to the input device. The application bits are assumed to be only weakly random. One example of an application class of bits is a set of bits produced by monitoring keystroke frequency as the user types in a message. Table 1 summarizes the three classes of bits used by the seed creating unit 42, col 4, ln 60-67 to col 5, ln 1-10/ The input device 50 concatenates the three classes of bits into an arbitrary length input bit string. The allocation of bits from the three classes can be varied and adjusted as desired. The seed creating unit 42 also has a hash computing device 58 which is coupled to receive the string of concatenated classes of bits. The hash computing device 58 computes an m-bit hash value from the input bit string. In one implementation, the hash computing device 58 uses a one-way hash function known as SHA (secure hash algorithm) to produce a 160-bit hash value from an input bit string. The hash value is used as the initializing seed for the stream generator 44, col 5, ln 50-67/ Use of a hashing function ensures that the input bits, and particularly the weakly random application class of bits which are optionally passed into the random number generator, cannot bias the seed produced by the seed creating unit 42, col 6, ln 5-10/ The hashing function has a characterizing property in that it is computationally infeasible to derive the input value from the output value. One suitable hashing function is SHA (secure hash algorithm), a one-way hash that reduces a 512-bit input bit string to a 160-bit hash value which can be chained together for longer values, col 3, ln 32-40 );
wherein the runtime environment uses the structural hash for (a) the first data object and (b) one or more other data objects sharing the second value during the particular session( in the former approach, the input device 50 is constructed as a set of passive registers, whereby block 52 represents a register to hold the static class of bits, block 54 represents a register to hold the machine class of bits, and block 56 represents a register to hold the application class of bits. The registers can be implemented in hardware or software and sized to hold the appropriate number of bits for the respective classes. The computer and applications pass the bits into the appropriate registers of the input device. Alternatively, in the latter approach, the input device 50 is configured to actively call and request the external classes from the computer or application. In this situation, some of the blocks 52, 54, and 56 represent a combination of software routines which execute on a computer to retrieve bits from the external sources and memory-based registers which hold the retrieved bits, col 5, ln 35-51/ the bit manipulating device 64 is connected to receive the previous bit value from the static bit register 52 and the hash value computed by the hash computing device 58. The bit manipulating device 64 computes a next bit value according to a function of the previous bit value and the hash value, col 6, ln 60-67/ hold the classes of bits in associated registers; and change a bit value of one of the classes of bits in one of the registers according to a function of the hash value, col 10, ln 65-67 to col 11, ln 1-2).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the above teaching to incorporate the above feature because this provides a need to develop secure random number generators that produce pseudo random bit strings and computer techniques that create seeds of high entropy.
Vijayanarasimha teaches generating a structural hash for the data object as a function of at least the first value and the second value; and storing a mapping between the structural hash and the second value(The generator component 602 constructs, provides, or otherwise generates a set of hash tables 604 (e.g., hash table 1-hash table N)[ a structural hash] for a set of object filters. The quantity of hash tables in the set of hash tables is determined as a function of the length of the hash values extracted by the hashing component 106, and hash values corresponding to the object filters are partitioned, split, or otherwise divided among the hash tables. For example, if the hashing component 106 extracts 100 bits, then the generator component 602 can construct 25 hash tables for four bits each, col 9, ln 32-42/ obtaining image windows for particular features that would be convolved with object filters from images, computing hash values for the object windows, and using the hash values to directly lookup object filters stored in a hash table, col 3, ln 10-15/ the set of respective hash values can be compared against each of the 25 hash tables. At reference numeral 908, a quantity (e.g., number) of the respective hash values corresponding to one or more object filters in the set of hash tables is tracked (e.g., using counter component 606). Returning again to the previous example, if a hash value in the set of respective hash values contains four bits that match the bits contained in a hash table for an object filter, then a match is recorded for the hash value, col 11, ln 41-50).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the teaching of Burr, Autry and Philipp with Vijayanarasimha to incorporate the above feature because this flexible data mapping for storage optimization can be customized based on access patterns.
As to claims 8, 15, they are rejected for the same reason as to claim 1 above.
7. Claim(s) 3, 10, 17 are rejected under 35 U.S.C. 103 as being unpatentable Modadugu(US 8615651 B1) in view of AUTRY( US 20210167963 A1) in view of Vijayanarasimha( US 8977627 B1) and further in view of Giralte( US 20200067862 A1).
As to claim 3, Giralte teaches the nonce is changed when a new session with the runtime environment is initiated(The random token generator 132 produces a unique random number. In some embodiments, the unique random number is generated for the current challenge session. In some embodiments, the unique random number is generated for the source IP address from where the email message was received. The random token generator 132 generates a number that signifies a number of hash functions the client device is required to perform on the challenge message in order to provide a correct response to the server 104. In some embodiments, the random token generator 132 generates a relatively low random number, for example between 1 and 10 for trusted clients and generates a relatively high random number, for example a number between 500,000 and 100,000,000 for unknown clients. When the random number is generated a estimated timeout may be calculated. Any method of determining an amount of time in which to expect a result from the client device may be used. For example, on a CPU INTEL® CORE™i7-6820HQ CPU @ 2.70 GHz, a random number of 1,000,000 (i.e., the number of hashes required to correctly respond to the challenge message), the CPU takes 1.135 seconds to perform 1,000,000 hashes, para[0023], ln 10-30) .
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the above teaching to incorporate the above feature because this provides proof-of-work based on hash mining for reducing spam attacks.
As to claims 10, 17, they are rejected for the same reasons as to claims 2, 3 above.
8. Claim(s) 4, 5, 11, 12, 18 are rejected under 35 U.S.C. 103 as being unpatentable over Modadugu(US 8615651 B1) in view of AUTRY( US 20210167963 A1) in view of Vijayanarasimha( US 8977627 B1) in view of Krishnaswamy( US 5974421 A) and further in view of Gauravaram(US 20140298038 A1).
As to claim 4, Krishnaswamy teaches generating the structural hash comprises generating an aggregate value by mixing one or more additional values with the session-based nonce and the second value; and applying a hash function to the aggregate value( creates hash table entries for each object (step 942). In this step, the object loader has received the GUID for each object and converts the GUIDs into OIDs as described in step 904 and hashes these OIDs into indexes into the hash table as described in step 906. The object loader then accesses the indicated bucket chain and inserts an object entry into the first empty entry in the bucket chain. If no empty entries are found and the end of the bucket chain is reached, a new bucket is allocated and added to the end of the bucket chain. In creating the object entry, the object loader calculates a discriminator as described above in step 908 and inserts a reference to the object's field in the object handle table , col 12, ln 15-26/ he conventional object loaders utilize the conventional hashing mechanism 100 by using an object identifier as the key 102 and by storing both the memory addresses of the objects and the object identifiers as the data in the hash buckets 110-130 of the hash table 108. As such, upon receiving an object identifier of a given object from an application program, the conventional object loader retrieves the memory address of the object by applying the hash function 104 to the object identifier to create an index 106 which refers to a hash bucket of the hash table 108 and by retrieving the memory address for the object from the hash bucket. If the memory address for the object is not yet contained in the hash table, the object loader locates the object from a secondary storage device, col 2, ln 50-65).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the above teaching to incorporate the above feature because this is desirable to improve the performance of object loaders and to improve performance.
Gauravaram teaches the aggregate value is generated by a mixing function( At block 230, each of the predetermined number of data blocks of the message is randomized using the concatenated random value. For example, a mixing function may be used to mix the bits in the data blocks with the concatenated random value for randomizing the message. In an implementation, the secondary randomization module 150 may randomize the data blocks using the concatenated random value, para[0060]/ the randomized message may be used as an input by the hash function, para[0065], ln 1-2).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the above teaching to incorporate the above feature because this ensures the security and efficiency of an underlying information processing application.
As to claim 5, Krishnaswamy teaches the one or more additional values includes at least one value extracted from an immutable field of the first data object and at least one value derived from a source external to the first data object( col 6, ln 5-10) for the same reason as to claim 4 above.
As to claims 11, 12, 18 , they are rejected for the same reasons as to claims 4, 5 above.
8. Claim(s) 6, 13, 19 are rejected under 35 U.S.C. 103 as being unpatentable over Modadugu(US 8615651 B1) in view of AUTRY( US 20210167963 A1) in view of Vijayanarasimha( US 8977627 B1) and further in view of Yurchenko( US 20160055230 A1).
As to claim 6, Yurchenko teaches generating the structural hash comprises: generating a hash code by applying a hash function to a particular value that is derived from at least the second value; and mixing one or more salt values with the hash code( For each hot spot, the hash function is applied to a unique hot-spot identifier of that hot spot to generate a corresponding hash code. This hash code is then assigned to a node selected from the nodes 104. Optionally, the hash code is assigned to a node selected randomly from the nodes 104. A hash table is then populated with the hash code and a unique node identifier of the node to which this hash code is assigned. It will be appreciated that each node of the nodes 104 has an identical copy of the hash table, so as to enable a deterministic selection of a hot-spot servicing node at a given time, para[0092]).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the above teaching to incorporate the above feature because this avoiding conflicts may be a necessary requirement, if these applications are unable to handle an unexpected abortion of database transactions in a logical manner.
As to claims 13, 19, they are rejected for the same reason as to claim 6 above.
9. Claim(s) 7, 14, 20 are rejected under 35 U.S.C. 103 as being unpatentable over Modadugu(US 8615651 B1) in view of AUTRY( US 20210167963 A1) in view of Vijayanarasimha( US 8977627 B1) and further in view of Graybill( US 5371499 A).
As to claim 7, Graybill teaches the second value is a first string value, the instructions further causing: comparing the structural hash to another structural hash derived from a second string value included in a second data object; determining, based on said comparing, whether the first string value matches the second string value( Consider the string "ABCDEABCD", with a subblock size for hash table 1 of 3, and a subblock size for hash table 2 of 4. To start, hash table 1 hashes the string "ABC" to produce a key K.sub.11, and hash table 2 hashes the string "ABCD" to produce a key K.sub.21. Since this is the first hash computation, a hash match is not found in either hash table, and the input source pointer is incremented to point at "BCD" and "BCDE" respectively. Note that key K.sub.21 is based on the string "ABCD", while the key about to be computed, K.sub.12, is based on the string "BCD", col 7, ln 3-15).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the above teaching to incorporate the above feature because this provides a highly effective data compression ratio and data compression rate.
As to claims 14, 20, they are rejected for the same reason as to claim 7 above.
10. Claim(s) 21 is rejected under 35 U.S.C. 103 as being unpatentable over Modadugu(US 8615651 B1) in view of AUTRY( US 20210167963 A1) in view of Vijayanarasimha( US 8977627 B1) and further in view of Uzun( US 20160224799 A1).
As to claim 21, Uzum teaches the session-based nonce is used across different allocation regions( The publisher can use the random nonce in the name to distinguish Interests issued from different users and different sessions (initiation instances), para[0189], ln 1-3/ When client 112 establishes a session with content publisher 110, para[0056], ln 67-10).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the above teaching to incorporate the above feature because this allows the consumer and publisher to benefit from in-network caching, which can result in slow response times for the consumer and undesirably large request loads for the content producer.
11. Claim(s) 22 is rejected under 35 U.S.C. 103 as being unpatentable over Modadugu(US 8615651 B1) in view of AUTRY( US 20210167963 A1) in view of PHILIPP (US 20220069995 A1 ) in view of Vijayanarasimha( US 8977627 B1) and further in view of
Haeberle(US 20140081925 A1).
As to claim 22, Philipp teaches the structural hash associated with different objects (para[0053]);
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the above teaching to incorporate the above feature because this applied the credential as a symmetric key to increase the entropy of the encrypted data encrypted under the public key cryptography scheme, thereby securing the encrypted data with the credential
Haeberle teaches the structural hash maps identical object values associated with different objects to a same hash code for the particular session( At 410, alert reports are received, for example, at an aggregation engine. The alert reports can be SPRs generated at multiple tenants and system tenants (e.g., from events due to failures in systems). At 420, fingerprints are generated for each alert message in the alert reports. The fingerprint can represent key information of the alert message, and can be computed into a predetermined format for ease of comparison. The fingerprint can be calculated using any appropriate hashing algorithm. For example, the fingerprint can be a hash code generated in correspondence to each of the alert reports using various appropriate hashing algorithms. The hashing algorithms may be applied to certain common fields of the alert reports. At 430, the fingerprints of the alert reports are compared for duplicate and/or similar values. For example, each of the generated fingerprints (e.g., hash codes) is compared to other fingerprints of other alert reports, as well as previously-generated fingerprints associated with previously received alert reports, to identify duplicate alert reports having similar generated hash codes. At 440, duplicate alert reports are identified. For example, a difference threshold can be set with the fingerprints within the threshold being defined as duplicates, para[0064], ln 6-29).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the above teaching to incorporate the above feature because this identified duplicate alert reports having similar generated hash codes.
12. Claim(s) 23 is rejected under 35 U.S.C. 103 as being unpatentable over Modadugu(US 8615651 B1) in view of AUTRY( US 20210167963 A1) in view of PHILIPP (US 20220069995 A1 ) in view of Vijayanarasimha( US 8977627 B1) and further in view of Gauravaram(US 20140298038 A1).
As to claim 23, Gauravaram teaches the aggregate value is generated by a mixing function( At block 230, each of the predetermined number of data blocks of the message is randomized using the concatenated random value. For example, a mixing function may be used to mix the bits in the data blocks with the concatenated random value for randomizing the message. In an implementation, the secondary randomization module 150 may randomize the data blocks using the concatenated random value, para[0060]/ the randomized message may be used as an input by the hash function, para[0065], ln 1-2).
It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the above teaching to incorporate the above feature because this ensures the security and efficiency of an underlying information processing application.
Response to the argument:
A. Applicant amendment filed on 06/29/2026 has been considered but they are not persuasive:
Applicant argued in substance that :
“ claim 1 recites that a runtime environment uses a structural hash for (a) a first data object and (b) one or more other data objects sharing the second value during a runtime session, where the structural hash is applying a hash function to an aggregate value and the aggregate value”.
B. Examiner respectfully disagreed with Applicant's remarks:
As to the point (1), Thomlinson teaches generating a data object having a second value within the runtime environment( During operation, the random number generator 16 receives the seed at initialization. Thereafter, the random number generator 16 generates the stream of random numbers by reconstituting the value held in the internal state register 24, col 2, ln 5-11/ FIG. 3 shows a pseudo random number generator 40 according to a first implementation of this invention. The pseudo random number generator 40 includes a random bit seed creating unit 42 and a stream generator 44, col 4, ln 5-20/ For instance, in the former approach, the input device 50 is constructed as a set of passive registers, whereby block 52 represents a register to hold the static class of bits, block 54 represents a register to hold the machine class of bits, and block 56 represents a register to hold the application class of bits, col 5, ln 35-40/ operating parameters of the computer, including time of day information, date, amount of memory available at a given time, and so on. In general, these parameters are regarded as sufficiently random for simple cryptography applications, col 2, ln 45-50/The input device 50 also gathers one or more external classes of bits from one or more sources external to the random number generator. For instance, in the illustrated implementation, the input device gathers a machine class of bits which relate to operating parameters of the computer (e.g., time of day, date, memory allocation). The machine class of bits is represented by block 54. Another external class of bits is an application class of bits which relate to execution of an application running on the computer. The application class of bits is represented by block 56. In this last class, the application supplies the bits to the input device. The application bits are assumed to be only weakly random. One example of an application class of bits is a set of bits produced by monitoring keystroke frequency as the user types in a message. Table 1 summarizes the three classes of bits used by the seed creating unit 42, col 4, ln 60-67 to col 5, ln 1-10/ The input device 50 concatenates the three classes of bits into an arbitrary length input bit string. The allocation of bits from the three classes can be varied and adjusted as desired. The seed creating unit 42 also has a hash computing device 58 which is coupled to receive the string of concatenated classes of bits. The hash computing device 58 computes an m-bit hash value from the input bit string. In one implementation, the hash computing device 58 uses a one-way hash function known as SHA (secure hash algorithm) to produce a 160-bit hash value from an input bit string. The hash value is used as the initializing seed for the stream generator 44, col 5, ln 50-67/ Use of a hashing function ensures that the input bits, and particularly the weakly random application class of bits which are optionally passed into the random number generator, cannot bias the seed produced by the seed creating unit 42, col 6, ln 5-10/ The hashing function has a characterizing property in that it is computationally infeasible to derive the input value from the output value. One suitable hashing function is SHA (secure hash algorithm), a one-way hash that reduces a 512-bit input bit string to a 160-bit hash value which can be chained together for longer values, col 3, ln 32-40/in the former approach, the input device 50 is constructed as a set of passive registers, whereby block 52 represents a register to hold the static class of bits, block 54 represents a register to hold the machine class of bits, and block 56 represents a register to hold the application class of bits. The registers can be implemented in hardware or software and sized to hold the appropriate number of bits for the respective classes. The computer and applications pass the bits into the appropriate registers of the input device. Alternatively, in the latter approach, the input device 50 is configured to actively call and request the external classes from the computer or application. In this situation, some of the blocks 52, 54, and 56 represent a combination of software routines which execute on a computer to retrieve bits from the external sources and memory-based registers which hold the retrieved bits, col 5, ln 35-51/ the bit manipulating device 64 is connected to receive the previous bit value from the static bit register 52 and the hash value computed by the hash computing device 58. The bit manipulating device 64 computes a next bit value according to a function of the previous bit value and the hash value, col 6, ln 60-67/ hold the classes of bits in associated registers; and change a bit value of one of the classes of bits in one of the registers according to a function of the hash value, col 10, ln 65-67 to col 11, ln 1-2).
Conclusion
US 5778069 A teaches the multiple classes of bits include an internal class of bits from at least one source internal to the random number generator, such as a static bit register which maintains the current state of the generator. The input device also gathers one or more external classes of bits from one or more sources external to the random number generator, such as a machine class of bits which relate to operating parameters of the computer and an applica)
US 20140108816 A1 teaches In block 360, the combined bits of blocks 310 and 320 are combined with a number randomly generated in block 350. The bits may be combined with the number using a variety of techniques known to those skilled in the art. For example, the bits may simply be appended to one another or hashed using, for example, an SH1 technique. The results are then encrypted in block 370.
US 20260164345 A1 teaches The wireless transceiver 314 may combine the bit nonce wit the 8-bit hashed SSID, for example, the SSID 316 of FIG. 9A and FIG. 9B. The wireless transceiver 314 may further hash the total 12-bit information with a hashed algorithm that is agreed by a user device and a network service provider.
US 20150281082 A1 teaches As shown in FIG. 2, to increase the entropy of the lower bits of the final hash, the process 200 combines (at 270) higher bits of the hash with lower bits of the hash. In some embodiments, the combination is achieved by shifting the higher bits of the hash to the lower bits (e.g. by performing a bitwise rotation), and then combining the shifted higher bits with the lower bits of the hash. In some embodiments, the combination is a logical exclusive.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to LECHI TRUONG whose telephone number is (571)272-3767. The examiner can normally be reached 10-8 PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor Young Kevin can be reached on (571)270-3180. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/LECHI TRUONG/ Primary Examiner, Art Unit 2194