Method and computer program product for allowing a software application to interact with a product
AssigneeDevicify, LLC
InventorsChristopher S. Johnson, Jason S. Geiger
Life of this patent
Estimating the term…
Abstract
The functionality of a networked physical product is defined as an abstraction, or a virtual product, in such a way that the product functionality can be interpreted and managed by a business enterprise system. A software application and data model spans isolated databases to store and maintain the functional data and contextual information of a networked physical product and the associated business data needed to manage the product. The functional and contextual data is managed by a purpose-built and optimized heterogeneous database environment, and the associated business data is managed separately in another purpose-built and optimized database environment.
Claims31
A method for allowing a software application that executes on a processor to interact with a product, the product including software that defines one or more properties to control the functions of the product, the method comprising:
- (a) electronically defining a virtual product that spans a first and a second database, the virtual product including a plurality of electronically controllable attributes, the virtual product representing the product, the virtual product in the first and second database that spans the first and second database being the same virtual product;
- (b) maintaining by the software application the virtual product, wherein the portion of the virtual product in the first database includes:
- (i) a virtual product record which includes a unique identifier for the virtual product, and
- (ii) a plurality of unique virtual product attributes, each unique virtual product attribute having corresponding properties, wherein at least one of the properties is the unique attribute label, and
- wherein the portion of the virtual product in the second database includes:
- (i) a virtual product record which includes a unique identifier for the virtual product which is the same as the unique identifier for the virtual product in the first database, and
- (ii) a plurality of unique virtual product attributes, each unique virtual product attribute having corresponding properties wherein at least one of the properties is the unique attribute label;
- and
- (c) the software application executing on the processor electronically updating a value of a property of a virtual product's unique virtual product attribute in the second database when a change occurs in the first database to a value of a corresponding property with the same attribute label for the same virtual product, thereby allowing the software application to interact with the product by communicating the new property value and its attribute label to the product that corresponds to the virtual product,
- wherein the value of the property controls a function of the product, and wherein the product is a device that further comprises software allowing the device to interact with the software application.
A tangible computer program product for allowing a software application executing on a processor to interact with a product, the product including software that defines one or more properties to control the functions of the product, the computer program product comprising non-transitory computer-readable media encoded with instructions for execution by the processor to perform a method comprising:
- (a) electronically defining a virtual product that spans a first and a second database, the virtual product including a plurality of electronically controllable attributes, the virtual product representing the product, the virtual product in the first and second database that spans the first and second database being the same virtual product;
- (b) maintaining by the software application the virtual product, wherein the portion of the virtual product in the first database includes:
- (i) a virtual product record which includes a unique identifier for the virtual product, and
- (ii) a plurality of unique virtual product attributes, each unique virtual product attribute having corresponding properties, wherein at least one of the properties is the unique attribute label, and
- wherein the portion of the virtual product in the second database includes:
- (i) a virtual product record which includes a unique identifier for the virtual product which is the same as the unique identifier for the virtual product in the first database, and
- (ii) a plurality of unique virtual product attributes, each unique virtual product attribute having corresponding properties wherein at least one of the properties is the unique attribute label;
- and
- (c) the software application executing on the processor electronically updating a value of a property of a virtual product's unique virtual product attribute in the second database when a change occurs in the first database to a value of a corresponding property with the same attribute label for the same virtual product, thereby allowing the software application to interact with the product by communicating the new property value and its attribute label to the product that corresponds to the virtual product,
- wherein the value of the property controls a function of the product, and wherein the product is a device that further comprises software allowing the device to interact with the software application.
Dependencies are inferred from the claim text.