Managing sets of entities -> Monitor Keywords
Fresh Patents
Monitor Patents Patent Organizer How to File a Provisional Patent Browse Inventors Browse Industry Browse Agents Browse Locations
     new ** File a Provisional Patent ** 
site info Site News  |  monitor Monitor Keywords  |  monitor archive Monitor Archive  |  organizer Organizer  |  account info Account Info  |  
08/31/06 | 96 views | #20060195826 | Prev - Next | USPTO Class 717 | About this Page  717 rss/xml feed  monitor keywords

Managing sets of entities

USPTO Application #: 20060195826
Title: Managing sets of entities
Abstract: Methods and apparatus, including computer systems and program products, that implement a description language and a parser for a description language. A method includes receiving input including a specification of base items, a specification of contexts, and a specification of a selected context from the contexts. The method further includes generating an output set of items by evaluating the selected context. In that method, each item in the output set of items includes core attributes of a corresponding base item and can include attributes from a context. Generating an output set of items can include generating a specific bill of materials. (end of abstract)
Agent: Fish & Richardson, P.C. - Minneapolis, MN, US
Inventors: Thomas Stuefe, Eric Kass
USPTO Applicaton #: 20060195826 - Class: 717136000 (USPTO)
Related Patent Categories: Data Processing: Software Development, Installation, And Management, Software Program Development Tool (e.g., Integrated Case Tool Or Stand-alone Development Tool), Translation Of Code
The Patent Description & Claims data below is from USPTO Patent Application 20060195826.
Brief Patent Description - Full Patent Description - Patent Application Claims  monitor keywords



BACKGROUND

[0001] The following specification relates to a description language and parser for a description language.

[0002] There are several scenarios of building a software product where generating different versions of the software product based on some of the same components can be very efficient. For example, a global release of a software product can require that many different versions of the software product be generated, where each version incorporates, for example, different language components to account for language differences and the same non-language components.

[0003] To generate different versions of a software product such that some of the components are reused, a bill of materials for each version of the software product can be generated, and a selected bill of materials can be used at installation time to install a version of the software product. For example, one software product can have a bill of materials for an English version of the software product and a bill of materials for a French version of the software product. A compact disc that is distributed with all of the language components and non-language components can also include the two bills of materials. At installation-time, when a user decides to install an English version of the software product, a computer can read the English bill of materials to determine which software components to install, where those software components should be installed, and how they should be installed.

[0004] The process of generating bills of materials for software products can be a tedious and time-consuming process. For example, the process can involve generating manually a version of the bill of materials for each version of the software product. Such a process can include changing the software components to be used and changing the attributes of the software components that are reused in the bill of materials.

SUMMARY

[0005] Described herein are methods and apparatus, including computer program products, that implement a description language and a parser for a description language.

[0006] In one general aspect of the disclosure, the methods feature a machine implemented method of generating enriched sets of items. The method includes receiving input that includes a specification of base items, where each of the base items includes one or more core attributes and a value assigned to each core attribute; a specification of contexts; and a specification of a selected context from the contexts. In the specification of contexts, one or more of the contexts includes a definition selecting a set of items from the base items, one or more contexts, or both; and a definition selecting one or more additional attributes for one or more of the items in the set of items, where a value is assigned to each additional attribute. The method further includes generating an output set of items by evaluating the selected context. Evaluating the selected context includes evaluating a definition selecting a set of items for the selected context in order to generate the output set of items, and evaluating a definition selecting additional attributes for the selected context in order to determine which additional attributes and values of additional attributes are to be included in each item in the output set of items.

[0007] Implementations can include one or more of the following features. At least one of the contexts can include a definition of a specific bill of materials for a product and the selected context can include the definition of a specific bill of materials. Generating an output set of items can include generating a specific bill of materials from the definition of a specific bill of materials. Generating the product can include, including materials matching the output set of items according to attributes of the output set of items.

[0008] The definition selecting a set of items from the base items, one or more contexts, or both can include selection criteria that further defines the set of items to include or exclude one or more items from the base items, one or more contexts, or both. The definition selecting a set of items from the base items, one or more contexts, or both can include set operations to be used in combining sets of items from two or more contexts from the contexts. The definition selecting a set of items from the base items, one or more contexts, or both can include selection operations to be used in selecting items from the contexts.

[0009] The definition selecting one or more additional attributes can define a type of each of the additional attributes. The type of each of the additional attributes can be either a default type or an override type, where a default type additional attribute is overridden by a core attribute having a matching name, and an override type additional attribute overrides a core attribute having a matching name.

[0010] One of the contexts can essentially include a first definition selecting a set of items from the base items, one or more contexts, or both.

[0011] At least one of the base items can include one of a strong core attribute, one of a weak core attribute, or both. Strong core attributes can maintain their assigned value regardless of a context in which a base item resides and weak core attributes can be overridden by other attributes having a matching name and being inherited from a context.

