Patents by Inventor Robert Rose
Robert Rose has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11971925Abstract: Implementations are described herein for leveraging digital media files retrieved and/or created by users to predict/determine topics of potential relevance to the users. In various implementations, digital media file(s) created and/or retrieved by a user with a client device may be applied as input across trained machine learning model(s), which in some cases are local to the client device, to generate output that indicates object(s) detected in the digital media file(s). Data indicative of the indicated object(s) may be provided to a remote computing system without providing the digital media file(s) themselves. In some implementations, information associated with the indicated object(s) may be retrieved and proactively output to the user. In some implementations, a frequency at which objects occur across a corpus of digital media files may be considered when determining a likelihood that a detected object is potentially relevant to a user.Type: GrantFiled: January 6, 2023Date of Patent: April 30, 2024Assignee: GOOGLE LLCInventors: Robert Rose, Qun Cao
-
Patent number: 11972308Abstract: A parametric constant resolves to different values in different contexts, but a single value within a particular context. An anchor constant is a parametric constant that allows for a degree of parametricity for an API point. The context for the anchor constant is provided by a caller to the API point. The anchor constant resolves to an anchor value that records specialization decisions for the API point within the provided context. Specialization decisions may include type restrictions, memory layout, and/or memory size. The anchor value together with an unspecialized type of the API point result in a specialized type of the API point. A class object representing the specialized type is created. The class object may be accessible to the caller, but the full value of the anchor value is not accessible to the caller. The API point is executed based on the specialization decisions embodied in the anchor value.Type: GrantFiled: January 7, 2022Date of Patent: April 30, 2024Assignee: Oracle International CorporationInventors: John Robert Rose, Brian Goetz
-
Patent number: 11966798Abstract: A type restriction contextually modifies an existing type descriptor. The type restriction is imposed on a data structure to restrict the values that are assumable by the data structure. The type restriction does not cancel or otherwise override the effect of the existing type descriptor on the data structure. Rather the type restriction may declare that a value of the data structure's type is forbidden for the data structure. Additionally or alternatively, the type restriction may declare that an element count allowable for a data structure's type is forbidden for the data structure. Type restriction allows optionality (where only a singleton value for a data structure is allowed), empty sets (where no value for a data structure is allowed), and multiplicity (where only a limited element count for a data structure) to be injected into a code set independent of data type. Type restriction allows certain optimizations to be performed.Type: GrantFiled: January 7, 2022Date of Patent: April 23, 2024Assignee: Oracle International CorporationInventors: John Robert Rose, Brian Goetz
-
Patent number: 11942088Abstract: This application is directed to a speaker device having a rounded enclosure. The rounded enclosure includes two housing elements that are coupled to each other and have a substantially continuous transition. The rounded enclosure has a circular cross section defined by a first radius. A first housing element includes and extends past the circular cross section, and a second housing element has a second maximum radius that is smaller than the first radius. A speaker unit and a circuit board are arranged within the rounded enclosure. The circuit board is electrically coupled to the speaker unit. At least a portion of the first housing element includes perforations configured to enable transmission of sound generated by the speaker unit out of the speaker device. The second housing element has a power connector that is electrically coupled to the circuit board and is configured to receive power from an external power supply.Type: GrantFiled: April 14, 2021Date of Patent: March 26, 2024Assignee: Google LLCInventors: Frédéric Heckmann, Yau-Shing Lee, Robert Rose, Jun Hou, Patanjali Sastry Peri, Phanindraja Ancha
-
Patent number: 11922238Abstract: A parametric constant resolves to different values in different contexts, but a single value within a particular context. An anchor constant is a parametric constant that allows for a degree of parametricity for an API point. The context for the anchor constant is provided by a caller to the API point. The anchor constant resolves to an anchor value that records specialization decisions for the API point within the provided context. Specialization decisions may include type restrictions, memory layout, and/or memory size. The anchor value together with an unspecialized type of the API point result in a specialized type of the API point. A class object representing the specialized type is created. The class object may be accessible to the caller, but the full value of the anchor value is not accessible to the caller. The API point is executed based on the specialization decisions embodied in the anchor value.Type: GrantFiled: January 7, 2022Date of Patent: March 5, 2024Assignee: Oracle International CorporationInventors: John Robert Rose, Brian Goetz
-
Publication number: 20240061733Abstract: A parametric constant resolves to different values in different contexts, but a single value within a particular context. An anchor constant is a parametric constant that allows for a degree of parametricity for an API point. The context for the anchor constant is provided by a caller to the API point. The anchor constant resolves to an anchor value that records specialization decisions for the API point within the provided context. Specialization decisions may include type restrictions, memory layout, and/or memory size. The anchor value together with an unspecialized type of the API point result in a specialized type of the API point. A class object representing the specialized type is created. The class object may be accessible to the caller, but the full value of the anchor value is not accessible to the caller. The API point is executed based on the specialization decisions embodied in the anchor value.Type: ApplicationFiled: October 30, 2023Publication date: February 22, 2024Applicant: Oracle International CorporationInventors: John Robert Rose, Brian Goetz
-
Patent number: 11836552Abstract: A type restriction contextually modifies an existing type descriptor. The type restriction is imposed on a data structure to restrict the values that are assumable by the data structure. The type restriction does not cancel or otherwise override the effect of the existing type descriptor on the data structure. Rather the type restriction may declare that a value of the data structure's type is forbidden for the data structure. Additionally or alternatively, the type restriction may declare that an element count allowable for a data structure's type is forbidden for the data structure. Type restriction allows optionality (where only a singleton value for a data structure is allowed), empty sets (where no value for a data structure is allowed), and multiplicity (where only a limited element count for a data structure) to be injected into a code set independent of data type. Type restriction allows certain optimizations to be performed.Type: GrantFiled: January 7, 2022Date of Patent: December 5, 2023Assignee: Oracle International CorporationInventors: John Robert Rose, Brian Goetz
-
Publication number: 20230367638Abstract: Techniques for computing and storing object identity hash values are disclosed. In some embodiments, a runtime system generates a value, such as a nonce, that is unique to a particular allocation region within memory. The runtime system may mix the value with one or more seed values that are associated with one or more respective objects stored in the allocation region. The runtime system may obtain object identifiers for the respective objects by applying a hash function to the result of mixing the seed value with at least the value associated with the allocation region. Conditioning operations may also be applied before, during or after the mixing operations to make the values appear more random. The nonce value may be changed from time to time, such as when memory is recycled in the allocation region, to reduce the risk of hash collisions.Type: ApplicationFiled: July 28, 2023Publication date: November 16, 2023Applicant: Oracle International CorporationInventors: John Robert Rose, Mikael Vidstedt, Erik Österlund
-
Patent number: 11789793Abstract: A parametric constant resolves to different values in different contexts, but a single value within a particular context. An anchor constant is a parametric constant that allows for a degree of parametricity for an API point. The context for the anchor constant is provided by a caller to the API point. The anchor constant resolves to an anchor value that records specialization decisions for the API point within the provided context. Specialization decisions may include type restrictions, memory layout, and/or memory size. The anchor value together with an unspecialized type of the API point result in a specialized type of the API point. A class object representing the specialized type is created. The class object may be accessible to the caller, but the full value of the anchor value is not accessible to the caller. The API point is executed based on the specialization decisions embodied in the anchor value.Type: GrantFiled: January 7, 2022Date of Patent: October 17, 2023Assignee: Oracle International CorporationInventors: John Robert Rose, Brian Goetz
-
Patent number: 11782774Abstract: A compiler is capable of compiling instructions that do or do not supply specialization information for a generic type. The generic type is compiled into an unspecialized type. If specialization information was supplied, the unspecialized type is adorned with information indicating type restrictions for application programming interface (API) points associated with the unspecialized type, which becomes a specialized type. A runtime environment is capable of executing calls to a same API point that do or do not indicate a specialized type, and is capable of executing calls to a same API point of objects of an unspecialized type or of objects of a specialized type. When the call to an API point indicates a specialized type, and the specialized type matches that of the object (if the API point belongs to an object), then a runtime environment may perform optimized accesses based on type restrictions derived from the specialized type.Type: GrantFiled: January 7, 2022Date of Patent: October 10, 2023Assignee: Oracle International CorporationInventors: John Robert Rose, Maurizio Cimadamore, Brian Goetz
-
Patent number: 11755373Abstract: Techniques for computing and storing object identity hash values are disclosed. In some embodiments, a runtime system generates a value, such as a nonce, that is unique to a particular allocation region within memory. The runtime system may mix the value with one or more seed values that are associated with one or more respective objects stored in the allocation region. The runtime system may obtain object identifiers for the respective objects by applying a hash function to the result of mixing the seed value with at least the value associated with the allocation region. Conditioning operations may also be applied before, during or after the mixing operations to make the values appear more random. The nonce value may be changed from time to time, such as when memory is recycled in the allocation region, to reduce the risk of hash collisions.Type: GrantFiled: October 7, 2020Date of Patent: September 12, 2023Assignee: Oracle International CorporationInventors: John Robert Rose, Mikael Vidstedt, Erik Österlund
-
Patent number: 11726849Abstract: A parametric constant resolves to different values in different contexts, but a single value within a particular context. An anchor constant is a parametric constant that allows for a degree of parametricity for an API point. The context for the anchor constant is provided by a caller to the API point. The anchor constant resolves to an anchor value that records specialization decisions for the API point within the provided context. Specialization decisions may include type restrictions, memory layout, and/or memory size. The anchor value together with an unspecialized type of the API point result in a specialized type of the API point. A class object representing the specialized type is created. The class object may be accessible to the caller, but the full value of the anchor value is not accessible to the caller. The API point is executed based on the specialization decisions embodied in the anchor value.Type: GrantFiled: January 7, 2022Date of Patent: August 15, 2023Assignee: Oracle International CorporationInventors: John Robert Rose, Brian Goetz
-
Patent number: 11693719Abstract: A type restriction contextually modifies an existing type descriptor. The type restriction is imposed on a data structure to restrict the values that are assumable by the data structure. The type restriction does not cancel or otherwise override the effect of the existing type descriptor on the data structure. Rather the type restriction may declare that a value of the data structure's type is forbidden for the data structure. Additionally or alternatively, the type restriction may declare that an element count allowable for a data structure's type is forbidden for the data structure. Type restriction allows optionality (where only a singleton value for a data structure is allowed), empty sets (where no value for a data structure is allowed), and multiplicity (where only a limited element count for a data structure) to be injected into a code set independent of data type. Type restriction allows certain optimizations to be performed.Type: GrantFiled: January 7, 2022Date of Patent: July 4, 2023Assignee: Oracle International CorporationInventors: John Robert Rose, Brian Goetz
-
Patent number: 11687388Abstract: A compiler is capable of compiling instructions that do or do not supply specialization information for a generic type. The generic type is compiled into an unspecialized type. If specialization information was supplied, the unspecialized type is adorned with information indicating type restrictions for application programming interface (API) points associated with the unspecialized type, which becomes a specialized type. A runtime environment is capable of executing calls to a same API point that do or do not indicate a specialized type, and is capable of executing calls to a same API point of objects of an unspecialized type or of objects of a specialized type. When the call to an API point indicates a specialized type, and the specialized type matches that of the object (if the API point belongs to an object), then a runtime environment may perform optimized accesses based on type restrictions derived from the specialized type.Type: GrantFiled: January 7, 2022Date of Patent: June 27, 2023Assignee: Oracle International CorporationInventors: John Robert Rose, Maurizio Cimadamore, Brian Goetz
-
Publication number: 20230153346Abstract: Implementations are described herein for leveraging digital media files retrieved and/or created by users to predict/determine topics of potential relevance to the users. In various implementations, digital media file(s) created and/or retrieved by a user with a client device may be applied as input across trained machine learning model(s), which in some cases are local to the client device, to generate output that indicates object(s) detected in the digital media file(s). Data indicative of the indicated object(s) may be provided to a remote computing system without providing the digital media file(s) themselves. In some implementations, information associated with the indicated object(s) may be retrieved and proactively output to the user. In some implementations, a frequency at which objects occur across a corpus of digital media files may be considered when determining a likelihood that a detected object is potentially relevant to a user.Type: ApplicationFiled: January 6, 2023Publication date: May 18, 2023Inventors: Robert Rose, Qun Cao
-
Patent number: 11645129Abstract: A data structure (e.g., field, method parameter, or method return value) is defined by a descriptor to be of a particular type, which imposes a first set of restrictions on values assumable by the data structure. Separately, the data structure is associated with a type restriction that defines a second set of restrictions that further restricts the values assumable by the data structure. The descriptor and type restriction are encoded separately in a program binary. Responsive to identifying a value for the data structure that (a) is not forbidden by the first set of restrictions defined the descriptor and (b) is forbidden by the second set of restrictions defined by the type restriction, a runtime environment may perform a restrictive operation, such as: blocking storage of the value to a field; blocking passing of the value to a method parameter; or blocking return of the value from a method.Type: GrantFiled: January 7, 2022Date of Patent: May 9, 2023Assignee: Oracle International CorporationInventors: Daniel Lee Smith, John Robert Rose, Brian Goetz, Frederic Parain
-
Publication number: 20230108187Abstract: A server computer system comprise a communications module; a processor coupled to the communications module; and a memory storing processor-executable instructions which, when executed by the processor, configure the processor to provide, via the communications module and to a client device, a technology resource management interface, the technology resource management interface including an adjustable interface element and at least one dynamic interface element displaying at least a status of one or more software applications or one or more third-party software products; receive, via the communications module and from the client device, a signal representing adjustment of a position of the adjustable interface element; and send, via the communications module and to the client device, a signal updating at least one of the adjustable interface element or the at least one dynamic interface element based on the position of the adjustable interface element.Type: ApplicationFiled: October 6, 2021Publication date: April 6, 2023Applicant: The Toronto-Dominion BankInventor: Corey Robert Rose
-
Patent number: 11580157Abstract: Implementations are described herein for leveraging digital media files retrieved and/or created by users to predict/determine topics of potential relevance to the users. In various implementations, digital media file(s) created and/or retrieved by a user with a client device may be applied as input across trained machine learning model(s), which in some cases are local to the client device, to generate output that indicates object(s) detected in the digital media file(s). Data indicative of the indicated object(s) may be provided to a remote computing system without providing the digital media file(s) themselves. In some implementations, information associated with the indicated object(s) may be retrieved and proactively output to the user. In some implementations, a frequency at which objects occur across a corpus of digital media files may be considered when determining a likelihood that a detected object is potentially relevant to a user.Type: GrantFiled: November 13, 2020Date of Patent: February 14, 2023Assignee: GOOGLE LLCInventors: Robert Rose, Qun Cao
-
Publication number: 20220300360Abstract: A parametric constant resolves to different values in different contexts, but a single value within a particular context. An anchor constant is a parametric constant that allows for a degree of parametricity for an API point. The context for the anchor constant is provided by a caller to the API point. The anchor constant resolves to an anchor value that records specialization decisions for the API point within the provided context. Specialization decisions may include type restrictions, memory layout, and/or memory size. The anchor value together with an unspecialized type of the API point result in a specialized type of the API point. A class object representing the specialized type is created. The class object may be accessible to the caller, but the full value of the anchor value is not accessible to the caller. The API point is executed based on the specialization decisions embodied in the anchor value.Type: ApplicationFiled: January 7, 2022Publication date: September 22, 2022Applicant: Oracle International CorporationInventors: John Robert Rose, Brian Goetz
-
Publication number: 20220300264Abstract: A compiler is capable of compiling instructions that do or do not supply specialization information for a generic type. The generic type is compiled into an unspecialized type. If specialization information was supplied, the unspecialized type is adorned with information indicating type restrictions for application programming interface (API) points associated with the unspecialized type, which becomes a specialized type. A runtime environment is capable of executing calls to a same API point that do or do not indicate a specialized type, and is capable of executing calls to a same API point of objects of an unspecialized type or of objects of a specialized type. When the call to an API point indicates a specialized type, and the specialized type matches that of the object (if the API point belongs to an object), then a runtime environment may perform optimized accesses based on type restrictions derived from the specialized type.Type: ApplicationFiled: January 7, 2022Publication date: September 22, 2022Applicant: Oracle International CorporationInventors: John Robert Rose, Maurizio Cimadamore, Brian Goetz