WO1991008542A1 - Systeme de distribution de logiciel - Google Patents

Systeme de distribution de logiciel Download PDF

Info

Publication number
WO1991008542A1
WO1991008542A1 PCT/US1990/007011 US9007011W WO9108542A1 WO 1991008542 A1 WO1991008542 A1 WO 1991008542A1 US 9007011 W US9007011 W US 9007011W WO 9108542 A1 WO9108542 A1 WO 9108542A1
Authority
WO
WIPO (PCT)
Prior art keywords
entity
instances
relationship
instance
program
Prior art date
Application number
PCT/US1990/007011
Other languages
English (en)
Inventor
Norman Shing
Leonid Erlikh
Nicholas R. Lim
Jeffrey Lambert
Joel M. Moskowitz
Vivek Wadhwa
James Hughes
Elaine C. Power
Original Assignee
Seer Technologies, 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 Seer Technologies, Inc. filed Critical Seer Technologies, Inc.
Publication of WO1991008542A1 publication Critical patent/WO1991008542A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • This invention relates to multiprocessor computer systems and in particular to the distribution of updated versions of software to particular processors within such systems.
  • the first of these configurations includes a central processing unit, sometimes referred to as a "mainframe,” connected to a plurality of user input/output terminals.
  • Each user input/output terminal is typically comprised of a keyboard for data entry and a cathode-ray tube or printer for data display.
  • the other of these two basic hardware configurations is comprised of a number of individual processor units or "nodes", one for each user or small group of users, connected in a network.
  • the network which can serve to connect nodes separated by large geographic distances, allows the sharing of software and data among users.
  • Each node in the system may be connected to one or more input/output terminals.
  • there ay also be an additional node or nodes not dedicated to a particular user which may control one or more centralized databases for storing and retrieving data and software for the various users whose nodes are connected to the network.
  • an additional node may be used by computer system overseers or "operator” personnel who monitor and control the operation of the network. Typically, such additional nodes also have input/output terminals connected to them.
  • This "networked" system of multiple nodes has gained wide acceptance today.
  • the acceptance of the multinode networked system is generally based upon the proliferation of "micro” or "personal” computers in the business and technical fields. These computers provide each user of a multinode system with dedicated computer power necessary to perform his business or technical functions. With a micro-computer node dedicated to his use, a user can perform his business or technical tasks more efficiently and easily. In addition to dedicated micro-computers, such systems often include mainframes for, among other things, database-related processing, and mini- or super-mini-computers to perform real-time processing.
  • the software employed in computer systems can generally be classified into one of two main categories.
  • Operating systems software is concerned with controlling the basic operation of a computer processor and/or system for input/output tasks, as well as memory-access tasks.
  • operating systems software controls the execution of other computer programs.
  • These other computer programs comprise the other main category of software, termed "applications software.”
  • Applications software typically performs a specialized technical or business-related function with which a user is concerned.
  • a function in turn, is comprised of one or more “processes.” It is a "process” which is comprised of one or more hierarchies of programs. Because a program hierarchy is generally responsible for performing a certain task, a process can therefore be viewed as a logical subdivision of a business or technical function.
  • an application may be executed on more than one node.
  • constituent processes of an application execute in a parallel fashion on separate nodes in the system (i.e. , simultaneous execution of parts of the application on multiple nodes)
  • the application is said to be processed in a "distributed” fashion.
  • processes of an application execute in a serial fashion on separate nodes in the system (i.e. , execution such that a given node is the only node in the system executing an application process at a given time)
  • the application is said to be processed in a "cooperative" fashion.
  • nodes or groups of nodes are intended to execute identical processes or groups of processes.
  • an airline may find it desirable to have identical software executed on the various nodes which run its application for taking airline reservations. Identical software may be necessary so that the users of the system, the airline reservation clerks or ticket agents, can provide the same services to prospective passengers regardless of which clerk or ticket agent is approached by the prospective passenger.
  • nodes which execute distinct processes for distinct purposes.
  • an airline's applications software may not only have a ticketing/reservation process, but also a process useful for tracking baggage.
  • specific nodes in the airline's multinode system may perform only the baggage tracking process.
  • each application is usually made up of many individual processes comprised of hierarchies of computer programs.
  • applications software may require alteration because of the need to correct errors in program code or the need to include enhancements to a particular process within an application.
  • many programs share data resources, many processes share programs, and many nodes share processes, a programmer making a needed alteration to a process' constituent program or programs is likely unaware of (1) all programs and processes he is affecting by his alteration, and (2) which nodes in the multiprocessor system will require a copy of his updated or altered software program or programs.
  • SDS software distribution system
  • One aspect of the SDS is a relational database which contains information which relates an application to its associated data entities and its associated processes, and which relates processes to individual nodes in a multinode computer network, whether of the distributed or cooperative type.
  • Another aspect of SDS further provides a processing means (or node) , associated with the database, for determining each program and process affected by an alteration to a program and the identity of all nodes in the network which execute the affected processes.
  • SDS also provides a warehouse database for storing software to be distributed, and a distribution channel for delivering any altered programs to identified nodes within the multinode network.
  • the database aspect of SDS is built according to an entity-relationship model which defines certain logical entities and relationships among such entities. These entities specify the elements of a multinode system, including its hardware, software and data.
  • the entities provided by the database portion of SDS include "Workstations” (which are nodes and associated input/output devices), "Processes,” “Programs,” “Data,” and “Releases” (which are logical units of work to be distributed by SDS) .
  • the relationships among entities are also defined by the database of SDS and include a "Workstation to Process” relationship, associating a node to a Process to which it has access; a "Release to Process” relationship, associating a given Release with a given Process; a "Release to Program” relationship, associating a given Program with a given Release; and a "Release to Data” relationship, associating a given Release with given Data.
  • the processing means aspect of SDS using the above described database operates to determine all entities which are affected by an update or change to a given program or data. Either the same or another processing means controls the transmission of identified software or data from the warehouse database to the appropriate Workstations for installation thereon.
  • Figure 1 is an illustration of a three-tiered computer system.
  • Figure 2 is an illustration of a two-tiered computer syste .
  • Figure 3a is a diagrammatic representation of an entity-relationship model according to the present invention.
  • Figure 3b is a diagrammatic representation of an entity-relationship model according to the present invention.
  • Figure 3c is a diagrammatic representation of a portion of the contents of a database constructed according to an entity-relationship model illustrated in Figure 3a.
  • Figure 3d is a diagrammatic representation of a portion of the contents of a database constructed according to an entity-relationship model illustrated in Figure 3b.
  • Figures 3e and 3f are diagrammatic representations of portions of databases constructed according to entity- relationship models illustrated in Figures 3a and 3b.
  • Figure 4 is a diagrammatic representation of the entity and relationship instances associated with a release, as well as the migration path of modified entity instances being distributed.
  • Figure 1 depicts a "three tiered” computer system, so named for its three levels of computer processors or "hardware platforms.”
  • a "three tiered” system can be comprised, for example, of a mainframe computer 1, a mini- or super-mini-computer 2, and micro-computers and their associated input/output devices, collectively referred to as "workstations" 3.
  • Typical processors preferred for each of these tiers are the IBM mainframe sold under the trademark "Model 3090”, running the IBM MVS/XA operating system; the Stratus mini-computer sold under the trademark “Model XA2000”, running the Stratus Computer, Inc. VOS operating system, and the IBM micro-computer sold under the trademark "PS2", executing the Microsoft Corporation operating system sold under the trademark "MS-DOS.”
  • IBM mainframe sold under the trademark "Model 3090”, running the IBM MVS/XA operating system
  • the Stratus mini-computer sold under the trademark "Model XA2000”, running the Stratus Computer, Inc. VOS operating system
  • PS2 IBM micro-computer sold under the trademark "PS2”, executing the Microsoft Corporation operating system sold under the trademark "MS-DOS.”
  • the mainframe computer 1 is connected to and performs all processing associated with a database 5, referred to as the "Repository.”
  • the Repository 5 is used to store a description of an application in terms of an SDS Entity-Relationship Model discussed below.
  • the mainframe 1 may also be connected to a micro ⁇ computer with an input/output (I/O) device 6 (i.e. , a workstation) , or simply an input/output device. In either case, the purpose of this connection is to allow a human to access the Repository 5, as well as control mainframe 1 processing.
  • the mini-computer 2 is connected to the mainframe 1 and to a database of its own, referred to as the "warehouse" 4.
  • the warehouse 4 is used to store all versions of all software programs and data which comprise a given application.
  • the mini-computer 2 may also have a workstation or I/O device 6 for human access to the warehouse 4 and to control mini-computer 2 processing.
  • the mini-computer 2 is further connected to a one or more workstations 3.
  • the computer system (or network) can have as many workstations 3 as would be desired to support user access to given applications software.
  • Figure 2 depicts a "two tiered" computer system, so named for its two distinct levels of hardware platforms.
  • the two tiered system includes only one platform in addition to its workstations 3.
  • the two tiered system includes a mainframe 7, performing the work of both the mainframe 1 and mini-computer 2 of the three tiered system depicted in Figure 1.
  • the mainframe 7 of the two tiered computer system is connected to both a Repository database 5 and a Warehouse database 4, as well as a workstation or I/O device 6 for database access and processor control.
  • the mainframe 7 is connected to a network of workstations 3.
  • a processor of another type could substitute for the mainframe processor 7 in the two tiered system, depending on specific through-put requirements and equipment availability.
  • the processor and workstations of the two tiered system are nodes in the network.
  • the software and data to be distributed is maintained in the warehouse 4.
  • This software and data may be stored in executable form or in a source code format.
  • the information necessary to properly distribute such software is maintained by Repository 5, with the mainframes 1, 7 executing software necessary to determine what software must be distributed.
  • the nodes which will receive software distributed by SDS are the workstations 3.
  • workstations 3 could be replaced, by other nodes of the mainframe or mini-computer variety, themselves connected to other nodes in a network.
  • the SDS is not limited to the distribution of software solely to micro-computer-based workstations. Rather, SDS is suitable to distribute software and data to any node in the network.
  • this description will refer to all nodes in a system which are to receive distributed software and data as Workstations.
  • a “relational database” is a term used to described a computer program which carries out the storage, searching and retrieval of data on a mass storage medium, such as a disk storage system. "Relational database” is also used to describe information stored on a disk storage system by a relational database program.
  • a relational database program stores, searches and retrieves data according to specific commands from the database user. That is, with a relational database, a user specifies the data to be stored, the searching (or “traversing") of the database to be performed, and what is to be retrieved by the database program.
  • Relational database programs are well known and are available commercially. For purposes of a preferred embodiment of this invention, it is preferred that the IBM relational database sold under the trademark "DB2" be employed.
  • the Repository 5 maintains information on all elements of a computer system which are necessary for software distribution, as well as all necessary interaction among computer system elements. These elements (or “entities”) and their interactions (or “relationships”) are defined generally by an SDS Entity-Relationship Model, which is the basis of information organization in the repository 5.
  • the SDS Entity-Relationship Model thus provides the basis for all commands to a relational database program.
  • the Model supplies the intelligence needed to create and maintain the Repository 5 via the relational database program, which is only a tool in the context of the present invention.
  • Entities represent something real or abstract about which information is recorded in the Repository 5. This information is organized into a set of characteristics known as “attributes.” Entities which share a common set of attributes are grouped into classes called “entity types.” An “entity instance” is a specific occurrence of an entity type and is described by a set of specific attributes.
  • the "relationships" of the SDS Entity-Relationship Model specify an association between entities. Like entities, relationships are described by their attributes. Relationships with common attributes are referred to as “relationship types,” while a “relationship instance” is a specific occurrence of a relationship type and is described by a set of specific attributes.
  • the SDS Entity-Relationship Model therefore provides a representation of the overall logical structure and elements of software generally in terms of specific entity and relationship instances definable through the Model.
  • Program which describes an individual software routine, either executive or subordinate, which forms a portion of a process
  • Data Entity which describes a collection of data values which are necessary for the operation of a program
  • Value which describes a single static data item literally (either in integer, decimal or character formats) .
  • the attributes associated with these entity types include an attribute which identifies discrete instances of such entities.
  • the Repository 5 contains information identifying each Function, and each constituent Process, Program, and Data Entity, as well as each Workstation Group and Workstation, comprising the hardware and software of a given computer system.
  • Function attributes also include an Application ID attribute, which specifies the Applications Software in which a given Function instance is used.
  • Program attributes also include an Execution Environment attribute, which specifies the hardware platform on which a given Program instance executes.
  • Value attributes include the numerical value of a given datum.
  • SDS defines certain relationships among entities. These relationships are also incorporated in the SDS Entity- Relationship Model depicted in Figure 3a. The first of these is the "Refines” relationship 42. Refines 42 is used to describe the decomposition of Functions 41 into Processes 43. The highest level or executive Process is known as a "Root" Process (so known because other
  • Refines 42' is also used to describe the decomposition of a Root Process into intermediate and lowest level Processes, known as "Node” and “Leaf” Processes, respectively.
  • Refines 42 represents the first step in the step-wise refinement of Functions 41 into executable Programs 46.
  • Refines 42' represents a further step in the same step-wise refinement.
  • the attributes associated with the Refines 42, 42' relationship include the identification of the
  • Defines relationship 44 is used to describe the relation between a Process 43 and a Program 46. Specifically, the relationship connects an instance of the lowest level Process 43 (Leaf Process) to a Program 46. Generally, the Program 46 specified by the Defines relationship 44 is the highest level Program in the Leaf Process, and is known as a "Root" Program.
  • Defines 44 represents yet another step in the refinement of Functions 41 into Programs 46.
  • the attributes associated with the Defines relationship 44 include the identification of participants in the relationship.
  • the First Participant attribute identifies the Leaf Process instance being defined, and the Second Participant attribute identifies the highest level or Root Program instance of the Leaf Process.
  • Another of the relationships defined by SDS and incorporated into the SDS Entity-Relationship Model is "Uses" 45.
  • the Uses relationship 45 describes the relation between one Program 46 and another. Uses 45 relates a higher or highest (Root) level Program to a subordinate Program. It provides for the further step- wise refinement of Functions 41 into Programs 46.
  • the attributes associated with the Uses relationship 45 include the identification of the participants in the relationship.
  • the First Participant attribute identifies the highest or higher level Program instance using the Second Participant attribute, the lower level Program instance.
  • Refers 47 is used to describe the relationship between a Program 46 and an external Data Entity 48.
  • a Program 46 may Refer 47 to a Data Entity 48 by making a local declaration statement within the Program 46 to the Data Entity 48.
  • the attributes associated with the Refers relationship 47 include the identification of the participants in the relationship.
  • the First Participant identifies the Program instance requiring a reference to the Data Entity instance.
  • the Second Participant is the common identifier name for a collection of data Values, i.e. , the Data Entity instance.
  • SDS Entity-Relationship Model Another of the relationships defined by SDS and incorporated into the SDS Entity-Relationship Model is "Members" 49.
  • the Members relationship associates a Data Entity 48 to its individual member Values 50.
  • the attributes associated with the Members relationship 49 include the identification of the participants in the relationship and a Symbol Name for the Second Participant.
  • the First Participant attribute identifies the common identifier name for the group of data Values (i.e., the Data Entity instance) .
  • Participant attribute is an individual Value of data.
  • the Symbol Name attribute is a symbolic name which can be used to refer to the Value of data identified by the Second Participant, without using the Value itself.
  • the attributes associated with the Workstation Group to Process relationship 51 include the identification of the Participants in the relationship.
  • the First Participant attribute identifies a Process instance.
  • the Second Participant attribute identifies the Workstation Group instance having access to the First Participant.
  • Workstation To Workstation Group Another of the relationships defined by SDS and incorporated into the SDS Entity-Relationship Model is "Workstation To Workstation Group" 53.
  • the Workstation To Workstation Group relationship 53 defines the association between a Workstation 54 and the Workstation Group 52 to which it belongs.
  • the attributes associated with the Workstation To Workstation Group relationship 53 include the identification of the participants in the relationship.
  • the First Participant attribute identifies the particular Workstation Group instance in question.
  • the Second Participant attribute identifies the Workstation instance belonging to the First Participant.
  • the Repository 5 would not need the entity of Workstation Groups, nor the specific relationships of Workstation Group to Process or Workstation to Workstation Group. Rather, all that the Entity-Relationship Model of the Repository 5 would maintain would be a "Workstation to Process" relationship.
  • the attributes associated with the Workstation to Process relationship include the participants in the relationship.
  • the First Participant attribute identifies a Process instance.
  • the Second Participant attribute identifies the Workstation instance having access to the First Participant.
  • Release To Process Another of the relationships defined by SDS and incorporated into the SDS Entity-Relationship Model and referenced in Figure 5 is "Release To Process" 55.
  • the Release To Process relationship 55 associates a Release 20 with a Process 43 affected by the Release 20.
  • the attributes associated with the Release To Process relationship 55 include the participants in the relationship.
  • the First Participant attribute identifies the Release instance in question.
  • the Second Participant attribute identifies a Process instance affected by the First Participant.
  • the attributes associated with the Release To Program relationship 56 include the identification of the participants in the relationship.
  • the First Participant attribute identifies a Release instance.
  • the Second Participant attribute identifies a given Program instance to be distributed by SDS by the particular Release instance identified by the First Participant.
  • Other attributes of the Release To Program relationship 56 include a Program's Logical File Name.
  • a Logical File Name is a function of both a Physical File Name (discussed below) and a Release name. It allows different Releases to refer to different versions of the same entity.
  • Other attributes include a Physical File Name and a Path Name.
  • a Physical File Name refers to a block of executable code, and is an input to the Logical File Name generation process.
  • a Physical File Name will usually be the same as the name of the entity (i.e.
  • a Path Name refers to a high level portion of a disk address at a particular workstation where software will be stored once distributed and installed.
  • Release To Data relationship 57 Another of the relationships defined by SDS and incorporated into the SDS Entity-Relationship Model is "Release To Data" 57.
  • the Release To Data relationship 57 is used to identify a Data Entity 19 to be distributed by SDS in a particular Release with the Release 20 itself.
  • the attributes associated with the Release To Data relationship 57 include the identification of the participants in the relationship.
  • the First Participant attribute identifies the Release instance.
  • the Second Participant attribute identifies a Data Entity instance to be distributed by SDS for the particular Release instance identified by the First Participant.
  • Other attributes of the Release to Data relationship include a Data entity's Logical File Name which, as discussed above, is a function of both a Physical File Name and a Release Name.
  • attributes of the Release to Data relationship 57 include a Data Entity's Physical File Name and Path Name.
  • a Ruie can control, among other things, the execution of other Rules.
  • Rules themselves are generally specified in a high level language referred to as "Rules language.”
  • Rules language is typically not executable source code, but rather “pseudocode” which in some ways resembles English and which can be readily translated into one of the many available computer source code languages.
  • Rules language is based on the principles of structured design and programming. Thus, with the Rules language, a designer of applications software can design Rules pseudocode to perform such structured constructs as "Do While,” “Do Until,” and “If, Then, Else,” for example. Rules and the Rules language make it generally possible for an applications software designer to design software without concern for the specific language which may be required by a specific processor node. This capability can be particularly useful in cooperative and distributed processing systems where an application may be executing on several disparate nodes which employ various source code compilers.
  • the attributes associated with the Rule entity type include an attribute for the identification of discrete instances of Rules, as well as an attribute specifying execution environment for the Rule instance.
  • a second entity defined for CASE (or other special) software is the "Component.”
  • a Component is a block of computer instructions written in a source code programming language. Components are used to perform the functions not handled by Rules.
  • the attributes associated with Components include an attribute for the identification of discrete instances of Components, an attribute specifying execution environment for the Component instance, and an attribute specifying the source code language in which a Component instance is written.
  • Window The next of these entities is the “Window.”
  • Windows are a type of Program which define the man-machine interface. They specify what data is to be accepted from a user, how it is to be displayed, and how it is to be accepted. .
  • Microsoft Corporation's Window program sold under the trademark "MICROSOFT WINDOWS,” be used.
  • MICROSOFT WINDOWS the reader is referred to the following Microsoft Corporation publications which are hereby incorporated by reference: "Microsoft Windows Programmer's Utility Guide”; “Microsoft Windows Application Style Guide”; “Microsoft Windows Programmer's Reference”; and “Microsoft Windows Quick Reference."
  • the attributes associated with Windows include an attribute identifying discrete Window instances.
  • the only nodes capable of executing Window entities are the Workstations, since they will usually be the only platforms which comprise a cathode- ray tube display in addition to a processor. As such, there is usually no need for an attribute describing the execution environment of the Window.
  • the SDS Entity-Relationship Model can be adapted to include for the Window entity the additional attribute of execution environment.
  • a further of these entities is a "View.”
  • a View is a logical collection of data elements (or “Fields" as described below) .
  • a view can also comprise other Views.
  • a View is a multiplicity of data variables (or Fields - see below) and is particularly useful for defining the data interface between one program and another or from a system user to a program.
  • the former type is referred to as a "Module View” and the latter is referred to as a "Window View”.
  • the attributes associated with Views include an identification attribute specifying discrete View instances.
  • Fields describe the basic data elements that comprise a business or technical data resource.
  • a Field stores all information about data elements independent of the environment in which the data is actually stored.
  • the attributes associated with Fields include an identification attribute, for specifying discrete Field instances; a Field Format attribute, for describing the format in which data is stored in memory (e.g. , integer, decimal, character, etc.); and a Field Length attribute, for specifying the size (or length) of a Field.
  • the Uses relationship defined previously to describe the relationship between Programs is used in the CASE context to describe the relationship between two Rules (61), a Rule and a component (61'), and two Components (61") . (It is preferred that a component not Use a Rule.)
  • the attributes of the Uses relationship 61, 61', 61" are as defined previously. In the CASE context, it is preferred that a Component not be a First Participant unless another Component is a Second Participant in the relationship.
  • Converses 62 is used to describe a Rule 60 connecting to a Window 63. (It is preferred that a Rule Converse with only one Window) . Only those Rules which are resident in a node with an I/O device including a cathode-ray tube may Converse with a Window.
  • the attributes of the Converse relationship 62 are the First and Second Participants.
  • the First Participant attribute identifies the Rule instance in question, while the Second Participant Attribute identifies its Window instance.
  • the "Owns" relationship 65 is used to connect Rules 60, Components 64 and Windows 63 with Views 68, thereby associating with a Rule 60, Component 64 or Window 63 a specific data interface.
  • the attributes of the Owns relationship 65 are the First Participant, the First Participant's entity type, the Second Participant, and the View Usage.
  • the First Participant is the First Participant, the First Participant's entity type, the Second Participant, and the View Usage.
  • Participant attribute can be a Rule, Component or Window name (i.e., the identification attribute for a certain Rule, Component or Window instance) .
  • the First Participant's entity type attribute will specify Rule, Component or Window.
  • the Second Participant attribute will be the identification attribute for the View instance participating in the Owns relationship 65.
  • the View Usage attribute will specify a directionality to a View ("In” for an Input View and "Out” for an Output View for Rules and Components; "InOut” (bidirectional View for Windows as well as Rules and Components) .
  • the "Includes" relationship 67 is used to nest a View within another View, or to connect a View with its constituent Fields (67').
  • a View 68 may therefore Include a View 68 or a Field 69.
  • the attributes associated with the Includes relationship 67, 67' comprise the First Participant attribute (which is the View instance in question) ; the Second Participant attribute (which is either the nested View's or Field's identification attribute) , the Second Participant's entity type (which would either be View or Field) ; the Sequence Number attribute (which indicates for a View that has nested Views and Fields the order of nested Views and Fields) ; and the Occurs Number of Times attribute (which indicates how many associations there are between the First Participant View and Second Participant Views; this attribute will be zero for Views which Include only Fields) .
  • Refers relationship 66 is similar to the Refers relationship 47 (see Figure 3a) in the general Model, but it associates either Rules 60 or Components 64 to a Data Entity 48.
  • First Participant attribute in this relationship may include the identification attributes from either the Rule or Component instance in question.
  • the Repository 5 When updates to an application are made, the Repository 5, containing specific entity and relationship instances descriptive of the application and the related hardware, can be examined by SDS to determine information required for software distribution.
  • the SDS Entity-Relationship Model described above has been designed to provide not merely for entity and relationship types which are required for software distribution, but also a structure useful for orderly and logical applications software design.
  • the design of the SDS Entity-Relationship Model thus achieves great efficiency since for a given software application the entity and relationship instances useful for software distribution can in fact be stored in the Repository 5 as a natural consequence of software design, requiring little or no further refinement for software distribution purposes.
  • This feature of the SDS Entity- Relationship Model can be quite useful when combined with CASE software designed for Entity-Relationship Model compatibility.
  • a designer can design software and build entity and relationship instances in the Repository useful for software distribution at the same time.
  • the SDS Entity-Relationship Model is equally applicable to facilitate software distribution of applications written without the Model in mind.
  • the structure of the SDS Entity-Relationship Model is generic enough to describe the specifics of any application. All that need be done is to logically describe an existing program and computer system in terms of the categories of entities and relationships provided by the Model. Once this is done, the specific instances of such entities and relationships are stored in the Repository 5 for future use in the distribution of modified software entity instances.
  • Repository 5 containing a representation of entity and relationship information. This information is illustrated by way of example in Figure 3c.
  • a given application or Function instance 8 is logically composed of a highest level or Root Process instance 9, which intern is comprised of one or more lower level Process instances 10, 11.
  • the lowest level Process instances 11 are each comprised of a highest level or Root Program instance 12, which may call one or more subordinate Program instances 13.
  • Each of the subordinate Program instances 13 may in turn call other subordinate Program instances 14, and so on.
  • Any of the Program instances may have access to or need for Data Entity instances 15 which comprise individual data Value instances 16.
  • the relationship instances among the entity instances are indicated in the Figure.
  • Leaf Processes are the only Processes which directly relate to one or more programs/data entities. All other Processes (for example Root and Node Processes) are merely logical combinations of Leaf Processes. Furthermore, a Function is merely a collective term for the logical organization of processes. For the purposes of software distribution, no description of software entity and relationship instances above Leaf Processes in a given software application is required. However, such higher level software entities (Function, Root and Node Processes) and their associated relationships are useful in conjunction with software design efforts (referenced above) and could be present in such software entity instance representations stored in the Repository 5.
  • the Repository 5 contains entries not only for the identification of each entity instance, but for all attributes pertinent to that entity type. For example, stored are the identification attributes of each Program instance comprising the application, as well as each Program and Data Entity instance's execution environment. Furthermore, stored are the specifics of each relationship instance between entity instances, for example, the identity of each participant in a given relationship. In this way, any application can be completely described.
  • the Repository 5 also contains a representation of computer system hardware in terms of instances of Workstation and Workstation Group entity types and their associated relationships.
  • a description of which Workstation/Workstation Group instances have access to Leaf Processes instances This description is provided by the Workstation Group to Process (or Workstation to Process) relationship defined by the SDS Entity-Relationship Model.
  • Figure 3d depicts a portion of an exemplary Repository 5 where program instances are replaced by Rule instances 30, 35, 36, a Component instance 32 and a Window instance 31, and where specific data interfaces defined by a View instance 33 and Field instances 34 are included. Note that a View instance 33 and Field instances 34 do not replace or eliminate the need for the Data Entity instances and Value instances or their associated relationships. Data Entity instances and Value instances have been omitted from Figure 3d for clarity.
  • Window 31, Rule 30, 35, 36 and Component 32 instances can share ownership of a View instance 33.
  • Rule 30, 35, 36 and Component 32 instances may have unshared multiple View instances in addition to one which may be shared.
  • a given View instance 33 may Include more than one Field instance 34.
  • the hardware entity instances and the hardware to software relationship instances are stored in the Repository 5 as part of the application software design process, or as part of the process of describing an existing application and system in terms of the SDS Entity- Relationship Model.
  • Figure 3e depicts the contents of the Repository 5 as they concern the hardware entity instances of a given system.
  • the Leaf Process instance 11 shown in Figure 3e can be any of the Leaf Process instances shown in Figures 3c or 3d.
  • Each Workstation instance 3 can be any of the Workstations instances 3 depicted in Figures 1 and 2.
  • the Workstation Group instances 17 are logical collections of individual
  • the Repository 5 identifies individual Process instances by specific Process attributes stored for each Process instance, as discussed above. Similarly, all attributes generally stored for Workstation Group and Workstation instances, as defined by the SDS Entity-Relationship Model, are stored in the Repository 5 for the specific system in question. Moreover, relationship types specified by the Model associating Processes with Workstation Groups and Workstation Groups with Workstations are stored in the Repository 5 as instances of these relationship types.
  • Figure 3f depicts an exemplary portion of contents of a Repository 5 for systems which do not employ the Workstation Group entity type. As a consequence the Repository 5 stores no instances of entities or relationships associated with the Workstation Group.
  • Figures 3c-f depict a portion of the Repository 5 which contains a representation of the software and hardware of the system by virtue of entity attributes. It is this representation of the software and hardware entity instances, according to the Model, which is significant to the SDS process.
  • the Impact Analysis (IA) function of SDS determines what effect changes to certain software entity instances will have on entity instances already defined in the Repository 5 and stored in the warehouse 4.
  • the list of entity instances produced by the IA function, stored in an IA Table (IAT) of the Repository 5, will include all entity instances directly modified by a programmer and will further include all entity instances which may need to be changed as a result of the direct modifications (propagated changes) .
  • a programmer once informed of entity instances listed in the IAT must then consider these entity instances and make modifications to them where appropriate.
  • the IA function could determine all directly modified entity instances simply by adopting a list of such entity instances provided by the programmer. However, it is preferred that a line-by-line comparison be made by the IA function between the unmodified application and the modified application, with all modified entity instances being noted in the IAT.
  • the IA function determines possible propagated changes by determining all Program instances which call and which are called by the directly modified Program instances. SDS does this by scanning the Repository 5 for all instances of modified Program instances as either the First Participant or Second Participant attribute in Uses relationships. When such a situation is encountered, the corresponding Second or First Participant attribute Program instances respectively are noted in the IAT.
  • SDS will scan the Repository 5 for all Program instances which Own Views Owned by the modified Program instances. These Program instances are then listed in the IAT. Also, SDS will scan the Repository 5 for all View instances which Include Field instances which are defined to the modified Program instance. Then, all Program instances which Own such View instances are listed in the IAT.
  • the scanning done by SDS is needed to help identify Program-to-Program data interfaces which may have been altered by a modification to one of the Program instances. Any Program instance which calls or is called by a modified Program instance, or which shares Views/Fields with a modified Program instance (Rule, Component, Window) may have to be modified to account for changes to a data interface.
  • the IA function of SDS also determines possible propagated changes by identifying all Data Entity instances which have been directly modified by a programmer and then by scanning the Repository 5 for all other Program instances which have access to (i.e. , Refer to) such Data Entity instances. This is performed since a programmer may directly modify a Data Entity instance by changing some aspect of data format, but only account for such alteration in, say, the one Program instance known to the programmer to have access to the Data Entity instance. However, because other Program instances may also access the Data Entity instance, these Program instances may need modification.
  • the IA function therefore, provides the programmer with information stored in the IAT of the Repository 5 which delineates the basic information needed to make such determinations.
  • IA2 identifies directly modified entity instances in the same way, but identifies entities requiring propagated changes in a different manner. Propagated changes are determined changes based on the significance of given direct modifications to other related entity instances. IA2 is premised upon the fact that a direct change to an entity instance may not affect the executable form of other entity instances which would otherwise be identified by the IA function. These other entity instances, which may be numerous, need not be distributed by SDS. As a result, IA2 can provide a more efficient system for distributing software.
  • IA2 like IA, identifies all directly modified entity instances by, e.g., performing a line-by-line comparison of modified and unmodified applications. IA2, however, goes further in that it assigns a "Change Class" to the type of change made directly by the programmer. The Change Class is stored in the IAT for each directly modified entity instance.
  • Change Classes are defined to indicate the significance, in terms of the extent of propagated effect of a given direct modification to an entity instance. For example, a Change Class of 01 might indicate a major propagation effect, while a Change Class of 02 might indicate a more modest effect, if any effect at all. Generally, a Change Class of 01 might indicate a major propagation effect, while a Change Class of 02 might indicate a more modest effect, if any effect at all. Generally, a Change Class of 01 might indicate a major propagation effect, while a Change Class of 02 might indicate a more modest effect, if any effect at all. Generally, a Change Class of 01 might indicate a major propagation effect, while a Change Class of 02 might indicate a more modest effect, if any effect at all. Generally, a Change Class of 01 might indicate a major propagation effect, while a Change Class of 02 might indicate a more modest effect, if any effect at all. Generally, a Change Class of 01 might indicate a major propagation effect, while a Change Class of 02
  • Change Class assigned to a modified entity instance is a function of the entity attribute changed by the direct modification. Some entity attributes concern only the directly modified entity, while other attributes concern other entity instances as well as the one modified. Depending on the nature of entity instances and their attributes. Change Classes may be defined to require no, some or many propagated changes.
  • Change Classes for an entity type are determined by considering the propagtive effect of changes to the attributes of the entity type. Thus, changes to each attribute of an entity type are considered for their propagative effect — the extent to which other entity types superordinate to the one in questions are affected by such changes.
  • Table I defines Change Classes for the entities of the Entity-Relationship Model useful with certain CASE software.
  • the information presented in Table I is used by IA2 to assign a change class to directly modified entities.
  • the first column of information defines entity types. These entity types may have one or more Change Classes. As an example, the entity type "Set” appears twice and has, therefore, two Change Classes associated with it.
  • a Set is an enumerated list of Values. Each Value is given a symbolic reference.
  • a Set is defined by the following attributes: (1) Set Name, used to uniquely identify the Set; (2) Set Description, used to describe the Set instance; (3) Element Format, used to describe the format of Set elements; (4) Element Length, describing the length of the Set elements; (5) Element Scale, describing the number of decimal places for decimal fields; (6) SETVAL Symbol, describing the name of a given Value in the Set).
  • Table II indicates, for a given entity type with a given Change Class (first two columns) , other entity types
  • IA2 For every entry in the IAT indicating a modified software entity instance, IA2 traverses Table II to determine which other entity types may be affected by the modification. In the case of a modified Set of Change Class 01, IA2 identifies the Rule, Component and Process entity types. IA2 then scans the Entity- Relationship representation of the software in
  • Repository 5 to determine all entity instances of the identified entity types (e.g., Rule, Component and Process instances) which are related and superordinate to the modified entity instance in the software hierarchy of the Entity-Relationship representation.
  • entity types e.g., Rule, Component and Process instances
  • Each of these related entity instances is identified in a table for later use in and testing and software distribution. It may be that for any one entity instance in the IAT, another entity instance is identified as having a propagated effect that has been identified previously. In this case, the entity instance need not be identified a second time in the table.
  • IA2T a table is built, referred to as the IA2T, which includes all directly modified entity instances as well as all instances which are a result of the propagation of direct modifications.
  • This table serves the SDS like the IAT discussed above.
  • IA In terms of managing the software modification and IA processes (hereinafter, "IA" refers to either IA or IA2 processes) , it is preferred that all Program/Data Entity instance modifications, whether direct or propagated, occur not on the Repository 5 or the Warehouse 4 (which are actually "production” environments storing software and relational databases accepted as operational) , but rather on a “Development Repository” 5'.
  • This Development Repository 5' is either physically or logically separate from other storage in the computer system in question and allows a programmer to make his direct modifications, and any necessary propagated modifications (as a result of IA) without the danger of contaminating existing storage.
  • the Development Repository 5' contains the modified software application, as well as a modified entity and relationship representation of the software, if such is called for. It is preferred that the Development Repository 5' be connected to the mainframe processor 1, 7 accessible through a Workstation 3, 6, however, it may simply be a data base local to a given Workstation 3 connected to the network.
  • an IA be performed on a copy of the modified application stored in a "Staging Repository” 5", where application quality assurance testing can also be performed.
  • the Staging Repository 5" should be logically or physically distinct from other system storage and be connected preferably to the mainframe 1, 7.
  • the Staging Repository 5" can be accessible through any processor/input-output combination, but is typically accessible, as is the Development Repository 5', through a Workstation or Input/Output terminal 3, 6 connected to the mainframe 1, 7.
  • quality assurance testing of a modified application requires installation of the application in executable form on its intended hardware environment (for example, a three-tiered environment) so that the software can be completely exercised. However, this testing activity in general does not require distribution of the modified software to more than one processor in a given hardware tier.
  • Quality assurance testing is typically controlled from a single Workstation or input/output device 3, 6 with access to the modified software stored on the Staging Repository 5".
  • this Workstation or input/output device 3, 6 will be referred to as the "Quality Assurance Workstation"; it can be located anywhere in the system or network.
  • Quality assurance testing requires that modified software entity instances be converted into executable form for use in testing by the various hardware platforms (tiers) of the system.
  • a Release is defined as the logical unit of work to be distributed by SDS. This logical unit of work in effect is the total difference between the current version of an application as it exists in the Warehouse 4 (i.e. , the unmodified version) and a modified application as it exists in the Repository 5 (i.e. , all modified software entity instances) . The existence of each Release is recorded in a Release Entity Table (RET) in the Repository 5.
  • RET Release Entity Table
  • a Release is described by a "Release Configuration" which is comprised in part of a Release-to-Entity Relationship Table (RERT) stored in the Repository 5.
  • RERT Release-to-Entity Relationship Table
  • the RERT contains an entry (or row) for each software entity instance to be distributed by SDS.
  • the RERT is comprised in part of the list of all software entity instances affected by programmer modification. This list (or column in the RERT) is the result of the SDS IA processing discussed above and is, in effect, the IAT.
  • the RERT is further comprised of a list of Physical File Names which will be identical to the list of modified entity instances except that should a modified entity instance be comprised of more than one physical file, extensions are employed to augment the entity name thus separating individual physical files associated with a single entity instance.
  • This list of physical files appears as a second column in the RERT.
  • a third column in the RERT consists of Path Names for each affected entity instance.
  • a Path Name is chosen to be a function of the attributes of a software entity instance.
  • a fourth column in the RERT consists of Logical File Names which are, as explained below, versions of Physical File Names which separate Physical Files on a Release basis.
  • the Release Configuration is further comprised of a
  • RPRT Release to Process Relationship Table
  • the RPRT contains an entry for all Leaf Process instances which are comprised in whole or in part of modified software entity instances. Entries to the RPRT are made by a scan of the Repository 5 for Process instances which are comprised of constituent software entity instances which appear in the IAT for the Release. These associations are provided by the Process to Program, Program to Program and Program to Data relationships discussed above.
  • each Release there are entries in associated tables, the RERT and the RPRT. Each of these tables is stored in the Repository 5. Once entries to the RERT and RPRT are made by SDS, the remaining activities required for software distribution are the incorporation of modified entity instances into the Warehouse 4 and the physical transportation of individual software entity instances to their appropriate Workstations 3 (i.e. , nodes to which software is to be distributed) . It is preferred that the performance of these remaining steps be under the control of one centralized control mechanism, e.g. , the mainframe 1, 7 of the three and two tiered computer systems of Figures 1 and 2, respectively (operated by a user at an associated workstation 6) .
  • one centralized control mechanism e.g. , the mainframe 1, 7 of the three and two tiered computer systems of Figures 1 and 2, respectively (operated by a user at an associated workstation 6) .
  • any issues concerning a Release which arise among system users who are located at various workstations 3 can be dealt with in an orderly, organized fashion.
  • these steps can be performed in a decentralized fashion, e.g. , by multiple controlling processors or by multiple users at Workstations 3 in the network, the centralized control approach is logistically simpler to implement.
  • the next step is the process of saving the modified software entity instances in the warehouse 4.
  • software entity instances When software entity instances are saved in the Warehouse 4, they do not over-write or eliminate previously released versions of the same entity instances. Rather, each modified entity instance is saved on a Release basis.
  • SDS defines for each such entity instance a Logical File Name.
  • Logical File Names are versions of entity Physical File Names contained in the RERT.
  • Logical File Names are chosen as functions of both the Physical File Name and the Release Name (from the RET) .
  • SDS then creates an "Upload Order" containing a Logical File Name for each Physical File Name in a Release.
  • An "Upload Order Table" (UOT) is maintained in the Repository 5 to store status information about the processing of the Upload Order.
  • the Upload Order is then transmitted over the network to the node which was responsible for the coordination of quality assurance testing (the Quality Assurance Workstation) .
  • This node in response to this Order, collects the tested software entity instances, which are in executable form, from the test nodes and transmits the software entity instances over the network to the node which controls the Warehouse 4.
  • the software entity instances are then stored in the Warehouse 4 under their Logical File Names as specified by the
  • modified software entity instances can be distributed to the appropriate Workstations 3 (or nodes) by SDS.
  • a Release Download can occur.
  • SDS In order to physically distribute software entity instances (i.e. , Download a Release) , it is necessary for SDS to determine which Workstations 3 are to receive particular modified software entity instances. This determination is made by SDS's scanning of the tables of the Repository 5 to associate modified software entity instances in a Release to their Process instances, and to associate such Process instances to particular Workstations 3. Specifically, the RPRT for the Release in question is scanned by SDS for all Process instances affected by the Release. SDS searches the Workstation Group to Process relationships of Repository 5 to determine those Workstation Group instances which have access to the Process instances affected by the Release (i.e.
  • SDS searches the Workstation to Workstation Group relationships of Repository 5 to determine those Workstations 3 which are members of the identified Workstation Group instances. (Should the particular computer system in question not employ the Workstation Group entity, SDS would search the Repository 5 to determine directly those Workstations 3 that have access to those Process entities affected by the Release by virtue of the Workstation to Process relationship.)
  • a Download Order is built by SDS for each affected Workstation 3.
  • a Download Order (DO) is a list of the modified software entity instances for each Workstation 3 identified in the technique described above. Each modified software entity instance is identified in a DO by its Physical File Name, Logical File Name and its Path Name. Each DO is identified by a specific DO Number. The DO's are then sent by the node executing SDS through the computer system network for storage at each affected Workstation 3.
  • a "Download Order Table" (DOT) is maintained by the Repository 5 to store status information associated with the processing of DOs.
  • Each affected Workstation 3 processes a DO in part by retrieving all specified software entity instances (by Logical File Name) from the Warehouse 4 into its own local warehouse database.
  • the local warehouse is storage which is ancillary to that used for storing baseline versions of software entity instances executed by the Workstation 3.
  • the downloaded software entity instances are saved in the local warehouse under the same Logical File Names as used in the warehouse 4. It is preferred that such entity instances be saved in a compressed file (to save space) identified by the associated DO Number. It is further preferred that each Workstation which has stored modified entity instances (in its local warehouse) pass a completion status back through the network to the node executing SDS for storage on the DOT in the Repository 5 to reflect completion of the Download process. At this point, the Release (i.e. , modified software entity instances) has been distributed or "downloaded" to those Workstations 3 which require updating.
  • modified software entities After modified software entities have been downloaded to a Workstation's local warehouse database, installation of such entity instances can occur at the appropriate time. Typically modified software entity instances are installed for use on every Workstation 3 (that has received the downloaded software entity instances) at the same time. The time chosen should correspond to when such Workstations 3 are not executing the unmodified application.
  • SDS provides for installation of modified software entity instances through the generation of Install Orders in response to user instructions to install a Release.
  • SDS generates its Install Orders by first re ⁇ searching the DOT for the Release in question in the Repository 5 to determine all Workstations 3 that have received downloaded software (i.e. , Download status checked). Next, SDS constructs the Install Orders. These Orders are sent over the network to each identified Workstation 3. (Note that in a three tiered system, the mini-computer 2, receives the Install Orders from the mainframe 7 (which is executing SDS) and directs them to the individual Workstations 3 over the network.
  • Each Install Order contains a number which matches the DO Number previously received by the Workstations 3.
  • SDS maintains an "Install Order Table" (IOT) in the Repository 5 to store status information associated with the processing of IOs.
  • IOT Install Order Table
  • This compressed file is preferably identified by the DO Number with an extension indicating its status as a back out file.
  • the entity instances to be backed out are identified by the Workstation 3 by reference to the DO it has previously received and stored.
  • a Workstation 3 can install the modified software entity instances for regular baseline application processing.
  • the installed entity instances are saved preferably under their Physical File Names listed in the DO for the Workstation 3. They are stored at an address identified in part by their associated Path Names (also indicated in the DO) . With instal- lation completed, an "Installation Complete" status is returned by the Workstation 3 in question and this information is saved in the IOT of the Repository 5.
  • the backed out entity instances stored in the Workstation local warehouse have use when it is desirable to restore a prior Release. To accomplish this, SDS issues a Back Out Order to all affected
  • the Back Out Order includes a DO Number associated with the Release to be backed out (i.e. , de ⁇ installed) .
  • the compressed file stored on the local warehouse identified by the corresponding DO Number is then used as the file to be installed at the Workstation 3 for baseline processing.
  • Workstations 3 For purposes of Release Downloading, Installation and Back-Out, it is preferred that Workstations 3 have a time interval designated during which such activities can occur. This can be achieved in several ways including the creation of an "SDS Mode" for each Workstation 3 in which each can process Download, Install or Back-Out Orders.
  • the "SDS Mode” could occur at a designated time or at various times determined by SDS (in the latter situation, SDS could issue an SDS Mode command to the various Workstations 3 in the network informing them of when to switch to SDS Mode and for how long to remain in the Mode) .
  • Figure 4 depicts the modified software entity instances (programs 18 and Data 19) which are the result of direct and propagated modifications to the software entity instances. All such modified entity instances, whether of the direct or propagated type, originate in the Development Repository 5'. The need for propagated modifications is identified by an IA and quality assurance testing, both associated with the Staging Repository 5".
  • a Release described by a Release Configuration
  • SDS Quality assurance testing
  • a Release Configuration is based on two tables, the RERT and the RPRT.
  • the RERT associates Physical File Names and Path Names with each entity instance to be distributed by SDS.
  • the RPRT associates with the Release all affected Leaf Processes 21.
  • SDS issues certain orders to various nodes in the network.
  • One of these is the Upload Order, issued to the node controlling the Warehouse 4, to collect and store software modified entity instances under a Logical File Name.
  • the Download Order issued to Workstations 3, to retrieve from the Warehouse 4 particular modified software entity instances and store them in a local warehouse under Logical File Names.
  • the DOs are constructed by SDS from a scan of the RERT, RPRT, and the software and hardware entity and relationship instance representations maintained by the Repository 5.
  • Install Orders are created by SDS and sent to all affected Workstations 3.
  • the Workstations 3 implement the Install Orders by saving previous versions of entity instances and by installing newly modified entity instances.

Abstract

Une technique permet de distribuer du logiciel dans un système informatique. Le logiciel est formé d'unités de logiciel et le système informatique est formé d'unités de matériel. Selon cette technique, des données sont enregistrées dans une base de données dans laquelle sont décrites les unités de logiciel, les unités de matériel et les relations entre les deux types d'unités; sont également enregistrées les modifications d'une ou plusieurs unités de logiciel. La base de données est explorée afin d'associer à chaque unité modifiée de logiciel une ou plusieurs unités de matériel, qui reçoit chaque unité modifiée de logiciel. Finalement, chaque unité modifiée de logiciel est distribuée parmi une ou plusieurs unités associées de matériel. Le modèle selon lequel la base de données est structurée décrit toutes les unités de matériel et de logiciel, ainsi que les relations entre ces unités qui affectent la distribution du logiciel.
PCT/US1990/007011 1989-11-30 1990-11-30 Systeme de distribution de logiciel WO1991008542A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US44410289A 1989-11-30 1989-11-30
US444,102 1989-11-30

Publications (1)

Publication Number Publication Date
WO1991008542A1 true WO1991008542A1 (fr) 1991-06-13

Family

ID=23763508

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1990/007011 WO1991008542A1 (fr) 1989-11-30 1990-11-30 Systeme de distribution de logiciel

Country Status (3)

Country Link
AU (1) AU6969391A (fr)
NZ (1) NZ236300A (fr)
WO (1) WO1991008542A1 (fr)

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996018157A2 (fr) * 1994-12-09 1996-06-13 Taligent, Inc. Systeme oriente objet pour gerer l'historique de la configuration
WO1999017205A2 (fr) * 1997-09-29 1999-04-08 Sun Microsystems, Inc. Procede et dispositif pour l'analyse de donnees
WO2000067112A2 (fr) * 1999-04-30 2000-11-09 Elata Plc Systeme et procede permettant de gerer la distribution d'un contenu a un dispositif
FR2808906A1 (fr) * 2000-05-10 2001-11-16 Touchtunes Music Corp Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles
WO2002039313A2 (fr) * 2000-10-31 2002-05-16 Loudcloud, Inc. Modele de donnees pour configuration de serveur automatique
EP1170951A3 (fr) * 2000-06-21 2004-05-26 Touchtunes Music Corporation Dispositif et procédé de gestion à distance d'un réseau de systèmes de reproduction d'information audiovisuelles
US7743147B2 (en) 2001-04-20 2010-06-22 Hewlett-Packard Development Company, L.P. Automated provisioning of computing networks using a network database data model
US7822687B2 (en) 2002-09-16 2010-10-26 Francois Brillon Jukebox with customizable avatar
US8843991B2 (en) 1998-07-22 2014-09-23 Touchtunes Music Corporation Audiovisual reproduction system
US8840479B2 (en) 2000-06-29 2014-09-23 Touchtunes Music Corporation Communication device and method between an audiovisual information playback system and an electronic game machine
US8863161B2 (en) 2000-06-29 2014-10-14 Touchtunes Music Corporation Method for the distribution of audio-visual information and a system for the distribution of audio-visual information
US8873772B2 (en) 2000-02-16 2014-10-28 Touchtunes Music Corporation Process for adjusting the sound volume of a digital sound recording
US8904449B2 (en) 1998-07-22 2014-12-02 Touchtunes Music Corporation Remote control unit for activating and deactivating means for payment and for displaying payment status
US8918485B2 (en) 2002-09-16 2014-12-23 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US8931020B2 (en) 1999-07-16 2015-01-06 Touchtunes Music Corporation Remote management system for at least one audiovisual information reproduction device
US8966468B2 (en) 1998-07-21 2015-02-24 Touchtunes Music Corporation System for remote loading of objects or files in order to update software
US9041784B2 (en) 2007-09-24 2015-05-26 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US9076155B2 (en) 2009-03-18 2015-07-07 Touchtunes Music Corporation Jukebox with connection to external social networking services and associated systems and methods
US9100283B2 (en) 2002-06-12 2015-08-04 Bladelogic, Inc. Method and system for simplifying distributed server management
US9129328B2 (en) 2000-02-23 2015-09-08 Touchtunes Music Corporation Process for ordering a selection in advance, digital system and jukebox for embodiment of the process
US9165322B2 (en) 2002-09-16 2015-10-20 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US9171419B2 (en) 2007-01-17 2015-10-27 Touchtunes Music Corporation Coin operated entertainment system
US9292166B2 (en) 2009-03-18 2016-03-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US9313574B2 (en) 1997-09-26 2016-04-12 Touchtunes Music Corporation Wireless digital transmission system for loudspeakers
US9330529B2 (en) 2007-01-17 2016-05-03 Touchtunes Music Corporation Game terminal configured for interaction with jukebox device systems including same, and/or associated methods
US9451203B2 (en) 2000-02-16 2016-09-20 Touchtunes Music Corporation Downloading file reception process
US9521375B2 (en) 2010-01-26 2016-12-13 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US9545578B2 (en) 2000-09-15 2017-01-17 Touchtunes Music Corporation Jukebox entertainment system having multiple choice games relating to music
US9646339B2 (en) 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US9769566B2 (en) 1998-07-22 2017-09-19 Touchtunes Music Corporation Sound control circuit for a digital audiovisual reproduction system
US9921717B2 (en) 2013-11-07 2018-03-20 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
US9953481B2 (en) 2007-03-26 2018-04-24 Touchtunes Music Corporation Jukebox with associated video server
US9953341B2 (en) 2008-01-10 2018-04-24 Touchtunes Music Corporation Systems and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US10127759B2 (en) 1996-09-25 2018-11-13 Touchtunes Music Corporation Process for selecting a recording on a digital audiovisual reproduction system, and system for implementing the process
US10169773B2 (en) 2008-07-09 2019-01-01 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
US10290006B2 (en) 2008-08-15 2019-05-14 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US10318027B2 (en) 2009-03-18 2019-06-11 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10373420B2 (en) 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US10564804B2 (en) 2009-03-18 2020-02-18 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10656739B2 (en) 2014-03-25 2020-05-19 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11029823B2 (en) 2002-09-16 2021-06-08 Touchtunes Music Corporation Jukebox with customizable avatar
US11151224B2 (en) 2012-01-09 2021-10-19 Touchtunes Music Corporation Systems and/or methods for monitoring audio inputs to jukebox devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system
US4714992A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Communication for version management in a distributed information service
US4751635A (en) * 1986-04-16 1988-06-14 Bell Communications Research, Inc. Distributed management support system for software managers
US4788637A (en) * 1985-09-30 1988-11-29 Kabushiki Kaisha Toshiba Communication control apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system
US4788637A (en) * 1985-09-30 1988-11-29 Kabushiki Kaisha Toshiba Communication control apparatus
US4714992A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Communication for version management in a distributed information service
US4751635A (en) * 1986-04-16 1988-06-14 Bell Communications Research, Inc. Distributed management support system for software managers

Cited By (139)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996018157A3 (fr) * 1994-12-09 1996-08-15 Taligent Inc Systeme oriente objet pour gerer l'historique de la configuration
WO1996018157A2 (fr) * 1994-12-09 1996-06-13 Taligent, Inc. Systeme oriente objet pour gerer l'historique de la configuration
US10127759B2 (en) 1996-09-25 2018-11-13 Touchtunes Music Corporation Process for selecting a recording on a digital audiovisual reproduction system, and system for implementing the process
US9313574B2 (en) 1997-09-26 2016-04-12 Touchtunes Music Corporation Wireless digital transmission system for loudspeakers
WO1999017205A2 (fr) * 1997-09-29 1999-04-08 Sun Microsystems, Inc. Procede et dispositif pour l'analyse de donnees
WO1999017205A3 (fr) * 1997-09-29 1999-06-17 Sun Microsystems Inc Procede et dispositif pour l'analyse de donnees
US6275954B1 (en) 1997-09-29 2001-08-14 Sun Microsystems, Inc. Method and apparatus for analyzing data
US8966468B2 (en) 1998-07-21 2015-02-24 Touchtunes Music Corporation System for remote loading of objects or files in order to update software
US8843991B2 (en) 1998-07-22 2014-09-23 Touchtunes Music Corporation Audiovisual reproduction system
US10104410B2 (en) 1998-07-22 2018-10-16 Touchtunes Music Corporation Audiovisual reproduction system
US9100676B2 (en) 1998-07-22 2015-08-04 Touchtunes Music Corporation Audiovisual reproduction system
US9148681B2 (en) 1998-07-22 2015-09-29 Touchtunes Music Corporation Audiovisual reproduction system
US9769566B2 (en) 1998-07-22 2017-09-19 Touchtunes Music Corporation Sound control circuit for a digital audiovisual reproduction system
US8904449B2 (en) 1998-07-22 2014-12-02 Touchtunes Music Corporation Remote control unit for activating and deactivating means for payment and for displaying payment status
US9922547B2 (en) 1998-07-22 2018-03-20 Touchtunes Music Corporation Remote control unit for activating and deactivating means for payment and for displaying payment status
US6886017B1 (en) 1999-04-30 2005-04-26 Elata Limited System and method for managing distribution of content to a device
WO2000067112A3 (fr) * 1999-04-30 2001-01-25 Hugh Symons Group Plc Systeme et procede permettant de gerer la distribution d'un contenu a un dispositif
WO2000067112A2 (fr) * 1999-04-30 2000-11-09 Elata Plc Systeme et procede permettant de gerer la distribution d'un contenu a un dispositif
US9288529B2 (en) 1999-07-16 2016-03-15 Touchtunes Music Corporation Remote management system for at least one audiovisual information reproduction device
US8931020B2 (en) 1999-07-16 2015-01-06 Touchtunes Music Corporation Remote management system for at least one audiovisual information reproduction device
US10846770B2 (en) 2000-02-03 2020-11-24 Touchtunes Music Corporation Process for ordering a selection in advance, digital system and jukebox for embodiment of the process
US9608583B2 (en) 2000-02-16 2017-03-28 Touchtunes Music Corporation Process for adjusting the sound volume of a digital sound recording
US8873772B2 (en) 2000-02-16 2014-10-28 Touchtunes Music Corporation Process for adjusting the sound volume of a digital sound recording
US9451203B2 (en) 2000-02-16 2016-09-20 Touchtunes Music Corporation Downloading file reception process
US10068279B2 (en) 2000-02-23 2018-09-04 Touchtunes Music Corporation Process for ordering a selection in advance, digital system and jukebox for embodiment of the process
US9129328B2 (en) 2000-02-23 2015-09-08 Touchtunes Music Corporation Process for ordering a selection in advance, digital system and jukebox for embodiment of the process
US10007687B2 (en) 2000-05-10 2018-06-26 Touchtunes Music Corporation Device and process for remote management of a network of audiovisual information reproductions systems
US9536257B2 (en) 2000-05-10 2017-01-03 Touchtunes Music Corporation Device and process for remote management of a network of audiovisual information reproduction systems
FR2808906A1 (fr) * 2000-05-10 2001-11-16 Touchtunes Music Corp Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles
US9152633B2 (en) 2000-05-10 2015-10-06 Touchtunes Music Corporation Device and process for remote management of a network of audiovisual information reproduction systems
US9197914B2 (en) 2000-06-20 2015-11-24 Touchtunes Music Corporation Method for the distribution of audio-visual information and a system for the distribution of audio-visual information
EP2343892A1 (fr) * 2000-06-21 2011-07-13 Touchtunes Music Corporation Dispositif et procédé de gestion à distance d'un réseau de systèmes de reproduction d'information audiovisuelles
EP1170951A3 (fr) * 2000-06-21 2004-05-26 Touchtunes Music Corporation Dispositif et procédé de gestion à distance d'un réseau de systèmes de reproduction d'information audiovisuelles
US9591340B2 (en) 2000-06-29 2017-03-07 Touchtunes Music Corporation Method for the distribution of audio-visual information and a system for the distribution of audio-visual information
US8863161B2 (en) 2000-06-29 2014-10-14 Touchtunes Music Corporation Method for the distribution of audio-visual information and a system for the distribution of audio-visual information
US9539515B2 (en) 2000-06-29 2017-01-10 Touchtunes Music Corporation Communication device and method between an audiovisual information playback system and an electronic game machine
US8840479B2 (en) 2000-06-29 2014-09-23 Touchtunes Music Corporation Communication device and method between an audiovisual information playback system and an electronic game machine
US9149727B2 (en) 2000-06-29 2015-10-06 Touchtunes Music Corporation Communication device and method between an audiovisual information playback system and an electronic game machine
US9292999B2 (en) 2000-06-29 2016-03-22 Touchtunes Music Corporation Communication device and method between an audiovisual information playback system and an electronic game machine
US9919214B2 (en) 2000-09-15 2018-03-20 Touchtunes Music Corporation Jukebox entertainment system having multiple choice games relating to music
US9545578B2 (en) 2000-09-15 2017-01-17 Touchtunes Music Corporation Jukebox entertainment system having multiple choice games relating to music
WO2002039313A3 (fr) * 2000-10-31 2003-06-26 Loudcloud Inc Modele de donnees pour configuration de serveur automatique
WO2002039313A2 (fr) * 2000-10-31 2002-05-16 Loudcloud, Inc. Modele de donnees pour configuration de serveur automatique
US7743147B2 (en) 2001-04-20 2010-06-22 Hewlett-Packard Development Company, L.P. Automated provisioning of computing networks using a network database data model
US9100283B2 (en) 2002-06-12 2015-08-04 Bladelogic, Inc. Method and system for simplifying distributed server management
US10659286B2 (en) 2002-06-12 2020-05-19 Bladelogic, Inc. Method and system for simplifying distributed server management
US9794110B2 (en) 2002-06-12 2017-10-17 Bladlogic, Inc. Method and system for simplifying distributed server management
US9015286B2 (en) 2002-09-16 2015-04-21 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US9430797B2 (en) 2002-09-16 2016-08-30 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US11314390B2 (en) 2002-09-16 2022-04-26 Touchtunes Music Corporation Jukebox with customizable avatar
US9015287B2 (en) 2002-09-16 2015-04-21 Touch Tunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US11847882B2 (en) 2002-09-16 2023-12-19 Touchtunes Music Company, Llc Digital downloading jukebox with enhanced communication features
US9436356B2 (en) 2002-09-16 2016-09-06 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US10372301B2 (en) 2002-09-16 2019-08-06 Touch Tunes Music Corporation Jukebox with customizable avatar
US9164661B2 (en) 2002-09-16 2015-10-20 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US9646339B2 (en) 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US8930504B2 (en) 2002-09-16 2015-01-06 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US11049083B2 (en) 2002-09-16 2021-06-29 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers and payment-triggered game devices update capability
US9202209B2 (en) 2002-09-16 2015-12-01 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US8918485B2 (en) 2002-09-16 2014-12-23 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US9513774B2 (en) 2002-09-16 2016-12-06 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US11029823B2 (en) 2002-09-16 2021-06-08 Touchtunes Music Corporation Jukebox with customizable avatar
US10373420B2 (en) 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US10452237B2 (en) 2002-09-16 2019-10-22 Touchtunes Music Corporation Jukebox with customizable avatar
US11567641B2 (en) 2002-09-16 2023-01-31 Touchtunes Music Company, Llc Jukebox with customizable avatar
US10783738B2 (en) 2002-09-16 2020-09-22 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US9165322B2 (en) 2002-09-16 2015-10-20 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US7822687B2 (en) 2002-09-16 2010-10-26 Francois Brillon Jukebox with customizable avatar
US11663569B2 (en) 2002-09-16 2023-05-30 Touchtunes Music Company, Llc Digital downloading jukebox system with central and local music server
US9330529B2 (en) 2007-01-17 2016-05-03 Touchtunes Music Corporation Game terminal configured for interaction with jukebox device systems including same, and/or associated methods
US9171419B2 (en) 2007-01-17 2015-10-27 Touchtunes Music Corporation Coin operated entertainment system
US11756380B2 (en) 2007-01-17 2023-09-12 Touchtunes Music Company, Llc Coin operated entertainment system
US10970963B2 (en) 2007-01-17 2021-04-06 Touchtunes Music Corporation Coin operated entertainment system
US10249139B2 (en) 2007-01-17 2019-04-02 Touchtunes Music Corporation Coin operated entertainment system
US9953481B2 (en) 2007-03-26 2018-04-24 Touchtunes Music Corporation Jukebox with associated video server
US10032149B2 (en) 2007-09-24 2018-07-24 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US10613819B2 (en) 2007-09-24 2020-04-07 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US9041784B2 (en) 2007-09-24 2015-05-26 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US10228897B2 (en) 2007-09-24 2019-03-12 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US9990615B2 (en) 2007-09-24 2018-06-05 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US9324064B2 (en) 2007-09-24 2016-04-26 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US10057613B2 (en) 2007-09-24 2018-08-21 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US9953341B2 (en) 2008-01-10 2018-04-24 Touchtunes Music Corporation Systems and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US11501333B2 (en) 2008-01-10 2022-11-15 Touchtunes Music Corporation Systems and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US10169773B2 (en) 2008-07-09 2019-01-01 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
US11144946B2 (en) 2008-07-09 2021-10-12 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
US11074593B2 (en) 2008-08-15 2021-07-27 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US11645662B2 (en) 2008-08-15 2023-05-09 Touchtunes Music Company, Llc Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US10290006B2 (en) 2008-08-15 2019-05-14 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US9774906B2 (en) 2009-03-18 2017-09-26 Touchtunes Music Corporation Entertainment server and associated social networking services
US10423250B2 (en) 2009-03-18 2019-09-24 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10719149B2 (en) 2009-03-18 2020-07-21 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10318027B2 (en) 2009-03-18 2019-06-11 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10782853B2 (en) 2009-03-18 2020-09-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US10579329B2 (en) 2009-03-18 2020-03-03 Touchtunes Music Corporation Entertainment server and associated social networking services
US10789285B2 (en) 2009-03-18 2020-09-29 Touchtones Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US9959012B2 (en) 2009-03-18 2018-05-01 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US11775146B2 (en) 2009-03-18 2023-10-03 Touchtunes Music Company, Llc Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US9076155B2 (en) 2009-03-18 2015-07-07 Touchtunes Music Corporation Jukebox with connection to external social networking services and associated systems and methods
US9292166B2 (en) 2009-03-18 2016-03-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US11537270B2 (en) 2009-03-18 2022-12-27 Touchtunes Music Company, Llc Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US11520559B2 (en) 2009-03-18 2022-12-06 Touchtunes Music Company, Llc Entertainment server and associated social networking services
US10963132B2 (en) 2009-03-18 2021-03-30 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US10564804B2 (en) 2009-03-18 2020-02-18 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11093211B2 (en) 2009-03-18 2021-08-17 Touchtunes Music Corporation Entertainment server and associated social networking services
US10228900B2 (en) 2009-03-18 2019-03-12 Touchtunes Music Corporation Entertainment server and associated social networking services
US10503463B2 (en) 2010-01-26 2019-12-10 TouchTune Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11576239B2 (en) 2010-01-26 2023-02-07 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US11864285B2 (en) 2010-01-26 2024-01-02 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US11700680B2 (en) 2010-01-26 2023-07-11 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US11570862B2 (en) 2010-01-26 2023-01-31 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US11252797B2 (en) 2010-01-26 2022-02-15 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11259376B2 (en) 2010-01-26 2022-02-22 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11291091B2 (en) 2010-01-26 2022-03-29 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US9521375B2 (en) 2010-01-26 2016-12-13 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10768891B2 (en) 2010-01-26 2020-09-08 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10901686B2 (en) 2010-01-26 2021-01-26 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10848807B2 (en) 2011-09-18 2020-11-24 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US11395023B2 (en) 2011-09-18 2022-07-19 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US11368733B2 (en) 2011-09-18 2022-06-21 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US10880591B2 (en) 2011-09-18 2020-12-29 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US10582240B2 (en) 2011-09-18 2020-03-03 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US10225593B2 (en) 2011-09-18 2019-03-05 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US10582239B2 (en) 2011-09-18 2020-03-03 TouchTune Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US11151224B2 (en) 2012-01-09 2021-10-19 Touchtunes Music Corporation Systems and/or methods for monitoring audio inputs to jukebox devices
US11409413B2 (en) 2013-11-07 2022-08-09 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
US11714528B2 (en) 2013-11-07 2023-08-01 Touchtunes Music Company, Llc Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
US9921717B2 (en) 2013-11-07 2018-03-20 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
US10949006B2 (en) 2014-03-25 2021-03-16 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11625113B2 (en) 2014-03-25 2023-04-11 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US10901540B2 (en) 2014-03-25 2021-01-26 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10656739B2 (en) 2014-03-25 2020-05-19 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11556192B2 (en) 2014-03-25 2023-01-17 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US11513619B2 (en) 2014-03-25 2022-11-29 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US11353973B2 (en) 2014-03-25 2022-06-07 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11782538B2 (en) 2014-03-25 2023-10-10 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods
US11327588B2 (en) 2014-03-25 2022-05-10 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11137844B2 (en) 2014-03-25 2021-10-05 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US11874980B2 (en) 2014-03-25 2024-01-16 Touchtunes Music Company, Llc Digital jukebox device with improved user interfaces, and associated methods

Also Published As

Publication number Publication date
NZ236300A (en) 1995-07-26
AU6969391A (en) 1991-06-26

Similar Documents

Publication Publication Date Title
US5495610A (en) Software distribution system to build and distribute a software release
WO1991008542A1 (fr) Systeme de distribution de logiciel
US6519601B1 (en) Relational database compiled/stored on a memory structure providing improved access through use of redundant representation of data
EP0647909B1 (fr) Système d'archivage d'informations avec une fonctionnalité dépendant de l'objet
US5233513A (en) Business modeling, software engineering and prototyping method and apparatus
EP0272561B1 (fr) Dispositif de distribution de traitement de données sur une pluralité de lieux de commande
US5740431A (en) Configuration file management
US5909688A (en) Information management system
US6964044B1 (en) System and process for management of changes and modifications in a process
JPH01320551A (ja) フアイル転送方法
JPH06208592A (ja) データベースシステム用インターフェースのための自動レイアウト・ジェネレータ及びその生成方法
JP2000200300A (ja) プロジェクト管理統合システムおよび方法
Felippa Database management in scientific computing—I. General description
EP0167725A2 (fr) Système de conversion dynamique de type de donnée
US6601067B1 (en) Apparatus for sorting and merging data records
US6907434B2 (en) Message analysis tool
AU723011B2 (en) Relational database compiled/stored on a memory structure
US7559048B1 (en) System and method for managing objects between projects
US7801919B1 (en) Method and system for providing database management system tools
CN110889013A (zh) 一种基于xml的数据关联方法、装置、服务器及存储介质
Clemm Replacing version-control with job-control
JP7246301B2 (ja) プログラム開発支援システム及びプログラム開発支援方法
Chroust Application development project support
EP4224335A1 (fr) Procédés de gestion de base de données et appareil associé
Mishelevich et al. The IBM Patient Care System: an overview of its software

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA HU JP KR SU US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IT LU NL SE

COP Corrected version of pamphlet

Free format text: PAGES 1/7-7/7,DRAWINGS,REPLACED BY NEW PAGES BEARING THE SAME NUMBER

NENP Non-entry into the national phase

Ref country code: CA