[0012] Another aspect of the disclosure features a computer program product, stored on a machine-readable medium that includes instructions operable to cause a data processing apparatus to receive input including a specification of base items, where each of the base items includes one or more core attributes and a value assigned to each core attribute; a specification of contexts, where each of the contexts includes a definition selecting a set of items from the base items, one or more contexts, or both, and a definition selecting one or more additional attributes for one or more of the items in the set of items, and a value assigned to each additional attribute; and a specification of a selected context from the contexts The computer program product further includes instructions operable to generate an output set of items by evaluating the selected context, where evaluating the selected context includes evaluating a definition selecting a set of items for the selected context in order to generate the output set of items, and evaluating a definition selecting additional attributes for the selected context in order to determine which additional attributes and values of additional attributes are to be included in each item in the output set of items.

[0013] Implementations can include one or more of the following features. At least one of the contexts can include a definition of a specific bill of materials for a software product and the selected context can includes the definition of a specific bill of materials. The instructions operable to generate an output set of items can include instructions operable to generate a specific bill of materials from the definition of a specific bill of materials. The computer program product can further include instructions operable to generate the software product including the materials listed in the specific bill of materials.

[0014] The definition selecting the set of items from the base items, one or more contexts, or both can define the set to include or exclude one or more items from the base items or from sets of items of one or more of the contexts. The definition selecting the set of items from the base items, one or more contexts, or both can include selection criteria that defines the set of items to include or exclude one or more base items.

[0015] The definition selecting one or more additional attributes can define a type of each of the additional attributes. The type for each of the additional attributes can be either a default type or an override type, where a default type additional attribute is overridden by a core attribute having a matching name, and an override type additional attribute overrides a core attribute having a matching name.

[0016] Another aspect of the disclosure features a parser to perform tasks including receiving input that includes a specification of base items, where the base items include core attributes and values assigned to the core attributes; a specification of multiple contexts, where at least one of the contexts includes a definition selecting a set of items from the base items, one or more contexts, or both, and a definition selecting additional attributes for one or more of the items in the set of items; and a specification of a selected context to evaluate. The parser further performs tasks including generating a list of enriched items by evaluating the selected context. Generating the list of enriched items includes, for the selected context, evaluating a definition of a set of items in order to generate the list of enriched items, and evaluating a definition of additional attributes of the selected context in order to determine which additional attributes and values of additional attributes are to be included in each of the enriched items, where core attributes of an item are included in a corresponding enriched item, and some of the core attributes of an enriched item are assigned values from the additional attributes of the selected context.

[0017] Implementations can include one or more of the following features. The selected context can reference one or more additional contexts and generating a list of enriched items can include evaluating the additional contexts referenced in the selected context.

[0018] Additional attributes can be either of a type default or of a type override. A value of an additional attribute defined for the selected set of items might not included in the context if there is a core attribute that has a matching name and the attribute of the context is a default type attribute. A value of an additional attribute defined for the selected set of items can be included in the context if there is a core attribute that has a matching name and the attribute of the context is an override type attribute.

[0019] The mechanisms and techniques described here may provide one or more of the following advantages. Contexts that include sets of items and attributes can be defined using a description language, and a parser can be used to generate enriched sets of items that correspond to an evaluated context. For example, a specification can be drafted (e.g., written) that includes products, materials for those products, and attributes of the products and materials; and a bill of materials can be generated from that specification.

[0020] Sets of enriched items that result from the parser can be configured to be machine-readable such that products, such as software products, can be automatically generated based on a bill of materials.

[0021] The description language allows sets of items to be freely defined. The description language can be easily readable as describing a set of enriched items as contexts and items, in a set-oriented approach with selection criteria, can be less cluttered than drafting the set of enriched items with all attributes and items. The description language can provide an interface between a human-preferable description language and a language that is usable by a machine to generate products based on a bill of materials.

[0022] The description language can be used for scenarios, other than a bill of materials scenario, to represent dynamic sets of items. For example, the description language can be used to maintain user authorities in computer systems. In an example implementation that uses role-based authorization, roles can be defined as contexts, resources can be defined as items, and user permission information (e.g., can read, modify, print, etc.) can be defined as item attributes. In that implementation, a role can be evaluated to determine whether a user with the corresponding role can access the resource and to determine which types of permissions the user has.

Continue reading...
Full patent description for Managing sets of entities

Brief Patent Description - Full Patent Description - Patent Application Claims
Click on the above for other options relating to this Managing sets of entities patent application.
###
monitor keywords

How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like Managing sets of entities or other areas of interest.
###


Previous Patent Application:
Method and system for dynamically adjusting speed versus accuracy of computer platform simulation
Next Patent Application:
Computer system and method for transferring executables between partitions
Industry Class:
Data processing: software development, installation, and management

###

FreshPatents.com Support
Thank you for viewing the Managing sets of entities patent info.
IP-related news and info


Results in 0.21338 seconds


Other interesting Feshpatents.com categories:
Tyco , Unilever , Warner-lambert , 3m