WO2001088666A2 - Method and apparatus for automatically deploying data and simultaneously executing computer program scripts in a computer network - Google Patents
Method and apparatus for automatically deploying data and simultaneously executing computer program scripts in a computer network Download PDFInfo
- Publication number
- WO2001088666A2 WO2001088666A2 PCT/US2001/016207 US0116207W WO0188666A2 WO 2001088666 A2 WO2001088666 A2 WO 2001088666A2 US 0116207 W US0116207 W US 0116207W WO 0188666 A2 WO0188666 A2 WO 0188666A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- deployment
- data
- content
- scripts
- server
- Prior art date
Links
- 238000000034 method Methods 0.000 title abstract description 47
- 238000004590 computer program Methods 0.000 title description 2
- 238000013515 script Methods 0.000 claims abstract description 192
- 238000004519 manufacturing process Methods 0.000 claims abstract description 140
- 238000012423 maintenance Methods 0.000 abstract description 13
- 238000012544 monitoring process Methods 0.000 abstract description 12
- 238000012216 screening Methods 0.000 abstract description 3
- 238000011161 development Methods 0.000 description 110
- 230000008569 process Effects 0.000 description 32
- 230000006870 function Effects 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000010354 integration Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012552 review Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 238000003908 quality control method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003245 working effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000035899 viability Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Definitions
- GLOBAL Executable scripts exist on the devices. Commands are sent with Deployments.
- the invention relates generally to the deployment of data in computer networks and, more particularly, relates to a method and apparatus for automatically deploying data to a plurality of locations and executing scripts in conjunction with such deployment.
- Applications specifically tailored to developing and maintaining Internet websites are well known in the website development industry. Many of these applications offer simplified methods for designing and maintaining a website. These methods may include facilitating the receiving, storing and arranging of and the delivering of web content and related information in a website. In more advanced systems, information must be stored in multiple locations and in different files so that other advanced functions of the application program and related systems can operate and have access to certain information. Data deployment in such systems becomes more difficult as these applications become more complex.
- Deployment of web content and related information can take on many forms. Deployments can occur internally in the development systems. One example of an internal deployment is the deployment of in-progress changes occurring in work areas to memory locations in the development server. Another example of an internal deployment is the transfer of content from a work area to other internal areas such as staging, editing and publishing areas. Deployments may also occur externally to the development system, such as the transfer of content and related information to outside devices or entities such as web production servers.
- system applications have been developed for managing website development. Some of these include software configuration management systems, document management systems and database publishing systems.
- websites may be developed within work areas where individual website developers construct or maintain separate portions of content that define a website. This helps to spread out the tasks of website development to multiple people. The final contributions from each developer may then be incorporated, and then deployed to a production server that hosts the final website.
- the deployment scenario from the content producer to the web server if it exists at all, is typically predetermined and inflexible to change.
- the conventional configuration may be characterized as a metaphoric equivalent to a black box, wherein content is sent and presumably loaded onto a website, without any further understanding or control of the process by the developers of the content, or any reassurance that the deployment has been successful.
- the invention is directed to a method and apparatus for deploying data using a website development software application and executing scripts related to such deployment.
- a system that utilizes the invention may work in synchronicity with the application to deploy theses scripts so that they can be executed in order to improve the delivery and maintenance of web content and related data.
- the scripts may be deployed using the same means as the deployed data, or may preexist within devices along the deployment path.
- the unique use of scripts in such an application allows for further control and monitoring of locations along the deployment path, such as website production servers and other possibly disparate devices and systems.
- Another aspect provides security to deployment destinations by, requiring screening of incoming data deployments.
- Figure 1 illustrates a computer network system for website development in accordance with the present invention
- Figure 2 illustrates a development system in accordance with the present invention
- Figure 3 illustrates a development system in accordance with the present invention
- Figure 4 illustrates a development system in accordance with the present invention
- Figure 5 illustrate a development system in accordance with the present invention
- Figure 6 illustrate a development system in accordance with the present invention.
- the invention is directed to a method and apparatus for efficient deployment of data as well as the execution of commands related to such deployments.
- the invention may be used in a system for deploying data to disparate devices or systems that may be located in remote locations.
- the Internet is made up of a multitude of disparate systems exchanging disparate web content and other types of data and software programs, making up a very heterogeneous environment for exchanging web content and other data.
- the deployment of such content can be composed to adapt to many disparate systems to distribute website content and related information.
- a system that utilizes the invention may work in synchronicity with the application to retrieve and deploy data that is created, modified or otherwise changed.
- One or more scripts may be executed over the course of deployment to exert certain controls on destination devices along the deployment path, improving the delivery and maintenance of web content and related data.
- the deployment path may be defined as the transmission of web content and related data via a series of machines between a source of the content and a destination. Such machines may be chained together or otherwise configured to enable the transmission of the content from the source to the destination or destinations, such as one or more production servers.
- These executable scripts may be pre-loaded in locations along the deployment path where they are used, or they may be deployed along with the data in which they are related. If the scripts are sent along with the data, they may be self-executing upon the occurrence of certain events.
- the scripts preexist in devices or entities along the deployment path before the deployment.
- Related execution commands may then be deployed out along with content to execute the preexisting scripts. They may also be sent by other means and executed according to the deployment configuration.
- the deployment and execution of the scripts may also be automatic in response to the occurrence of certain events, making the operations operate in the background of an application where they are transparent to the system operators.
- a computer system may be configured to execute software code that defines the relevant functions for performing web maintenance and development operations at disparate device and system locations according to the invention.
- a disparate device may be defined as a device that has different formats or operations than other systems with which it communicates, as a device in a geographical location that requires special processing in order to properly deploy the content, or as a device that needs additional processing in order to utilize certain web content or other information. In such systems, compatibility with other systems or devices may be an issue.
- One embodiment of the invention is directed to the ability to associating executable script commands with data and deploying them together to what may be disparate devices or systems.
- the scripts that these commands cause to be executed may be configured to perform operations related to the deployment of the data, or may be directed to perform other operations related to the development and maintenance of a website.
- One embodiment of the invention may be characterized as a control apparatus for controlling web related activities or operations in devices and systems to locations where data may be deployed.
- Another embodiment of may be characterized as a messaging apparatus configured to broadcast the status or result to interested or concerned persons, machines or other entities.
- the invention is particularly adapted to deploying data and related script execution commands in an Internet website development software application and will be described in that context. It will be appreciated, however, that this is illustrative of only one utility of the invention, and that the invention has greater applicability and utility.
- the data is stored in computer memory in the form of files.
- physical memory may be allocated for work areas, staging areas and edition areas.
- work areas may store in-progress changes to be made to the content by an individual contributor or group of contributors.
- this example may be configured to automatically retrieve, deploy and store content that culminates from these in-progress changes in a manner that may or may not be transparent to users maintaining and developing content.
- the changed content may be forwarded to an edition area or areas.
- the edition areas may store versions or editions of the content for the website, extranet site or intranet site.
- the data may then be deployed to devices or systems that may utilize such content.
- executable script commands may be deployed along with the data in order for operations or activities to be performed. These scripts allow for additional control over and monitoring of data destinations that may be remote and that may involve disparate devices or systems.
- FIG 1 a block diagram of such an application is shown incorporated in a system for website development and maintenance.
- the website is maintained by users occupying workstations 102.
- the users develop particular areas for use within the website in individual work areas, which are stored separately from other areas.
- script commands 144 may be deployed along with content to cause scripts to be executed at locations along the deployment path to further control the deployment, including the web server that hosts the website. In a preferred embodiment, these scripts exist in entities along the deployment path prior to the deployment.
- File data such as web content
- a target file system such as a production server where the web content is displayed to web browsers.
- Metadata and template data which relate to the web content or other file data, may be deployed to certain data bases where they are utilized.
- a user utilizing conventional methods typically must compile the changes created in a work area into a file and store the file in the database. Taking into account the voluminous and varied information produced in a work area, this can be an arduous task, requiring considerable time to execute. Of course, this takes precious time away from the task of producing and maintaining a website.
- the development server may be configured to automatically store in-progress changes of web content developed. Once completed, the changes may be deployed according to the invention.
- a method and apparatus for the deployment of data is provided that includes the ability to execute certain software program scripts at various phases of the deployment of the data. Such an embodiment may be employed to monitor the deployment of the website content from the initial deployment of the data from where it is generated. This may be accomplished up to and including the website production server by broadcasting results of deployments, such as the beginning and end of a deployment, the success or failure of a deployment, and other information related to a deployment.
- script commands may be deployed to destinations along the deployment path and directed to executable scripts stored in configuration files of devices existing along the deployment path, such as a production server.
- the scripts are configured to cause operations to be performed on these devices upon their execution. They may be executed upon a deployment, upon delivery to a certain destination, in response to a command sent from another device or entity, or upon the occurrence of certain events. Commands may be sent to these devices to cause the scripts to be executed by a processor communicating with the device, causing the operations configured within the scripts to be performed.
- a script may be executed to inform an interested or concerned party of the deployment that the content was delivered.
- An interested or concerned party may be a person, another machine, or some other entity to which the deployment pertains.
- a script may be executed to inform the interested party of the deployment, and possibly request a subsequent redeployment by the source of the content, such as the development server 104.
- a script may be executed on a secondary development server to further deploy the content to one or more production servers. In general, deployments may occur between almost any device along the path of deployment, and in either direction. More examples are discussed below.
- the invention allows for the deployment of website content and other data to website production servers while being controlled and monitored at entities throughout the deployment process.
- scripts of programmable software may exist on devices and can be executed at various points of the deployment process.
- the particular deployment transactions as well as the executed scripts may be logged in a memory location that can be reviewed by entities throughout the process based on their authority to do so.
- operations may be executed by sending commands to execute the scripts.
- Such events may include the initiation of a deployment, the completion of a deployment, the failure of a deployment, and other operations related to the deployment of content and other information.
- the environment is notably heterogeneous.
- Such an environment may not be suitable for exchanging web content and other data among disparate devices and systems using conventional methods.
- the deployment of content can be configured to adapt to many disparate devices.
- a device or system configured with the invention may also adapt itself to disparate computer systems operating on different platforms such as Solaris, AIX, Windows NT, and Windows NT Alpha and other systems.
- the invention allows the deployment of content among these various platforms to provide centralized, synchronous and secure communication among the different entities. As a result, more robust deployments can be accomplished among disparate computer systems, using disparate content, developed by disparate users for access by other disparate computer systems. Now, disparate devices connected to heterogeneous networks such as the Internet can finally communicate.
- a central intranet can be accessed and updated by individuals from multiple locations, even if the locations are within separate firewalls or synchronized via unsecured Internet connections.
- Script commands may be attached to data such as web content and sent to various entities, such as web servers. This data may be verified and deployed according to a predetermined configuration. According to the invention, scripts may then be executed at either the source of the data, the destination of the data, such as a destination server, or at various phases of deployment. Commands may then be sent to execute the scripts. This would allow for external task execution during the deployment of the web content throughout the system.
- a user can run a script to automatically stop and restart a web server before deployment of the data starts.
- This allows an entity deploying the content to control a web server by simply sending the commands along with the content to execute the scripts. Then, the scripts can cause certain tasks to be performed.
- Scripts may also be attached to content and can be executed upon delivery, sending a notification to an entity on the system that verifies that the deployment has been completed and was successful. Using this reporting capability, scripts can also report failures in deployment so that data may be redeployed or otherwise analyzed.
- scripts may be deployed for running language-checking operations during deployment to notify the destination web server.
- a script when executed, may inform a webserver that a particular format of data is included within the format being sent. The webserver can then adjust accordingly to accommodate the data if needed.
- Scripts can also be attached to web content in order to send transactional and script execution information.
- scripts may be attached to data to convey status information to a central location. For example, the scripts, when executed at the destination, may cause the recording and logging of information related to the activities that occurred throughout deployment of the attached data.
- FIGS 1 and 2 illustrate such an example of such a system.
- website developers may add, remove, edit and examine files for a website.
- Development workstations may include conventional personal computers, UNIX workstations, or other workstations that can be configured to develop content.
- the development workstations 102 may be connected to a development server 104 via a computer network 106, such as the Internet or LAN.
- the development server 104 may include a web server 108 for serving up content to web browsers, and a backing storage 110 for storing versions of website content.
- the server 108 processes HTTP requests from the development stations 102 for website content (e.g., files).
- the website files may be physically stored in the backing store 110 which may be conventional, such as the WINDOWS NT filing system commercially available from Microsoft Corporation.
- the backing store may serve as a central location to store all data that is created, transferred, or otherwise maintained within the system. The storage of data may be executed transparent to the user.
- the development server 104 may also include a conventional memory 112 (e.g., RAM) and a conventional processor 114, which implements the website development methods of the present invention by executing software code 116 stored in the memory 112.
- An HTTP protocol virtualization module 118 may be executed by the processor 114, allowing web server 108 to operate as if it were multiple servers. The module may also be stored in the memory 112.
- Open deploy application 119 may be included in development server 104 to enable the government and monitoring of the deployment from the development server's point of view. Such an application may include scripts that may be executed on the development server. It may also include commands that may be sent to other devices or entities associated with the deployment of data to execute scripts. Custom systems may be written to generate other files or configuration files to be used by the production server.
- Data deploy daemon application 121 is configured to enable the deployment of metadata and templates to client database 140. In this example, templates and metadata may be transferred to client systems as database content where delta tables and base tables are maintained. These templates and metadata may then be used by the client in maintaining its website.
- the development server 104 may be coupled to a website production web server 120 via a network 122.
- Network 122 may be the same network as network 106 or a different network.
- the web server 120 may also be coupled to the Internet or an intranet 124.
- the development server 104 sends the website content to the production web server 120 which then provides Internet or intranet access to the website, depending on the system configuration.
- Network 122 may deploy data to client database 140 that originated in development server 104.
- Client system 138 may include database content that includes delta tables and base tables used in developing and maintaining websites.
- the client system may also include client processor 139 for controlling the inter-workings of the client system, such as receiving and deploying content and related information, including scripts and their respective commands that cause their execution.
- Client processor 139 may include client deploy application 141, that may be configured to interact with open deploy module 119, a deploy application located in the development server. Together, the deploy applications can enable the development sever and the client system to monitor and control the deployment process.
- a base table may be established in client database 140.
- the base table may be a snapshot of a staging area located within development server 104. These base tables may be updated as the staging area changes via further data deployments.
- the database services client webserver application 142 which may make changes in order to maintain its own website or other application that the development server services.
- delta tables may be established in database 140 to preserve changes that users may make in client application 142.
- the delta tables and base tables operate along with the client application similar to the function of the development workstations 102 that send changes to staging areas.
- the client application may act as the workstation.
- the changes in delta and base tables emulate the corresponding content in work areas and a staging area.
- the benefit to this configuration is that maintenance of a website may be under the control of the development server, or may be separately under the control of the client application in conjunction with the client database.
- a website is generally comprised of the contents of an arbitrary file system.
- the website development system 100 of the present invention may include hierarchical file systems. Each such file system of the present invention provides an environment for managing and manipulating individual files. When executed, the website development software 116 enables the management and manipulation of files.
- the backing storage 110 is where the files and corresponding metadata may be physically stored. Metadata is generally data that is related to work content. Some examples include for example content owner identification, group identification, access control, file name, modification times, creation times, extended attributes (EAs), website addresses associated with the content, and other information related to the content.
- EAs extended attributes
- a hierarchical file system of the present invention may be referred to in the art as an "area.” There may be different types of areas including work areas, staging areas and edition areas.
- a work area may be a modifiable file system that is used by persons who create and maintain web content in work files for eventual use in a website.
- a staging area may be an area where content from these work files is assembled before it is published.
- a central control person such as a webmaster, may review content submitted from work areas within a staging area or an edition area. Since the work areas are generally areas for creating and maintaining content exclusively, the staging and edition areas may be restricted to only assembling and displaying content. By design then, they may be configured as read-only file systems.
- Any modifications to content may then possibly need to be sent from an editor back to a workstation to perform any changes that may be needed. This helps to maintain the integrity of the content and to simplify the process.
- a business may want the system 100 to be more flexible, allowing other people such as editors to modify the content before it is published.
- the automatic storage and possibly modification of data upon the occurrence of certain events may be desired in order to preserve data produced or otherwise modified during development or maintenance of a website. This way, different versions of content may be preserved and time-stamped, allowing developers and possible editors and administrators the ability to revert back to different versions of the content.
- content may be submitted to a staging area for review.
- metadata associated with such content may be modified in order to distinguish the changes made from the original version.
- different versions may be preserved and organized.
- an airline may advertise different fares online, to which purchasers may order tickets for flights.
- An error in publishing a fare may occur, such as a fare that is much lower than planned, giving purchasers a windfall.
- a website administrator may then revert back to the earlier website, and avoid losing money by selling too many low fares. Having older versions of content, therefore, may be crucial to certain businesses.
- the application may be configured to keep metadata and template data changes in delta tables, which emulate the corresponding content in a staging area.
- Tracking table (not shown) tracks the different changes proposed for the website as it is modified in response to changes proposed by each client work area and may be accepted by an authority of the client.
- the tracking table is configured to track the various tables created, such as base tables, and also tracks the interrelationship among the various tables.
- the tracking table may keep track of the characteristics of the different tables such as the times and dates in which they are created, the interrelationships of the tables such as which base tables correspond with different delta tables, and other characteristics.
- data may be deployed from a development server to a webserver.
- One embodiment of the invention is directed to the ability to control and monitor the deployment of the data throughout the deployment process.
- executable script commands 144 may be deployed along with content in order to control and monitor the deployment of data. For example, it may be desired to start and stop the webserver during deployment, so that data and possibly software code may be loaded onto the server.
- a script configured to perform the operation could exist on the webserver.
- a command 144 may be deployed along with the data deployment to cause the script to be executed.
- the webserver Upon execution of the script, the webserver could be stopped in order for the content and other information to be loaded, and then could be started again once the new content is ready to be produced on a website.
- feedback signals 146 may be sent to the development server 104 to inform the server of conditions surrounding the deployment.
- feedback can include information related to the success or failure of a deployment, the beginning or end of a deployment of data such as content or directories, and other information related to the deployment of data. These may be in the form of an email message or other transmission, an update to a log file, or other form of communication.
- the system includes a client computer 202 connected to a monitor 204, which has a display 206 for displaying data to a user.
- the computer may be configured to maintain websites served from a client location.
- the client computer 202 includes a CPU 208 for controlling the inter- workings of the computer and a modem 210 connected to a network 211 for sending information to other destinations.
- the client computer 202 further includes cache 212 for storing frequently used data.
- Memory 214 controlled by CPU 208, can be a conventional memory and can be a random access memory (RAM), a dynamic random access memory (DRAM), a static random access memory (SRAM), or any other memory configured to store and transfer digital data therefrom.
- the memory 214 may include one or more work areas that may be defined as a collection of directories located on the development server, thus, not a separate computer in and of itself. Thus a work area may be defined merely as a set of files that a user at a client or development computer has authority to access.
- Computer 202 is conventional and that various modifications may be made to it. Also communicating with work area computer 202 is an optional database 222 for storing data that is easily accessed by a user. Data can optionally be stored in data files 223, which gives a user an organized way to store data. Memory 214 may also include a conventional operating system, such as Windows, for receiving content from the development server to further develop and maintain. Computer 202 also includes a keyboard 224 and mouse 226 that allow a user to input data.
- the system of Figure 2 further includes a development server 230 having a CPU 232 for controlling the inter-workings of the server 230 and a modem 234 connected to network 212 for transferring data using the network.
- the development server 230 includes memory 238 that includes work area software application 216 that includes template codes for creating and storing templates used for displaying data. These templates define the displays used on the website, so that a user having a graphic user interface (GUI) can read the data displayed in the selected template format.
- GUI graphic user interface
- Also stored in the memory 214 is data tuple code 220 for storing and transferring data in the tuple format.
- the server 230 further includes a cache memory 236 for storing frequently used data and a conventional memory 238.
- This cache 236 may reside in software in the memory 238 as well.
- Memory 238 may include template code 240 for storing and creating templates to be used on a website.
- the server 230 may further include tuple code 242 for storing and transferring data in a tuple format. Tuple code may be a software application configured to deploy data.
- a staging application 244 for staging contributions to the website by multiple work areas. The staging application 244 can configure the template code and tuple code for displaying data on a website in a given template format.
- an optional database 246 for storing data to be accessed by the development server 230.
- ISP 248 may also be included in the system of Figure 2 to allow the work area computer 202 and development server 230 to exchange data via the Internet, another example of network 211.
- Data deploy daemon 252 is also located in memory 238, and may be a software application that is configured to deploy data based on certain trigger events.
- Tag code 250 may be included for associating tags with deployed data, files, or other information.
- Data deploy daemon 252 may correspond with data deploy daemon 215 located in the development server. Together, these daemons may allow the monitoring and control of data deployments between the development server and the client system.
- a development web server 302 communicates with a production web server 304 via network 306 in order to transfer content from the development web server 302 to production web server 304 with possible integration with other website content.
- the network 306 may be any number of networks such as a local area network (LAN), the Internet, or other types of networks used to facilitate communication among multiple computers.
- the production web server 304 may be connected to a second network 308 which could also be a LAN or could also be the Internet.
- the production web server 304 may communicate with production servers 312-316 which communicate with network 308.
- Such a configuration may be characterized in the art as a "production farm", where a number of webservers, proxy servers, and other website host devices proliferate the web content via multiple sources.
- the production servers 312-316 may be subject to a firewall 310, which governs the transmission of data between the network 308 and the production servers 312-316.
- the transmission of content from the development web server 302 to the ultimate web production servers 312-316 may be monitored and documented so that transactions and executed scripts can be analyzed.
- scripts can be executed throughout the entire data path in order to accomplish certain goals.
- Feedback information can be deployed in the feedback direction 320 so that an entity within the data path can analyze the entire deployment process as it occurs.
- the development webserver 402 is configured to deploy data to production webserver 404.
- the deploy file 406 may include content 410, 412, 414, executable scripts 416 and script execution commands 418.
- the scripts may be sent to the production webserver by the development webserver.
- the scripts pre-exist in the production webserver prior to deployment.
- Commands 418 may be deployed along with content in order to effectuate the execution of the scripts. Scripts may reside on the destination server, such as the production server. Commands 418 may be transmitted either alone or along with content and related information to cause the scripts to be executed and to perform tasks on the production server.
- scripts reside in a configuration file on the server where they are executed.
- scripts may be configured on either or both the development webserver 402 and the production webserver 404.
- script execution commands may be sent from the development webserver 402 to the production webserver 404, and vice versa. This allows for command interaction between the two servers, making the deployment more robust.
- script commands are sent in response to trigger events such as the beginning and end of a deployment, the success or failure of a deployment, etc.
- Scripts that are run on the production webserver may govern operations such as stopping and restarting a webserver before, during or after a deployment.
- a webserver must be stopped, have new content loaded in, then restarted so that is can product the new version of the website with the new content.
- commands may be sent from the development server to start and stop the server accordingly.
- Scripts may also be run to install software components on the production webserver.
- Such components may be software modules configured to enable the deployment of content, metadata and other information to a production server.
- software applications or modules may exist on the development server that may be useful in aiding deployment.
- One example of a script would cause the components to be installed in the production server.
- the ability for either the production server or the development server to send emails upon the execution of a script is provided.
- both the source and destination of the deployment are aware of the failure.
- a message may be sent by common email or other means to inform other devices of the deployment failure, such as other interested or concerned entities.
- These scripts for sending emails may reside on any and every entity along the deployment path, such as in a configuration file of a device.
- This feature of the invention gives the development server the ability to broadcast the status or result of the deployment of web content to interested or concerned entities.
- Scripts may also be configured allow and entity in a system to send a command to retry deployment at the development server.
- a command may be sent to the development server to deploy the content and related information again.
- This embodiment allows for control of the deployment to switch to the production server to enable a repeated deployment.
- the ability to deploy again may be limited to authorized entities within a system, such as designated production servers that are authorized to receive the content and related information.
- the deployment may be configured to automatically retry a deployment upon a failure.
- an entity may be configured to deploy content and related information to a number of destination devices.
- a configuration may be characterized as an administrative deployment from a production server to what is known as a web farm.
- a production server may be configured as a secondary deployment server that administers the deployment to these multiple production servers.
- This embodiment allows for scripts to reside on the secondary deployment server for execution upon a commands sent to them.
- Such a command may be configured to trigger a deployment to one or more selected production servers communicating with the secondary development server.
- the deployment of content to particular production servers may be controlled by the development server. For example, certain types of content may be suitable in different geographical locations and in different cultures. Content may need to be translated, or otherwise modified before sending it to the final destination production server.
- the delivery of the content can be controlled by sending out commands along with content to cause properly configured scripts to control the delivery of the content.
- certain scripts may be executed upon predetermined conditions. Such conditions may include the execution of a script before, during or after deployment. Other conditions may include the execution of a script before or after a file is deployed, or before or after a directory is deployed. Utilizing this embodiment, the execution of scripts may be limited to when they are executed. The scripts also may be automatically executed upon the occurrence of a predetermined condition, such as a failed deployment as discussed above. Upon a successful deployment, for example, the destination device, such as a production server, may be activated. As another example, upon a successful deployment, the subsequent installation of certain software components may be executed.
- the scripts 420 may exist in the destination server prior to deployment. Therefore, they would not need to be deployed along with the content and other information. In the example of Figure 4, this would allow the owner of the production ebserver, which may be different than the owner or controller of the development server to create its own scripts that are compatible or otherwise customized for its system. In such a configuration, only the script execution commands 418 may be deployed along with the content. In another embodiment, updates or replacement scripts may be sent to the production webserver. In one embodiment, the command is in a deployment configuration file that is fed into the open deploy application 119. The command is a message that is sent over the network to the application 119 on the production server that instructs the application 119 to run the specified script.
- the deploy file 406' is received and parsed by the production server 404, and the content 410', 412', 414' may be placed in production or otherwise utilized.
- the scripts may cause functions to be performed at the production webserver. As discussed above, these scripts may include a trigger element, where they are executed or cause functions to be performed before, after or during deployment.
- the corresponding scripts 420 are executed, and the underlying functions are to be performed, as discussed above. This scenario may be reversed for deployments that include commands sent from a production or other device back to the development server.
- the system includes a development server 502 having an optional monitor for use by a user operator.
- the development server includes a CPU 506 configured to execute software programs and manipulate and transfer data within the server.
- the server 502 further includes a modem 508 for communicating with other computers and entities external to the server 502 by transferring and receiving data therewith.
- Cache memory 510 is also included in the server for storing frequently used information executable by the CPU.
- Database 512 is configured to store large amounts of data for access and use by the CPU.
- Persistent memory 514 is also included to store prototypes of code and other information used by the CPU.
- Memory 516 may be a random access memory for storing information related to the creation and deployment of content by the server.
- Memory 516 may be any type of readable and writable memory device including random access memory (RAM), dynamic random access memory (DRAM), flash memory, and any other type of memory that is readable and writable.
- RAM random access memory
- DRAM dynamic random access memory
- flash memory any other type of memory that is readable and writable.
- memory 516 includes a transaction log 518 for recording the transactions involved with the deployment of data for use on a web server.
- the transaction log is a useful feature that allows the recording of transactions involved in the deployment of data for review by a user or other entity.
- the transactions may be particular to the client owning or operating of the server 502 so that the transactions executed or otherwise involving the server 502 may be monitored.
- Memory 516 may also include script list 520 for storing scripts that may be stored within the configuration file of the web content data, for execution within the deployment process.
- the script list 520 may be a log of certain scripts that were deployed and executed by the server 502 and may also include further information including the viability of the scripts, the possible successes or failure of the scripts in prior executions, and other information related to the scripts.
- the scripts list may also contain the actual scripts including software code that may be executed during the deployment process. As discussed above, these scripts can be useful in controlling and monitoring the deployment of data throughout the process. These scripts can be included in the configuration file to control and monitor the deployment of the particular contents. For example, the script can include software code that designates certain deployment targets where the content is deployed.
- a system may have multiple web production servers, the types of servers that allow access to websites stored on the servers by users connected to the Internet, the scripts within the configuration file can determine to which server the content will be deployed. Also, if multiple files are being transferred within the content, a script can be included in the configuration file to deploy certain files to certain locations as predetermined by development server 502. Upon deployment, a command may be generated to execute a script. Unlike the prior art, utilizing the invention, a user can perform a much more intricate and robust deployment of data that can be closely controlled and monitored.
- Scripts can also be included to control the deployment of data of certain size files as well as certain times on which the data may be deployed. These are very useful functions that can greatly simplify the deployment of data over a period of time for files of various sizes. For example, if a website is to be updated on a daily basis, the scripts can be configured so as to deploy particular data on particular dates and times. Also, with large size files, portions of these files may be deployed in subfiles or in other configurations to allow the bypass of a firewall that may limit the amount of data that can pass into a particular computer system, network or other entity.
- Scripts can also be included within the configuration file to deploy only portions of web content to a web server. For example, if less than the entire web content on a web page has been modified, a comparison can be done between the new content and the old content. The difference between the data can be determined. This difference, consisting of the newly added or modified data can be transferred, rather than the entire content. This reduces the amount of data being transferred to the production server.
- Scripts can also be configured to designate files to be excluded or ignored by certain entities. These files could be overwritten, encrypted or otherwise blocked out from particular entities as predetermined by a user. Files can also be renamed, deleted or otherwise modified during the deployment based on the scripts within a configuration file.
- scripts can also be certain authority or permissions that allow certain users, servers or other entities access to certain data, whether it be the monitoring of data or the actual control of the deployment of the data.
- the scripts can be configured to also modify the permissions during the deployment by certain authorized entities. This can greatly add to the flexibility of the deployment process, allowing for proper authority to be delegated so that the web content can be properly deployed in a multitude of situations.
- web content In order to deploy web content over disparate computer systems, web content is often deployed in various formats and under various conditions in order to adapt to particular users, particular content and particular systems that utilize the content for serving web pages.
- web content may be deployed under various formats by initializing and loading data into particular computer systems or entities according to the scripts.
- These scripts may correspond to particular computer systems or formats that are utilized in computer systems that utilize the web content.
- Scripts may include certain special treatment links that may be affiliated with certain computer systems. The scripts may be configured to follow the links that are designated by the computer systems, or to ignore the links and perform its own procedures for downloading or otherwise deploying the data into particular computer systems.
- These scripts can also include particular ports and Internet protocol (IP) addresses to which data may be deployed. These various addresses or ports may be configured within the scripts for controlling and monitoring the deployment of the data within a particular system.
- IP Internet protocol
- Scripts may be configured to spawn particular functions at different points along the deployment path.
- the preceding discussion is an embodiment of the invention where the development server is configured to deploy and run the scripts throughout the deployment process. It is also possible to enable other entities throughout the deployment process to govern the control and monitoring of the deployment process, including attaching scripts to web content as well as executing certain scripts at various points of the deployment process.
- production server 526 is included and configured to communicate with development server 502 via network 524.
- the network may be a LAN, the Internet or other type of computer network.
- the production server 526 may have the ability to execute certain scripts according to commands sent by the development server 502, and may also have the ability to execute certain of its own stored scripts or other protocols that may aid in the proper deployment of web content.
- this production server 526 similar to the production web server 304 Figure 3, could be useful in the deployment of web content between multiple development web servers 302, 303 and multiple production servers 312-316.
- a central web server such as the production web server 526 may be useful in transferring data among these entities, which may be disparate computer systems and may also be transferring disparate web contents according to a number of rules as defined by the scripts located in the configuration files.
- the production server 526 may include internal scripts that allow it to perform as a go- between among the various entities in the system.
- the production server may include a CPU 528 for controlling the inner workings of the production server as well as transferring and manipulating data both internally and externally to the production server.
- the production server further includes a modem 530 for communicating with entities connected to the network 524 and for transmitting data among these entities under the control of CPU 528.
- the production server further includes a cache memory 532 for storing data that is frequently used by the CPU.
- Database 534 is also included for storing large amounts of data that can be accessed using useful protocols according to the database.
- Persistent memory 536 provides a location for storage of information in possibly a nonvolatile configuration, which can be accessed by the CPU.
- the production server further includes production memory 538 for storing software content such as website content, software programs that are executable by the CPU 528, and other data that is useful in the production and deployment of web content throughout system 500.
- software content such as website content, software programs that are executable by the CPU 528, and other data that is useful in the production and deployment of web content throughout system 500.
- transaction logs 540 that are configured to store and maintain transactional and script data that pertains to any particular development server, such as development server 502.
- Log 542 includes the various transactions that occur between the production server 526 and the development server 502 that pertains to the deployment of data between the development server and the production server as well as throughout the network 524 and other entities communicating therewith. For example, when a file having web content is transferred from the development server 502 to the production server 526, a transaction is recorded in the log 542 that contains the transactional information.
- This information may include the time and date the content was sent, any scripts that may have been executed according to commands and any results of such execution, the location to which it was sent, the type of data that was within the content, and other information pertaining to the deployment of such data.
- This transactional information pertain to log 1 may be accessible by the development server 502, and possibly other authorized users that can access the production server 526 to view the transactional history of the development server 502.
- the transactional logs 540 further include scripts list history 544, which may include certain scripts that were transferred and possibly executed under the direction of the development server during a deployment of data.
- privileges may be established in order to provide a level of security to deployments and related operations. These privileges may include the authorization of certain individuals, entities or identified devices to deploy data and perform certain functions related to deployment. The privileges are preferably predetermined so that the production server may screen incoming deployments accordingly. Screening may occur by receiving identity data from the source of the deployment, which may be the original source, or another source along the deployment path. These privileges may apply to either or both sides of a deployment. However, in a preferred embodiment, the primary use for privileges is to control access to the production server by entities seeking to deploy date thereto. Authorized users may be identified in a authorization file within the production server, such as user list 550. Script lists may also include certain privileges that may pertain to particular scripts.
- These privileges may include a list of privileges for other users to access and use these scripts, or may also include the limited authority under which the development server 502 may deploy and order the execution of these scripts.
- the transactional logs may include the transactional histories of various entities including N log 546 and N scripts lists history 548. These separate logs and scripts lists histories may be stored in separate locations within the production memory 538 for individual access by certain authorized users.
- Production memory 538 may also include a user list 550.
- This user list may include user addresses, other user identification information, privileges under which certain users may perform certain deployment of data and other privileges that may give particular users access to certain logs or scripts lists for monitoring the deployment of certain data.
- This user list and the associated privileges may be predefined by development servers that are operated by particular users, or may be defined to the particular production server 526 that may be the primary authority for the transmission of certain web content throughout the system 500. As discussed above, this may be important in a system such as that described in Figure 3, where many computer entities, possibly disparate entities, transmit data among themselves.
- production memory 538 may also include security module 552 including code that may define the privileges that are associated with particular users.
- the security module may be configured to screen incoming data deployments. Such deployments may originate from remote devices sending data such as web content for display in the production server.
- the security code 552 may be invoked upon the initialization of a user with the central production server 526 when trying to gain access to particular transactional logs or when trying to deploy data.
- the security code may also include a script lock that may disallow the execution of particular scripts under the authority of the central production server 526.
- Production memory 538 may also include file history 554, configured to track the history of the different files that may be transferred or otherwise deployed within the system 500.
- the system 600 may include development web server 602 having server memory 604 for storing software applications and content that may be produced by certain applications for eventual deployment to a production web server.
- the server may include a work area 606 that includes software application code for creating web content 608 for eventual deployment.
- the development web server may also include a scripts log 610 and a transaction log 612 for storing and tracking certain scripts and transactional information that may have been utilized by the development web server in deploying data.
- the log may be an XML based content transfer log, configured to retain a complete record of any content transfer within a system.
- Such a log may contain information regarding script execution or failure, error records from failed deployments, and other information related to deployment.
- Server memory may also include scripts 614 that may be incorporated into configuration files of deployed web content for execution during the deployment of data. These scripts may ultimately reside in configuration files located in the memory of the development webserver, the production server or servers, or other locations along the deployment path where the execution of such scripts may enhance the deployment process.
- the log may have error entries in it, which may be parsed out by the server.
- a script may be executed to somehow deal with the condition, such as halting the deployment of data.
- the development web master 602 communicates with network 615, which also communicates with central production web server 616 to enable the transmission of data between the two servers.
- Central production web server 616 includes a staging area 618 configured to integrate and combine content received from possibly multiple development web servers and producing a final web page that includes the integration of the entire content. This is very useful for systems that allow multiple users from different development web servers to work on one web page that is displayed at a production server.
- the staging area 618 may include content 620, 622 received from various development entities, or different development web servers, that may be integrated into a final web page.
- the integrated content 625 may be stored by the integration application code 624, which may include application software for integrating various content received from different development web servers.
- a central production web server 616 may also include the user list 626, security code 628, transactional logs 630 and scripts logs 632 such as those described above in connection with the central production server 526.
- the central production web server communicates with network 634, which may be a LAN, the Internet, or other type of network system.
- the network 634 may be connected to several production servers 636, 640 that are configured to store and allow access to web content deployed among possibly various development web servers, a central production web server and other production servers.
- the system may be configured to deploy data between the development web server 602 and the production web server 616, and also between production web server 616 and production servers 636-640.
- a user communicating with the development web server 602 may create using work area 606 web content 608 for transmissions within the system 600.
- the development web server bundles the content 642 with script commands 646 that may be sent to scripts stored in a configuration file to spawn certain operations in the deployment process.
- commands cause pre-existing scripts to be executed, possibly upon certain conditions.
- the contents 642along with the script commands 646 may be transferred to the production web server 616 via network 615 for processing.
- the configuration files associated with the production server 636-640 may include scripts that define the initialization and downloading of the information into the production web server. This may include the integration of the content with other content that may be destined for the same website production server that hosts the website onto which the content is displayed. If the content is to be integrated with other content, it is integrated in the staging area 618 using integration code 624 to create the final integrated content 625. In either event, either the original content 642 or the integrated content 625 is transferred to one or more of the production servers 636-640 for publication onto a website. Commands may be sent from a development server to the central production server to cause the deployment of content to production servers by causing scripts located on the central production webserver to be executed.
- Publication onto a website may involve the shutting down of a production server so that the new content can be loaded into memory within the production server.
- computer users having access to network 634 may access the server in order to visit the website, i.e., read the website file located in memory in the production server.
- the scripts that exist in the production server may define the initialization of the production server, including authorization information that allows the content to be deployed onto the particular server.
- the script commands 650 or 646 cause such scripts to be executed to perform operations related to deployments of data content, and may also include other features that relate to the deployment of the data. For example, once the content or integrated content is deployed onto a production server, a notify message 654 indicating that the deployment was successful.
- This notification could be sent production web server 616.
- the central production web server 616 may store the notification information into the particular transaction log 630 in order to log the successful or unsuccessful deployment of the content.
- the scripts log 632 may also be updated with this information to indicate that the script that was successfully executed.
- This notification message 654 may be sent by a triggering event, such as a successful or unsuccessful deployment of data, as defined in the scripts within the configuration file.
- This notification may also be sent by configuration code located within the production server.
- Another notify message 656 may also be sent from the central production web server 616 to the development web server 602 in order to update the scripts log 610 and the transaction log 612.
- the scripts code 614 may also be updated.
- the sending of a notification message is an example of an operation that is spawned from the scripts that are transferred along with content, or that may reside in either the central production web server or a production server.
- This particular operation is indicative of an operation that allows the monitoring of the data deployment throughout the system.
- the notify message updates the various servers to inform as to the success or failure of the data deployment.
- Other scripts can be included in the configuration file in order to spawn different operations throughout the deployment process in order to enable advanced deployment operations.
- One example of a more advanced operation is the integration of web content within the central production web server.
- the scripts may be located in different locations and possibly within different entities throughout the deployment process.
- the central production web server 616 may have script commands that override and supersede script commands that are sent along with the content from development web servers, for example, in order to ensure the uniform processing of content and other data throughout the deployment process.
- the invention provides the ability to enable content production and replication throughout the deployment process. For example, if data was to be deployed to various disparate production servers 636-640, operations can be performed on the content in order to conform to the different production servers so that deployment can be accomplished. Also, if for some reason deployment failed on any one production server, the invention allows for notification back to either the central production web server or the development web server so that the content can be resent to the production server where the deployment failed in hopes for a subsequent successful deployment.
- the features included in a system embodying the invention allow for a user or other entity to know what data was transferred, what deployment of data succeeded, what deployment failed, and also allows access to the content or the transactions and scripts associated with the content by authorized users for tracking the deployment of the content.
- operations may be performed on the content that is related to the type of content that is sent. This can be defined by the scripts included in the configuration file. These operations can be spawned or can be originated from either end of the deployment transaction, whether it is the server that is sending the data or the server that is receiving the data.
- the monitoring aspect of the invention allows for the possible maintenance of state tables based on which deployments occurred and what operations were executed during any particular deployment. These activities could be as simple as starting and stopping a production server in order to load web content. They can be as complex and robust as the deployment of multiple batches of content, and be included along with individual scripts that may conform to multiple and disparate computer systems hosting the content.
- Another application may be the deployment of updated software applications to multiple servers that host content. For example, a deployment of content may be executed that includes scripts within the configuration file that updates a multitude of production servers. Although the content may be delivered to less than all of the production servers, it is possible to update the software application code in one or more of the servers.
- the scripts may be particularly configured in order to spawn the operations that are required to enable particular deployments.
- the invention allows the deployment process to be completely transparent to authorized users.
- the invention also allows for robust control during the deployment process so that certain deployment operations can be modified in order to accomplish certain goals.
- the deployment process acted as a type of "black box," the operations of which were completely predetermined according to a particular system. This is impractical for modern-day Internet operations, which operate with disparate content, between disparate users that may be operating with disparate computer systems.
- the invention allows for the flexibility to work with these different systems, adapting the deployment operations to particular systems according to scripts that may be located within the configuration file of the content being transferred, or that may be configured within a server along the deployment path having the authority to spawn certain operations according to particular content deployments.
- the invention may include the utilization of dedicated processors, webservers configured to receive and route browser requests, application servers, state servers and other types of computer processors configured to communicate amongst each other and that may be connected to one or more networks, including a Local Area Network (LAN), an intranet and the Internet.
- LAN Local Area Network
- the invention may have greater applicability and utility in many other applications where efficient routing and processing of data within one or more networks is involved. Equivalent structures embodying the invention could be configured for such applications without diverting from the spirit and scope of the invention.
- the invention may include personal computers, application servers, state servers or Internet webservers that are designed and implemented on a computer and may be connected to a network for communication with other computers to practice the invention.
- a system configured to operate according to the invention may include a plurality of personal computers connected to the Internet via individual modems or other communication means such as wireless communications.
- the invention may also involve a number of functions to be performed by a computer processor, such as a microprocessor.
- the microprocessor may be a specialized or dedicated microprocessor that is configured to perform particular tasks by executing machine-readable software code that defines the particular tasks.
- the microprocessor may also be configured to operate and communicate with other devices such as direct memory access modules, memory storage devices, Internet related hardware, and other devices that relate to the transmission of data in accordance with the invention.
- the software code may be configured using software formats such as Java, C++, XML (Extensible Mark-up Language) and other languages that may be used to define functions that relate to operations of devices required to carry out the functional operations related to the invention.
- the code may be written in different forms and styles, many of which are known to those skilled in the art. Different code formats, code configurations, styles and forms of software programs and other means of configuring code to define the operations of a microprocessor in accordance with the invention will not depart from the spirit and scope of the invention, which is defined by the appended
- Cache memory devices are often included in such computers for use by the central processing unit as a convenient storage location for information that is frequently stored and retrieved.
- a persistent memory is also frequently used with such computers for maintaining information that is frequently retrieved by a central processing unit, but that is not often altered within the persistent memory, unlike the cache memory.
- Main memory is also usually included for storing and retrieving larger amounts of information such as data and software applications configured to perform functions according to the invention when executed by the central processing unit.
- RAM random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- flash memory and other memory storage devices that may be accessed by a central processing unit to store and retrieve information.
- the invention is not limited to any particular type of memory device, or any commonly used protocol for storing and retrieving information to and from these memory devices respectively.
- the apparatus and method include a method and apparatus for deploying data within and synchronously with the operation of a software application, and for executing executable scripts during the deployment process. Although this embodiment is described and illustrated in the context of a software application for developing Internet websites, the scope of the invention extends to other applications where preservation of data at either a data source or destination is useful.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001584996A JP2003533812A (en) | 2000-05-17 | 2001-05-17 | Method and apparatus for automatically deploying data and simultaneously executing computer program scripts in a computer network |
CA002409138A CA2409138A1 (en) | 2000-05-17 | 2001-05-17 | Method and apparatus for automatically deploying data and simultaneously executing computer program scripts in a computer network |
EP01941512A EP1292871A4 (en) | 2000-05-17 | 2001-05-17 | Method and apparatus for automatically deploying data and simultaneously executing computer program scripts in a computer network |
AU2001274861A AU2001274861A1 (en) | 2000-05-17 | 2001-05-17 | Method and apparatus for automatically deploying data and simultaneously executing computer program scripts in computer network |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US20580500P | 2000-05-17 | 2000-05-17 | |
US60/205,805 | 2000-05-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2001088666A2 true WO2001088666A2 (en) | 2001-11-22 |
WO2001088666A3 WO2001088666A3 (en) | 2002-03-21 |
Family
ID=22763706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2001/016207 WO2001088666A2 (en) | 2000-05-17 | 2001-05-17 | Method and apparatus for automatically deploying data and simultaneously executing computer program scripts in a computer network |
Country Status (6)
Country | Link |
---|---|
US (1) | US20020004824A1 (en) |
EP (1) | EP1292871A4 (en) |
JP (1) | JP2003533812A (en) |
AU (1) | AU2001274861A1 (en) |
CA (1) | CA2409138A1 (en) |
WO (1) | WO2001088666A2 (en) |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2403044A1 (en) * | 2000-03-22 | 2001-09-27 | Interwoven Inc. | Method and apparatus for storing changes to file attributes without having to store an additional copy of the file contents |
US7657887B2 (en) | 2000-05-17 | 2010-02-02 | Interwoven, Inc. | System for transactionally deploying content across multiple machines |
US20050160088A1 (en) * | 2001-05-17 | 2005-07-21 | Todd Scallan | System and method for metadata-based distribution of content |
US7188150B2 (en) * | 2001-08-21 | 2007-03-06 | International Business Machines Corporation | System and method for sharing, searching, and retrieving web-based educational resources |
US7797623B1 (en) * | 2001-10-12 | 2010-09-14 | At&T Intellectual Property I, L.P. | Method for preventing inadvertent data entry in a web page |
US7496645B2 (en) * | 2001-10-18 | 2009-02-24 | Hewlett-Packard Development Company, L.P. | Deployment of business logic software and data content onto network servers |
US9267144B2 (en) * | 2002-01-23 | 2016-02-23 | Monsanto Technology Llc | Plastid transformation of maize |
US7392268B2 (en) * | 2002-09-19 | 2008-06-24 | The Generations Network, Inc. | Systems and methods for partitioning data on multiple servers |
US7831734B2 (en) * | 2002-11-25 | 2010-11-09 | Sap Ag | Method and system for remote configuration of network devices |
US9406068B2 (en) | 2003-04-25 | 2016-08-02 | Apple Inc. | Method and system for submitting media for network-based purchase and distribution |
WO2004097635A2 (en) | 2003-04-25 | 2004-11-11 | Apple Computer, Inc. | Graphical user interface for browsing, searching and presenting media items |
CA2442799A1 (en) | 2003-09-26 | 2005-03-26 | Ibm Canada Limited - Ibm Canada Limitee | Generalized credential and protocol management of infrastructure |
US7844548B2 (en) | 2003-10-15 | 2010-11-30 | Apple Inc. | Techniques and systems for electronic submission of media for network-based distribution |
US7640546B2 (en) * | 2004-01-16 | 2009-12-29 | Barclays Capital Inc. | Method and system for identifying active devices on network |
US7685230B2 (en) * | 2004-04-01 | 2010-03-23 | Vaakya Technologies Private Limited | System and method for program execution |
US9292276B1 (en) * | 2004-07-19 | 2016-03-22 | Micro Focus (IP) Development Limited | Method and system for utilizing change packages |
US7475388B2 (en) * | 2004-12-03 | 2009-01-06 | International Business Machines Corporation | Method and apparatus for defining and instrumenting reusable java server page code snippets for website testing and production |
US8321554B2 (en) * | 2004-12-17 | 2012-11-27 | International Business Machines Corporation | System and program to automatically identify a server on which to deploy an application |
US8572431B2 (en) * | 2005-02-23 | 2013-10-29 | Barclays Capital Inc. | Disaster recovery framework |
US7558857B2 (en) * | 2005-06-30 | 2009-07-07 | Microsoft Corporation | Solution deployment in a server farm |
US8019827B2 (en) * | 2005-08-15 | 2011-09-13 | Microsoft Corporation | Quick deploy of content |
US8176408B2 (en) * | 2005-09-12 | 2012-05-08 | Microsoft Corporation | Modularized web provisioning |
US20070088706A1 (en) * | 2005-10-17 | 2007-04-19 | Goff Thomas C | Methods and devices for simultaneously accessing multiple databases |
US8930402B1 (en) * | 2005-10-31 | 2015-01-06 | Verizon Patent And Licensing Inc. | Systems and methods for automatic collection of data over a network |
US7967682B2 (en) * | 2006-04-12 | 2011-06-28 | Bally Gaming, Inc. | Wireless gaming environment |
US7962634B2 (en) * | 2006-05-15 | 2011-06-14 | Apple Inc. | Submission of metadata content and media content to a media distribution system |
US8015237B2 (en) | 2006-05-15 | 2011-09-06 | Apple Inc. | Processing of metadata content and media content received by a media distribution system |
US7827162B2 (en) * | 2006-05-15 | 2010-11-02 | Apple Inc. | Media package format for submission to a media distribution system |
US7849030B2 (en) * | 2006-05-31 | 2010-12-07 | Hartford Fire Insurance Company | Method and system for classifying documents |
US9101820B2 (en) | 2006-11-09 | 2015-08-11 | Bally Gaming, Inc. | System, method and apparatus to produce decks for and operate games played with playing cards |
US9111078B2 (en) * | 2006-11-10 | 2015-08-18 | Bally Gaming, Inc. | Package manager service in gaming system |
US8784212B2 (en) * | 2006-11-10 | 2014-07-22 | Bally Gaming, Inc. | Networked gaming environment employing different classes of gaming machines |
US20080153600A1 (en) * | 2006-11-10 | 2008-06-26 | Bally Gaming, Inc. | Gaming system configuration change reporting |
US9508218B2 (en) | 2006-11-10 | 2016-11-29 | Bally Gaming, Inc. | Gaming system download network architecture |
US8631501B2 (en) | 2006-11-10 | 2014-01-14 | Bally Gaming, Inc. | Reporting function in gaming system environment |
US8920233B2 (en) * | 2006-11-10 | 2014-12-30 | Bally Gaming, Inc. | Assignment template and assignment bundle in a gaming configuration and download system |
US8347280B2 (en) | 2006-11-13 | 2013-01-01 | Bally Gaming, Inc. | System and method for validating download or configuration assignment for an EGM or EGM collection |
US8930461B2 (en) * | 2006-11-13 | 2015-01-06 | Bally Gaming, Inc. | Download and configuration management engine for gaming system |
US9082258B2 (en) | 2006-11-13 | 2015-07-14 | Bally Gaming, Inc. | Method and system for providing download and configuration job progress tracking and display via host user interface |
US9513892B2 (en) * | 2007-01-25 | 2016-12-06 | Hewlett-Packard Development Company, L.P. | Capturing and deploying an operating system in a computer environment |
US7685140B2 (en) * | 2007-01-30 | 2010-03-23 | International Business Machines Corporation | Dynamic information systems |
US20090118006A1 (en) * | 2007-11-02 | 2009-05-07 | Bally Gaming, Inc. | Game related systems, methods, and articles that combine virtual and physical elements |
US8616958B2 (en) * | 2007-11-12 | 2013-12-31 | Bally Gaming, Inc. | Discovery method and system for dynamically locating networked gaming components and resources |
US20090259502A1 (en) * | 2008-04-10 | 2009-10-15 | Daniel David Erlewine | Quality-Based Media Management for Network-Based Media Distribution |
US9005034B2 (en) * | 2008-04-30 | 2015-04-14 | Bally Gaming, Inc. | Systems and methods for out-of-band gaming machine management |
US8856657B2 (en) * | 2008-04-30 | 2014-10-07 | Bally Gaming, Inc. | User interface for managing network download and configuration tasks |
US9483911B2 (en) * | 2008-04-30 | 2016-11-01 | Bally Gaming, Inc. | Information distribution in gaming networks |
US20090275374A1 (en) * | 2008-04-30 | 2009-11-05 | Bally Gaming, Inc. | Tournament play in a gaming property |
WO2009155047A2 (en) * | 2008-05-30 | 2009-12-23 | Bally Gaming, Inc. | Web pages for gaming devices |
US8412768B2 (en) | 2008-07-11 | 2013-04-02 | Ball Gaming, Inc. | Integration gateway |
US8266213B2 (en) | 2008-11-14 | 2012-09-11 | Bally Gaming, Inc. | Apparatus, method, and system to provide a multiple processor architecture for server-based gaming |
US8423790B2 (en) | 2008-11-18 | 2013-04-16 | Bally Gaming, Inc. | Module validation |
US20100235889A1 (en) * | 2009-03-16 | 2010-09-16 | Michael Kuohao Chu | Application products with in-application subsequent feature access using network-based distribution system |
US20100235254A1 (en) * | 2009-03-16 | 2010-09-16 | Payam Mirrashidi | Application Products with In-Application Subsequent Feature Access Using Network-Based Distribution System |
US20100299219A1 (en) * | 2009-05-25 | 2010-11-25 | Cortes Ricardo D | Configuration and Management of Add-ons to Digital Application Programs for Network-Based Distribution |
US9729609B2 (en) | 2009-08-07 | 2017-08-08 | Apple Inc. | Automatic transport discovery for media submission |
US8935217B2 (en) * | 2009-09-08 | 2015-01-13 | Apple Inc. | Digital asset validation prior to submission for network-based distribution |
US8584087B2 (en) * | 2009-12-11 | 2013-11-12 | Sap Ag | Application configuration deployment monitor |
US8516477B1 (en) * | 2010-03-12 | 2013-08-20 | Cellco Partnership | Automated deployment tool for multiple server environment |
US9058716B2 (en) | 2011-06-06 | 2015-06-16 | Bally Gaming, Inc. | Remote game play in a wireless gaming environment |
US9120007B2 (en) | 2012-01-18 | 2015-09-01 | Bally Gaming, Inc. | Network gaming architecture, gaming systems, and related methods |
US8974305B2 (en) | 2012-01-18 | 2015-03-10 | Bally Gaming, Inc. | Network gaming architecture, gaming systems, and related methods |
US8990188B2 (en) | 2012-11-30 | 2015-03-24 | Apple Inc. | Managed assessment of submitted digital content |
US9087341B2 (en) | 2013-01-11 | 2015-07-21 | Apple Inc. | Migration of feedback data to equivalent digital assets |
US10579497B2 (en) * | 2013-02-26 | 2020-03-03 | Red Hat, Inc. | Providing context simulation |
US9417868B2 (en) * | 2014-01-09 | 2016-08-16 | Bank Of America Corporation | Entity wide software tracking and maintenance reporting tool |
US10338896B2 (en) * | 2014-03-21 | 2019-07-02 | Ptc Inc. | Systems and methods for developing and using real-time data applications |
US11119747B2 (en) | 2019-11-21 | 2021-09-14 | Paypal, Inc. | System and method for application release orchestration and deployment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835712A (en) * | 1996-05-03 | 1998-11-10 | Webmate Technologies, Inc. | Client-server system using embedded hypertext tags for application and database development |
US5854930A (en) * | 1996-12-30 | 1998-12-29 | Mci Communications Corporations | System, method, and computer program product for script processing |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0229232A2 (en) * | 1985-12-31 | 1987-07-22 | Tektronix, Inc. | File management system |
US5649200A (en) * | 1993-01-08 | 1997-07-15 | Atria Software, Inc. | Dynamic rule-based version control system |
US5913029A (en) * | 1997-02-07 | 1999-06-15 | Portera Systems | Distributed database system and method |
US6178439B1 (en) * | 1997-12-23 | 2001-01-23 | British Telecommunications Public Limited Company | HTTP session control |
US6505212B2 (en) * | 1998-02-04 | 2003-01-07 | Interwoven Inc | System and method for website development |
US6452612B1 (en) * | 1998-12-18 | 2002-09-17 | Parkervision, Inc. | Real time video production system and method |
-
2001
- 2001-05-17 CA CA002409138A patent/CA2409138A1/en not_active Abandoned
- 2001-05-17 JP JP2001584996A patent/JP2003533812A/en active Pending
- 2001-05-17 US US09/860,893 patent/US20020004824A1/en not_active Abandoned
- 2001-05-17 EP EP01941512A patent/EP1292871A4/en not_active Withdrawn
- 2001-05-17 AU AU2001274861A patent/AU2001274861A1/en not_active Abandoned
- 2001-05-17 WO PCT/US2001/016207 patent/WO2001088666A2/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835712A (en) * | 1996-05-03 | 1998-11-10 | Webmate Technologies, Inc. | Client-server system using embedded hypertext tags for application and database development |
US5854930A (en) * | 1996-12-30 | 1998-12-29 | Mci Communications Corporations | System, method, and computer program product for script processing |
Non-Patent Citations (1)
Title |
---|
See also references of EP1292871A2 * |
Also Published As
Publication number | Publication date |
---|---|
US20020004824A1 (en) | 2002-01-10 |
CA2409138A1 (en) | 2001-11-22 |
WO2001088666A3 (en) | 2002-03-21 |
JP2003533812A (en) | 2003-11-11 |
EP1292871A4 (en) | 2007-10-17 |
AU2001274861A1 (en) | 2001-11-26 |
EP1292871A2 (en) | 2003-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020004824A1 (en) | Method and apparatus for automatically deploying data and simultaneously Executing computer program scripts in a computer network | |
JP5833725B2 (en) | Control services for relational data management | |
US7590669B2 (en) | Managing client configuration data | |
US9201647B2 (en) | Configuration management center | |
US7657887B2 (en) | System for transactionally deploying content across multiple machines | |
US7383271B2 (en) | Centralized configuration data management for distributed clients | |
US20010011265A1 (en) | Method and apparatus for deploying data among data destinations for website development and maintenance | |
CN106991035A (en) | A kind of Host Supervision System based on micro services framework | |
US20010044834A1 (en) | Method and apparatus for automatically deploying data in a computer network | |
US20050086534A1 (en) | Enterprise console | |
US20070245335A1 (en) | Software management apparatus and software management method | |
US10740085B2 (en) | Webserver interface for deployment management tool | |
AU2051901A (en) | Method and apparatus for deploying data among data destinations for website development and maintenance | |
Sabharwal et al. | Administering CloudSQL | |
WO2010039993A2 (en) | Automation for virtualized it environments | |
Preston et al. | Pulling It All Together: Continuous Provisioning with Chef and Azure | |
Dayley | Novell ZENworks for Desktops 4 Administrator's Handbook | |
Della Monica et al. | Microsoft System Center Software Update Management Field Experience | |
Guide | Unicenter® Desktop and Server Management | |
Simpkins et al. | Files, Virtual Mappings, and IIS Settings | |
Allison et al. | Oracle Real Application Clusters Installation Guide, 11g Release 1 (11.1) for Microsoft Windows B28251-06 | |
Allison et al. | Oracle Real Application Clusters Installation Guide, 11g Release 1 (11.1) for Microsoft Windows B28251-05 | |
Hradílek et al. | Fedora Draft Documentation System Administrator's Guide | |
Jayaraaman et al. | Oracle Enterprise Manager Cloud Control Upgrade Guide, 12c Release 4 (12.1. 0.4) E22625-32 | |
Hradílek et al. | Fedora 16 System Administrator's Guide |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2001941512 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2409138 Country of ref document: CA |
|
WWP | Wipo information: published in national office |
Ref document number: 2001941512 Country of ref document: EP |