WO2012148681A1 - Cross-schedule dependencies using proxy tasks - Google Patents

Cross-schedule dependencies using proxy tasks Download PDF

Info

Publication number
WO2012148681A1
WO2012148681A1 PCT/US2012/033180 US2012033180W WO2012148681A1 WO 2012148681 A1 WO2012148681 A1 WO 2012148681A1 US 2012033180 W US2012033180 W US 2012033180W WO 2012148681 A1 WO2012148681 A1 WO 2012148681A1
Authority
WO
WIPO (PCT)
Prior art keywords
schedule
task
proxy
data processing
processing system
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/US2012/033180
Other languages
French (fr)
Inventor
Matthew J. Insko
Niranjan K. IYER
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Industry Software Inc
Original Assignee
Siemens Product Lifecycle Management Software 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 Siemens Product Lifecycle Management Software Inc filed Critical Siemens Product Lifecycle Management Software Inc
Publication of WO2012148681A1 publication Critical patent/WO2012148681A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling

Definitions

  • This invention relates to a method, a system and a computer readable medium, for cross-schedule dependencies using proxy tasks according to the independent claims.
  • the present disclosure is directed, in general, to computer-aided design, visualization, and manufacturing systems (“CAD” systems), product lifecycle management (“PLM”) systems, program and project management systems, and systems that manage data for products and other items (individually and collectively, product data management (“PDM”) systems).
  • CAD computer-aided design, visualization, and manufacturing systems
  • PLM product lifecycle management
  • PLM program and project management systems
  • PDM program and project management systems
  • PDM systems can aid users in creating, managing, and executing project schedules, among other functions, including the scheduling of tasks.
  • Various disclosed embodiments relate to systems and methods for managing cross-schedule dependencies using proxy tasks, and in particular, in PDM systems configured to perform processes as described herein.
  • a method includes receiving a first schedule.
  • the first schedule includes at least a first task.
  • the method includes creating a proxy task in a second schedule.
  • the proxy task corresponds to and is a substantial copy of the first task.
  • the method includes storing the second schedule.
  • the method can include creating a dependency between a second task in the second schedule and the proxy task in the second schedule.
  • Figure 1 depicts a block diagram of a data processing system in which an embodiment can be implemented
  • Figures 2A and 2B illustrate proxy tasks and cross-schedule dependencies behavior in accordance with disclosed embodiments.
  • FIGS 3 and 4 depict flowcharts of processes in accordance with disclosed embodiments.
  • FIG. 1 through 4 the other figures herein and attached hereto, and the various embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged device. The numerous innovative teachings of the present application will be described with reference to exemplary non-limiting embodiments.
  • PDM systems and other systems require a way to create dependencies between tasks that reside in various schedules or between different schedules. This can entail requiring a master schedule that brings in both the schedules together as a "master schedule” and a "sub-schedule" to enable creating dependencies. Such cases also require both the schedules to be loaded at the same time to maintain data integrity. It is also very important that proper security access rules are adhered to while opening a schedule that contains cross schedule dependency. For example, if a Schedule A has a cross-schedule dependency to a Schedule B, and a user who has access only to Schedule A opens Schedule A, the user should be able to determine that there is a cross schedule dependency. However, the user cannot access or view any data in Schedule B.
  • Disclosed embodiments include systems and methods for using proxy tasks for creation of cross schedule dependencies without regard to the need of a master schedule or the need for both the schedules to be loaded simultaneously during creation.
  • Various embodiments disclosed herein support these operations in a source-independent manner, working equally well on schedules both independent and part of a master schedule.
  • Disclosed embodiments also maintain security access while opening or working with a schedule that has a dependency to another. For example, if a user cannot view the other schedule, then the system maintains that restriction.
  • FIG. 1 depicts a block diagram of a data processing system in which an embodiment can be implemented, including as a PDM system particularly configured to perform processes as described herein.
  • the data processing system depicted includes a processor 102 connected to a level two cache/bridge 104, which is connected in turn to a local system bus 106.
  • Local system bus 106 may be, for example, a peripheral component interconnect (PCI) architecture bus.
  • PCI peripheral component interconnect
  • main memory 108 Also connected to local system bus in the depicted example are a main memory 108 and a graphics adapter 1 10.
  • the graphics adapter 1 10 may be connected to display 1 1 1.
  • Peripherals such as local area network (LAN) / Wide Area Network / Wireless (e.g. WiFi) adapter 1 12, may also be connected to local system bus 106.
  • Expansion bus interface 1 14 connects local system bus 106 to input/output (I/O) bus 1 16.
  • I/O bus 1 16 is connected to keyboard/mouse adapter 1 18, disk controller 120, and I/O adapter 122.
  • Disk controller 120 can be connected to a storage 126, which can be any suitable machine usable or machine readable storage medium, including but not limited to nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), magnetic tape storage, and user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD-ROMs) or digital versatile disks (DVDs), and other known optical, electrical, or magnetic storage devices.
  • ROMs read only memories
  • EEPROMs electrically programmable read only memories
  • CD-ROMs compact disk read only memories
  • DVDs digital versatile disks
  • audio adapter 124 Also connected to I/O bus 1 16 in the example shown is audio adapter 124, to which speakers (not shown) may be connected for playing sounds.
  • Keyboard/mouse adapter 1 18 provides a connection for a pointing device (not shown), such as a mouse, trackball, trackpointer, etc.
  • a data processing system in accordance with an embodiment of the present disclosure includes an operating system employing a graphical user interface.
  • the operating system permits multiple display windows to be presented in the graphical user interface simultaneously, with each display window providing an interface to a different application or to a different instance of the same application.
  • a cursor in the graphical user interface may be manipulated by a user through the pointing device. The position of the cursor may be changed and/or an event, such as clicking a mouse button, generated to actuate a desired response.
  • LAN/ WAN/Wireless adapter 1 12 can be connected to a network 130 (not a part of data processing system 100), which can be any public or private data processing system network or combination of networks, as known to those of skill in the art, including the Internet.
  • Data processing system 100 can communicate over network 130 with server system 140, which is also not part of data processing system 100, but can be implemented, for example, as a separate data processing system 100.
  • proxy tasks can be used to create cross schedule dependencies, and can also be used and placed anywhere within a schedule where it is meaningful.
  • a "proxy task” is a representation of a task in a different schedule. It is used as a reference to a task outside the current schedule. It mirrors some or all of the attributes of the task or tasks represented in the other schedule to which the user has access.
  • the proxy task can be used to represent a task, a milestone, a summary task or even an entire schedule. A proxy task enables users to mirror the task in another schedule and create cross schedule dependencies to it.
  • Various embodiments include specific characteristics of proxy tasks and their use in creation of cross-schedule dependencies.
  • the system can create two proxy tasks, one corresponding to each schedule, and can also create the dependencies between the appropriate task and proxy tasks to indicate cross-schedule dependency.
  • Figures 2A and 2B illustrate proxy tasks and cross-schedule dependencies behavior in accordance with disclosed embodiments. These figures show a first schedule, Schedule A 210, and a second schedule, Schedule B 220.
  • FIG. 2A shows that Schedule A 210 includes a Task Al 212, Task A2 214, and Task A3 216.
  • Figure 2A also shows that Schedule B 220 includes a Task Bl 222 and Task B2 224.
  • the arrows indicate a dependency relationship between these tasks.
  • the bold arrow line indicates a cross-schedule dependency 240 between Task Al 212 and Task Bl 222 in different schedules, Schedule A 210 and Schedule B 220.
  • such cross-schedule dependencies cause a number of problems as described above.
  • FIG. 2B shows that Schedule A 210 includes a Task Al 212, Task A2 214, and Task A3 216.
  • Figure 2B also shows that Schedule B 220 includes a Task Bl 222 and Task B2 224.
  • the arrows indicate a dependency relationship between these tasks.
  • Figure 2B illustrates that when a cross-schedule dependency is created, in accordance with disclosed embodiments, no direct cross-schedule dependency is represented as in Fig. 2A. Instead, the system creates two proxy tasks that reference the other schedule and task. In the example of Fig. 2B, ProxyTask Bl 218 is created in Schedule A 210, that points to "Task Bl : Schedule B".
  • ProxyTask Al 228 is created in Schedule B 220, that points to "Task Al : Schedule A".
  • the system also stores an indication that a cross schedule dependency is created.
  • "ProxyTask” is an arbitrary name used in this example for purposes of illustration, and does not limit the claimed embodiments.
  • Disclosed embodiments create and maintain proxy tasks as separate objects and use them for cross-schedule dependency; this can aid in maintaining cohesiveness by keeping tasks that belong to a schedule in that schedule instead of referencing a task in another schedule.
  • Disclosed embodiments also enable greater support for security access in terms of dis-allowing a change in one schedule to be automatically propagated to another schedule if the user does not have the required permissions to do so.
  • Program and project managers can better manage the schedules they own by not having their schedule plans change without their knowledge.
  • Various embodiments also provide support for schedule validation rules to maintain data integrity. This mechanism leverages and supports the various kinds of dependencies that need to be supported in a program/project management system, such as Finish to Start (FS), Start to Start (SS), Finish to Finish (FF), Start to Finish (SF), etc.
  • Proxy tasks can also include external tasks or objects in a different system. This allows the opening up of the system to create cross schedule dependency to not just another schedule, but to external objects.
  • the system can interact with a user in multiple ways to receive an input to create a proxy task.
  • the system can create a proxy task independently "from scratch” in response to a user pointing to the original task.
  • the system can create a proxy task in response to a user using the system "clipboard” by selecting a normal task and using a "paste as proxy” input on a different schedule to easily create a proxy task.
  • the system can also create proxy tasks as "mirrors" of tasks or items in a master schedule. For example, a user will be able to mirror a task in the master schedule as a proxy task in all the sub schedules, and the system creates corresponding proxy tasks.
  • One benefit of this approach is that it enables program or project managers to very easily replicate and represent key milestones from a master schedule to all the participating sub schedules.
  • the system when the system receives a user input to create a cross-schedule dependency from within a master schedule, the system can create two proxy tasks internally in each of the different schedules. For example, in response to a cross-schedule dependency from Task A in Schedule A to Task B in Schedule B in Fig. 2B, the system can create two proxy tasks - a proxy task (such as ProxyTask B 218) in Schedule A that represents the real task B and another proxy task (such as ProxyTask A 228) in Schedule B that represents the real task A. This enables the system to provide visibility of a dependent task in another schedule.
  • a proxy task such as ProxyTask B 218
  • another proxy task such as ProxyTask A 2248
  • disclosed techniques can create cross-schedule dependency without the need for both the schedules to be loaded at the same time thus benefiting any performance considerations.
  • Various embodiments also allow various schedule validations to be run and adhered to without the need to load both the schedules. For example, if a first-schedule cross-schedule dependency needs to be changed to a second schedule, it allows for that without having the need for both the schedules to be loaded for validation thus benefiting performance reducing memory consumption.
  • Various embodiments provide different ways to create a cross schedule dependency, can create a cross-schedule dependency from a master schedule context, can create a dependency to or from a proxy task, can search for target tasks and create cross schedule dependencies, or can support different kinds of dependencies as described herein.
  • Proxy tasks can be created independently without dependencies as well. In those cases, it can mirror the attributes of the real task, and when the real task attributes change (e.g. the start dates, end dates, or any other attribute), the proxy task attributes can automatically reflect those changes. This can be important in cases where it is important for a plan to know the key drivers and milestones of a program being tracked in a master company plan.
  • the system can allow users to navigate from a proxy task to a real task, as well as relocate its position from one place to another in the structure without modifying the dates. This provides flexibility and easy navigability of proxy tasks.
  • Figure 3 depicts a process in accordance with disclosed embodiments that can be performed by one or more PLM systems. This process can be used to create a proxy task.
  • the labels of "first schedule” and “second schedule” are arbitrary and used only to describe different schedules; these labels are not intended to be limiting.
  • the system receives a first schedule (step 305).
  • “Receiving”, as used herein, can include loading from storage, receiving from another device or process, receiving via an interaction with a user, or otherwise.
  • the first schedule has at least one task.
  • the system searches the first schedule for any tasks for which to make a proxy (step 310). In some cases, this can be a search for a specific task in the first schedule that is intended to have a dependency relationship with or otherwise correspond to a not-yet- created proxy task in a second schedule.
  • the system selects the task in the first schedule (step 315). This selection can be performed automatically in response to identifying the task as a result of the search, or can include displaying the results of the search to a user and receiving a user selection of the task in the first schedule that is intended to have a dependency relationship with or otherwise correspond to a not-yet-created proxy task in the second schedule.
  • the system creates a proxy task in a second schedule, corresponding to the selected task in the first schedule (step 320).
  • the proxy task can include information referencing the selected task in the first schedule, and the selected task in the first schedule can include information referencing the proxy task in the second schedule.
  • the system can create and maintain dependency relationships between the proxy task and the selected task in the first schedule or in the second schedule.
  • the proxy task can be a substantial duplicate of the selected task, meaning that it can include the same task data such as start, finish, work complete, constraint, status, etc.
  • the system stores the second schedule (step 325). As part of this step, the system can also store the first schedule.
  • Figure 4 depicts a process in accordance with disclosed embodiments that can be performed by one or more PLM systems. This process can be used to create a proxy task with dependencies.
  • the system receives a first schedule (step 405).
  • the first schedule has at least one task.
  • This schedule can be a master schedule.
  • the system receives at least one second schedule (step 410). In some cases, this can be one or more sub-schedules of the master schedule. For clarity of illustration, the second schedule will be referred to in the singular, but is not so limited.
  • the system creates a proxy task in the second schedule corresponding to the task in the first schedule (step 415). In some cases, this can be performed in response to receiving a user input, such as by the user "dragging" the task in the first schedule and "dropping" it into the second schedule.
  • the proxy task can include information referencing the task in the first schedule, and the task in the first schedule can include information referencing the proxy task.
  • the system can create and maintain dependency relationships between the proxy task and the task in the first schedule (step 420). As part of this step, the system can automatically detect any changes in the task in the first schedule and make corresponding changes to the proxy task. The system can also maintain dependencies between the proxy task (in the second schedule) and other tasks in the second schedule. In those cases, the system can perform a plurality of processes to detect any changes in the task in the first schedule, make corresponding changes to the proxy task in the second schedule, then also make corresponding changes to any other tasks in the second schedule that are dependent on the proxy task.
  • the system can create respective proxy tasks in both the first and second schedules, so that the dependency for each task in each schedule is to the proxy task in that same schedule, and the proxy tasks in each schedule can be updated according to changes in a corresponding task in the other schedule.
  • the system stores the second schedule (step 425). As part of this step, the system can also store the first schedule.
  • creating a proxy task does not necessarily automatically create dependencies or require creation of dependencies.
  • the system can automatically create proxy tasks in response to a user creating cross schedule dependencies.
  • cross-schedule dependencies can be created between any schedules in the system using proxy tasks.
  • Proxy tasks do not require a master schedule to create cross schedule dependencies, and does not require loading of both the schedules in its entirety to create cross schedule dependency.
  • a proxy task can represent any type of task, milestone, phase, gate, schedule, or other event or object in the system, all referred to generically herein as "tasks”.
  • Proxy tasks can also be used to "mirror" tasks in sub-schedules from a master schedule.
  • the system maintains security access rights of each task and their schedule including proxy tasks.
  • the system can maintain corresponding drawing representations, for example, for a milestone proxy or a summary proxy.
  • the system does not allow proxy tasks to be moved or edited directly, but instead they reflect the dates and attribute changes according to the "home" or original task. Proxy tasks can exist without a cross-schedule dependency existing.
  • another method includes receiving a first schedule that includes at least a first task.
  • the method includes creating a proxy task in a second schedule or in the same schedule.
  • the proxy task corresponds to and is a substantial copy of the first task.
  • the method includes creating a relation between the proxy task and the original task and creating a dependency between a proxy task and a normal schedule task.
  • the method can include storing both the first and second schedule.
  • machine usable/readable or computer usable/readable mediums include: nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), and user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD-ROMs) or digital versatile disks (DVDs).
  • ROMs read only memories
  • EEPROMs electrically programmable read only memories
  • user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD-ROMs) or digital versatile disks (DVDs).

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Product Data Management systems (100) require a way to create dependencies (240, 250) between tasks (212, 214,..) that reside in various schedules (210, 220) or between different schedules (210, 220). Disclosed embodiments comprise proxy tasks (218) for creation of cross schedule dependencies (250) without regard to the need of a master schedule or the need for both the schedules 210, 220) to be loaded simultaneously during creation A proxy task (218) corresponds to and is a substantial copy of the first task. With the disclosed embodiments security access is maintained while opening or working with a schedule that has a dependency (260) to another.

Description

Cross-Schedule Dependencies Using Proxy Tasks
[0001] This invention relates to a method, a system and a computer readable medium, for cross-schedule dependencies using proxy tasks according to the independent claims.
TECHNICAL FIELD
[0002] The present disclosure is directed, in general, to computer-aided design, visualization, and manufacturing systems ("CAD" systems), product lifecycle management ("PLM") systems, program and project management systems, and systems that manage data for products and other items (individually and collectively, product data management ("PDM") systems).
BACKGROUND
[0003] PDM systems can aid users in creating, managing, and executing project schedules, among other functions, including the scheduling of tasks.
SUMMARY OF THE DISCLOSURE
[0004] Various disclosed embodiments relate to systems and methods for managing cross-schedule dependencies using proxy tasks, and in particular, in PDM systems configured to perform processes as described herein.
[0005] Various embodiments include PDM systems, methods, and mediums. A method includes receiving a first schedule. The first schedule includes at least a first task. The method includes creating a proxy task in a second schedule. The proxy task corresponds to and is a substantial copy of the first task. The method includes storing the second schedule.
[0006] The method can include creating a dependency between a second task in the second schedule and the proxy task in the second schedule.
[0007] The foregoing has outlined rather broadly the features and technical advantages of the present disclosure so that those skilled in the art may better understand the detailed description that follows. Additional features and advantages of the disclosure will be described hereinafter that form the subject of the claims. Those skilled in the art will appreciate that they may readily use the conception and the specific embodiment disclosed as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Those skilled in the art will also realize that such equivalent constructions do not depart from the spirit and scope of the disclosure in its broadest form.
[0008] Before undertaking the DETAILED DESCRIPTION below, it may be advantageous to set forth definitions of certain words or phrases used throughout this patent document: the terms "include" and "comprise," as well as derivatives thereof, mean inclusion without limitation; the term "or" is inclusive, meaning and/or; the phrases "associated with" and "associated therewith," as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like; and the term "controller" means any device, system or part thereof that controls at least one operation, whether such a device is implemented in hardware, firmware, software or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. Definitions for certain words and phrases are provided throughout this patent document, and those of ordinary skill in the art will understand that such definitions apply in many, if not most, instances to prior as well as future uses of such defined words and phrases. While some terms may include a wide variety of embodiments, the appended claims may expressly limit these terms to specific embodiments.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] For a more complete understanding of the present disclosure, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, wherein like numbers designate like objects, and in which:
[0010] Figure 1 depicts a block diagram of a data processing system in which an embodiment can be implemented;
[0011] Figures 2A and 2B illustrate proxy tasks and cross-schedule dependencies behavior in accordance with disclosed embodiments; and
[0012] Figures 3 and 4 depict flowcharts of processes in accordance with disclosed embodiments.
DETAILED DESCRIPTION
[0013] Figures 1 through 4, the other figures herein and attached hereto, and the various embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged device. The numerous innovative teachings of the present application will be described with reference to exemplary non-limiting embodiments.
[0014] PDM systems and other systems require a way to create dependencies between tasks that reside in various schedules or between different schedules. This can entail requiring a master schedule that brings in both the schedules together as a "master schedule" and a "sub-schedule" to enable creating dependencies. Such cases also require both the schedules to be loaded at the same time to maintain data integrity. It is also very important that proper security access rules are adhered to while opening a schedule that contains cross schedule dependency. For example, if a Schedule A has a cross-schedule dependency to a Schedule B, and a user who has access only to Schedule A opens Schedule A, the user should be able to determine that there is a cross schedule dependency. However, the user cannot access or view any data in Schedule B.
[0015] Working with multiple schedules and having the need to create and work with cross-schedule dependencies can be an issue with customers using PDM systems. Requiring a master schedule as a pre-requisite or needing to load both the schedules to create a cross schedule dependency is too restrictive.
[0016] Disclosed embodiments include systems and methods for using proxy tasks for creation of cross schedule dependencies without regard to the need of a master schedule or the need for both the schedules to be loaded simultaneously during creation. Various embodiments disclosed herein support these operations in a source-independent manner, working equally well on schedules both independent and part of a master schedule. [0017] Disclosed embodiments also maintain security access while opening or working with a schedule that has a dependency to another. For example, if a user cannot view the other schedule, then the system maintains that restriction. Similarly, if a user has only "view" access to the second schedule, but has "edit" access to the first schedule, then various embodiments disclosed herein can ensure that any changes they make in the first schedule do not modify the data of the second schedule. As such, systems and methods disclosed herein are well-suited to environments that require adherence to security.
[0018] Figure 1 depicts a block diagram of a data processing system in which an embodiment can be implemented, including as a PDM system particularly configured to perform processes as described herein. The data processing system depicted includes a processor 102 connected to a level two cache/bridge 104, which is connected in turn to a local system bus 106. Local system bus 106 may be, for example, a peripheral component interconnect (PCI) architecture bus. Also connected to local system bus in the depicted example are a main memory 108 and a graphics adapter 1 10. The graphics adapter 1 10 may be connected to display 1 1 1.
[0019] Other peripherals, such as local area network (LAN) / Wide Area Network / Wireless (e.g. WiFi) adapter 1 12, may also be connected to local system bus 106. Expansion bus interface 1 14 connects local system bus 106 to input/output (I/O) bus 1 16. I/O bus 1 16 is connected to keyboard/mouse adapter 1 18, disk controller 120, and I/O adapter 122. Disk controller 120 can be connected to a storage 126, which can be any suitable machine usable or machine readable storage medium, including but not limited to nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), magnetic tape storage, and user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD-ROMs) or digital versatile disks (DVDs), and other known optical, electrical, or magnetic storage devices.
[0020] Also connected to I/O bus 1 16 in the example shown is audio adapter 124, to which speakers (not shown) may be connected for playing sounds. Keyboard/mouse adapter 1 18 provides a connection for a pointing device (not shown), such as a mouse, trackball, trackpointer, etc.
[0021] Those of ordinary skill in the art will appreciate that the hardware depicted in Figure 1 may vary for particular implementations. For example, other peripheral devices, such as an optical disk drive and the like, also may be used in addition or in place of the hardware depicted. The depicted example is provided for the purpose of explanation only and is not meant to imply architectural limitations with respect to the present disclosure.
[0022] A data processing system in accordance with an embodiment of the present disclosure includes an operating system employing a graphical user interface. The operating system permits multiple display windows to be presented in the graphical user interface simultaneously, with each display window providing an interface to a different application or to a different instance of the same application. A cursor in the graphical user interface may be manipulated by a user through the pointing device. The position of the cursor may be changed and/or an event, such as clicking a mouse button, generated to actuate a desired response.
[0023] One of various commercial operating systems, such as a version of Microsoft Windows™, a product of Microsoft Corporation located in Redmond, Wash, may be employed if suitably modified. The operating system is modified or created in accordance with the present disclosure as described. [0024] LAN/ WAN/Wireless adapter 1 12 can be connected to a network 130 (not a part of data processing system 100), which can be any public or private data processing system network or combination of networks, as known to those of skill in the art, including the Internet. Data processing system 100 can communicate over network 130 with server system 140, which is also not part of data processing system 100, but can be implemented, for example, as a separate data processing system 100.
[0025] Various embodiments described herein include systems and methods that can use "proxy tasks" to create and represent cross schedule dependencies. These proxy tasks can be used to create cross schedule dependencies, and can also be used and placed anywhere within a schedule where it is meaningful.
[0026] As used herein, a "proxy task" is a representation of a task in a different schedule. It is used as a reference to a task outside the current schedule. It mirrors some or all of the attributes of the task or tasks represented in the other schedule to which the user has access. The proxy task can be used to represent a task, a milestone, a summary task or even an entire schedule. A proxy task enables users to mirror the task in another schedule and create cross schedule dependencies to it.
[0027] Various embodiments include specific characteristics of proxy tasks and their use in creation of cross-schedule dependencies. When a cross-schedule dependency is created between two tasks in different schedules, the system can create two proxy tasks, one corresponding to each schedule, and can also create the dependencies between the appropriate task and proxy tasks to indicate cross-schedule dependency.
[0028] Figures 2A and 2B illustrate proxy tasks and cross-schedule dependencies behavior in accordance with disclosed embodiments. These figures show a first schedule, Schedule A 210, and a second schedule, Schedule B 220.
[0029] Figure 2A shows that Schedule A 210 includes a Task Al 212, Task A2 214, and Task A3 216. Figure 2A also shows that Schedule B 220 includes a Task Bl 222 and Task B2 224. The arrows indicate a dependency relationship between these tasks. [0030] In the Fig. 2A, the bold arrow line indicates a cross-schedule dependency 240 between Task Al 212 and Task Bl 222 in different schedules, Schedule A 210 and Schedule B 220. In a conventional system, such cross-schedule dependencies cause a number of problems as described above.
[0031] Figure 2B shows that Schedule A 210 includes a Task Al 212, Task A2 214, and Task A3 216. Figure 2B also shows that Schedule B 220 includes a Task Bl 222 and Task B2 224. The arrows indicate a dependency relationship between these tasks. [0032] Figure 2B illustrates that when a cross-schedule dependency is created, in accordance with disclosed embodiments, no direct cross-schedule dependency is represented as in Fig. 2A. Instead, the system creates two proxy tasks that reference the other schedule and task. In the example of Fig. 2B, ProxyTask Bl 218 is created in Schedule A 210, that points to "Task Bl : Schedule B". Similarly, ProxyTask Al 228 is created in Schedule B 220, that points to "Task Al : Schedule A". When these dependencies to proxy tasks are created, the system also stores an indication that a cross schedule dependency is created. Of course "ProxyTask" is an arbitrary name used in this example for purposes of illustration, and does not limit the claimed embodiments. [0033] Disclosed embodiments create and maintain proxy tasks as separate objects and use them for cross-schedule dependency; this can aid in maintaining cohesiveness by keeping tasks that belong to a schedule in that schedule instead of referencing a task in another schedule.
[0034] Disclosed embodiments also enable greater support for security access in terms of dis-allowing a change in one schedule to be automatically propagated to another schedule if the user does not have the required permissions to do so. Program and project managers can better manage the schedules they own by not having their schedule plans change without their knowledge. Various embodiments also provide support for schedule validation rules to maintain data integrity. This mechanism leverages and supports the various kinds of dependencies that need to be supported in a program/project management system, such as Finish to Start (FS), Start to Start (SS), Finish to Finish (FF), Start to Finish (SF), etc.
[0035] Proxy tasks can also include external tasks or objects in a different system. This allows the opening up of the system to create cross schedule dependency to not just another schedule, but to external objects.
[0036] In various embodiments, the system can interact with a user in multiple ways to receive an input to create a proxy task. For example, the system can create a proxy task independently "from scratch" in response to a user pointing to the original task. The system can create a proxy task in response to a user using the system "clipboard" by selecting a normal task and using a "paste as proxy" input on a different schedule to easily create a proxy task.
[0037] The system can also create proxy tasks as "mirrors" of tasks or items in a master schedule. For example, a user will be able to mirror a task in the master schedule as a proxy task in all the sub schedules, and the system creates corresponding proxy tasks. One benefit of this approach is that it enables program or project managers to very easily replicate and represent key milestones from a master schedule to all the participating sub schedules.
[0038] For example, when the system receives a user input to create a cross-schedule dependency from within a master schedule, the system can create two proxy tasks internally in each of the different schedules. For example, in response to a cross-schedule dependency from Task A in Schedule A to Task B in Schedule B in Fig. 2B, the system can create two proxy tasks - a proxy task (such as ProxyTask B 218) in Schedule A that represents the real task B and another proxy task (such as ProxyTask A 228) in Schedule B that represents the real task A. This enables the system to provide visibility of a dependent task in another schedule.
[0039] Systems and methods disclosed herein to use proxy tasks for cross-schedule dependencies enable users to create cross-schedule dependencies without the need to have master schedules. This benefits program and project managers in particular since they can define a project plan with dependencies to any schedules internal or external and thus not restricted to master schedules.
[0040] Further, disclosed techniques can create cross-schedule dependency without the need for both the schedules to be loaded at the same time thus benefiting any performance considerations. [0041] Various embodiments also allow various schedule validations to be run and adhered to without the need to load both the schedules. For example, if a first-schedule cross-schedule dependency needs to be changed to a second schedule, it allows for that without having the need for both the schedules to be loaded for validation thus benefiting performance reducing memory consumption.
[0042] Various embodiments provide different ways to create a cross schedule dependency, can create a cross-schedule dependency from a master schedule context, can create a dependency to or from a proxy task, can search for target tasks and create cross schedule dependencies, or can support different kinds of dependencies as described herein.
[0043] Proxy tasks can be created independently without dependencies as well. In those cases, it can mirror the attributes of the real task, and when the real task attributes change (e.g. the start dates, end dates, or any other attribute), the proxy task attributes can automatically reflect those changes. This can be important in cases where it is important for a plan to know the key drivers and milestones of a program being tracked in a master company plan.
[0044] The system can allow users to navigate from a proxy task to a real task, as well as relocate its position from one place to another in the structure without modifying the dates. This provides flexibility and easy navigability of proxy tasks.
[0045] Figure 3 depicts a process in accordance with disclosed embodiments that can be performed by one or more PLM systems. This process can be used to create a proxy task. In the processes described herein, the labels of "first schedule" and "second schedule" are arbitrary and used only to describe different schedules; these labels are not intended to be limiting.
[0046] The system receives a first schedule (step 305). "Receiving", as used herein, can include loading from storage, receiving from another device or process, receiving via an interaction with a user, or otherwise. The first schedule has at least one task.
[0047] The system searches the first schedule for any tasks for which to make a proxy (step 310). In some cases, this can be a search for a specific task in the first schedule that is intended to have a dependency relationship with or otherwise correspond to a not-yet- created proxy task in a second schedule. [0048] The system selects the task in the first schedule (step 315). This selection can be performed automatically in response to identifying the task as a result of the search, or can include displaying the results of the search to a user and receiving a user selection of the task in the first schedule that is intended to have a dependency relationship with or otherwise correspond to a not-yet-created proxy task in the second schedule.
[0049] The system creates a proxy task in a second schedule, corresponding to the selected task in the first schedule (step 320). The proxy task can include information referencing the selected task in the first schedule, and the selected task in the first schedule can include information referencing the proxy task in the second schedule. The system can create and maintain dependency relationships between the proxy task and the selected task in the first schedule or in the second schedule. The proxy task can be a substantial duplicate of the selected task, meaning that it can include the same task data such as start, finish, work complete, constraint, status, etc.
[0050] The system stores the second schedule (step 325). As part of this step, the system can also store the first schedule.
[0051] Figure 4 depicts a process in accordance with disclosed embodiments that can be performed by one or more PLM systems. This process can be used to create a proxy task with dependencies.
[0052] The system receives a first schedule (step 405). The first schedule has at least one task. This schedule can be a master schedule.
[0053] The system receives at least one second schedule (step 410). In some cases, this can be one or more sub-schedules of the master schedule. For clarity of illustration, the second schedule will be referred to in the singular, but is not so limited.
[0054] The system creates a proxy task in the second schedule corresponding to the task in the first schedule (step 415). In some cases, this can be performed in response to receiving a user input, such as by the user "dragging" the task in the first schedule and "dropping" it into the second schedule. The proxy task can include information referencing the task in the first schedule, and the task in the first schedule can include information referencing the proxy task.
[0055] The system can create and maintain dependency relationships between the proxy task and the task in the first schedule (step 420). As part of this step, the system can automatically detect any changes in the task in the first schedule and make corresponding changes to the proxy task. The system can also maintain dependencies between the proxy task (in the second schedule) and other tasks in the second schedule. In those cases, the system can perform a plurality of processes to detect any changes in the task in the first schedule, make corresponding changes to the proxy task in the second schedule, then also make corresponding changes to any other tasks in the second schedule that are dependent on the proxy task.
[0056] Note that in some cases, where there may be a "two way" dependency between the task in the first schedule and the tasks in the second schedule, where a task in the first schedule is dependent on a task in the second schedule, and a task in the second schedule is dependent on a task in the first schedule. In such cases, the system can create respective proxy tasks in both the first and second schedules, so that the dependency for each task in each schedule is to the proxy task in that same schedule, and the proxy tasks in each schedule can be updated according to changes in a corresponding task in the other schedule. [0057] The system stores the second schedule (step 425). As part of this step, the system can also store the first schedule.
[0058] Note that creating a proxy task does not necessarily automatically create dependencies or require creation of dependencies. In certain embodiments, the system can automatically create proxy tasks in response to a user creating cross schedule dependencies.
[0059] Unless otherwise described, the various processes, actions, and steps described above can be performed concurrently, sequentially, in a different order, or omitted in various embodiments. Various elements and steps described above can be combined differently or alternatively in other embodiments.
[0060] According to various embodiments, cross-schedule dependencies can be created between any schedules in the system using proxy tasks. Proxy tasks do not require a master schedule to create cross schedule dependencies, and does not require loading of both the schedules in its entirety to create cross schedule dependency. A proxy task can represent any type of task, milestone, phase, gate, schedule, or other event or object in the system, all referred to generically herein as "tasks". Proxy tasks can also be used to "mirror" tasks in sub-schedules from a master schedule. The system maintains security access rights of each task and their schedule including proxy tasks. The system can maintain corresponding drawing representations, for example, for a milestone proxy or a summary proxy.
[0061] In some embodiments, the system does not allow proxy tasks to be moved or edited directly, but instead they reflect the dates and attribute changes according to the "home" or original task. Proxy tasks can exist without a cross-schedule dependency existing.
[0062] Various embodiments include other PDM systems, methods, and mediums. For example, another method includes receiving a first schedule that includes at least a first task. The method includes creating a proxy task in a second schedule or in the same schedule. The proxy task corresponds to and is a substantial copy of the first task. The method includes creating a relation between the proxy task and the original task and creating a dependency between a proxy task and a normal schedule task. The method can include storing both the first and second schedule.
[0063] Those skilled in the art will recognize that, for simplicity and clarity, the full structure and operation of all data processing systems suitable for use with the present disclosure is not being depicted or described herein. Instead, only so much of a data processing system as is unique to the present disclosure or necessary for an understanding of the present disclosure is depicted and described. The remainder of the construction and operation of data processing system 100 may conform to any of the various current implementations and practices known in the art.
[0064] It is important to note that while the disclosure includes a description in the context of a fully functional system, those skilled in the art will appreciate that at least portions of the mechanism of the present disclosure are capable of being distributed in the form of instructions contained within a machine-usable, computer-usable, or computer- readable medium in any of a variety of forms, and that the present disclosure applies equally regardless of the particular type of instruction or signal bearing medium or storage medium utilized to actually carry out the distribution. Examples of machine usable/readable or computer usable/readable mediums include: nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), and user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD-ROMs) or digital versatile disks (DVDs). [0065] Although an exemplary embodiment of the present disclosure has been described in detail, those skilled in the art will understand that various changes, substitutions, variations, and improvements disclosed herein may be made without departing from the spirit and scope of the disclosure in its broadest form.
List of used reference numerals, glossary
100 data processing system, product data management data processing system; PDM data processing system
102 processor
104 cache/bridge
106 local system bus
108 main memory
110 graphics adapter
111 display
112 Local Area Network / Wide Area Network / Wireless adapter
114 expansion bus interface
116 input/output bus
118 keyboard/mouse adapter
120 disk controller
122 I/O adapter
124 audio adapter
130 network
140 server system
210 Schedule A
212 Task Al
214 Task A2
216 Task A3
218 ProxyTask Bl 220 Schedule B
222 TaskBl
224 Task B2 228 ProxyTask Al 240 cross-schedule dependency between tasks
250 ProxyTask Bl 218 pointing to Task Bl: Schedule B
260 dependency relationship between tasks in a schedule
305 receiving a first schedule
310 searching the first schedule for any tasks, searching for a specific task in the first schedule
315 selecting the task in the first schedule
320 creating a proxy task in second schedule
325 storing the second schedule
405 receiving a first schedule
410 receiving at least one second schedule
415 creating a proxy task in the second schedule corresponding to the task in the first schedule
420 create dependency relationships between the proxy task and the task in the first schedule
425 storing the second schedule
CAD Computer Aided Design
PDM product data management
PLM product lifecycle management

Claims

Claims
1. A method performed by a product data management (PDM) data
processing system (100), comprising:
receiving (305) a first schedule (210), the first schedule (210) including at least a first task (212);
creating (415) a proxy task (228) in a second schedule (220), the proxy task (228) corresponding to and being a copy of the first task (212);
creating (420) a dependency (260) between a second task (222) in the second schedule (220) and the proxy task (228) in the second schedule (220); and
storing (425) the second schedule (220).
2. The method of claim 1, wherein the first schedule (210) is a master schedule and the second schedule (220) is one of a plurality of sub-schedules.
3. The method of claim 1 or 2 , wherein the second schedule (220) is stored along with information referencing the first task.
4. The method of one of the claims 1 to 3, wherein the proxy task (218) is created in response to receiving a user dragging the first task (212) from the first schedule (210) and dropping it into the second schedule (220).
5. A product data management data processing system (100), comprising: at least one processor (102); and
an accessible memory, wherein the data processing system (100) is configured to
- receive a first schedule, the first schedule including at least a first task;
create a proxy task in a second schedule, the proxy task
corresponding to and being a substantial copy of the first task; and store the second schedule.
6. The data processing system (100) of claim 5, further configured to create a dependency between a second task in the second schedule and the proxy task in the second schedule.
7. The data processing system (100) of claim 5 or 6 , further configured to create a dependency between the proxy task and a second task in the second schedule.
8. The data processing system (100) of one of the claims 5 to 7, wherein the proxy task is created in response to receiving a user input.
9. The data processing system (100) of one of the claims 5 to 8, wherein the proxy task is created in response to receiving a user dragging the first task from the first schedule and dropping it into the second schedule.
10. The data processing system (100) of one of the claims 5 to 9, wherein the first schedule is a master schedule and the second schedule is one of a plurality of sub-schedules.
11. The data processing system (100) of one of the claims 5 to 10, wherein the second schedule is stored along with information referencing the first task.
12. A non-transitory computer-readable medium encoded with executable instructions that, when executed, cause a product data management data processing system (100) to:
receive a first schedule, the first schedule including at least a first task;
create a proxy task in a second schedule, the proxy task
corresponding to and being a substantial copy of the first task; and store the second schedule.
13. The computer-readable medium of claim 12, wherein the instructions cause the data processing system (100) to create a dependency between a second task in the second schedule and the proxy task in the second schedule.
14. The computer-readable medium of claim 12 or 13, wherein the instructions cause the data processing system to create a dependency between the proxy task and a second task in the second schedule.
15. The computer-readable medium of one of the claims 12 to 14, wherein the proxy task is created in response to receiving a user input.
16. The computer-readable medium of one of the claims 12 to 15, wherein the proxy task is created in response to receiving a user dragging the first task from the first schedule and dropping it into the second schedule.
17. The computer-readable medium of one of the claims 12 to 16, wherein the first schedule is a master schedule and the second schedule is one of a plurality of sub-schedules.
18. The computer-readable medium of one of the claims 12 to 17, wherein the second schedule is stored along with information referencing the first task.
PCT/US2012/033180 2011-04-29 2012-04-12 Cross-schedule dependencies using proxy tasks Ceased WO2012148681A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161480527P 2011-04-29 2011-04-29
US61/480,527 2011-04-29
US13/240,463 US20120278120A1 (en) 2011-04-29 2011-09-22 Cross-schedule dependencies using proxy tasks
US13/240,463 2011-09-22

Publications (1)

Publication Number Publication Date
WO2012148681A1 true WO2012148681A1 (en) 2012-11-01

Family

ID=47068652

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2012/033180 Ceased WO2012148681A1 (en) 2011-04-29 2012-04-12 Cross-schedule dependencies using proxy tasks

Country Status (2)

Country Link
US (1) US20120278120A1 (en)
WO (1) WO2012148681A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10664779B2 (en) * 2015-10-30 2020-05-26 International Business Machines Corporation Managing cross project dependencies in project management applications

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10528385B2 (en) 2012-12-13 2020-01-07 Microsoft Technology Licensing, Llc Task completion through inter-application communication
US9256553B2 (en) * 2014-03-26 2016-02-09 International Business Machines Corporation Transactional processing based upon run-time storage values
US9262343B2 (en) * 2014-03-26 2016-02-16 International Business Machines Corporation Transactional processing based upon run-time conditions
US9658893B2 (en) * 2015-05-06 2017-05-23 Runtime Design Automation Multilayered resource scheduling
CN107133086B (en) 2016-02-29 2020-09-04 阿里巴巴集团控股有限公司 Distributed system-based task processing method, device and system
US20180129994A1 (en) * 2016-11-06 2018-05-10 Microsoft Technology Licensing, Llc Efficiency enhancements in task management applications
US10607484B2 (en) * 2017-12-28 2020-03-31 Intel Corporation Privacy-preserving distributed visual data processing
DE112018006630T5 (en) 2017-12-28 2020-09-24 Intel Corporation VISUAL FOG
US11205146B2 (en) * 2020-02-14 2021-12-21 Atlassian Pty Ltd. Computer implemented methods and systems for project management
USD1019696S1 (en) 2020-02-14 2024-03-26 Atlassian Pty Ltd. Display screen or portion thereof with graphical user interface

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020040304A1 (en) * 2000-10-02 2002-04-04 Subrao Shenoy Methods and systems for creating and managing capital asset business exchanges
US20040078258A1 (en) * 2002-07-31 2004-04-22 Karsten Schulz Transformations between private and shared workflows
WO2007094816A2 (en) * 2005-07-12 2007-08-23 Apacheta Corporation Methods and apparatuses to provide mobile applications

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974391A (en) * 1994-07-12 1999-10-26 Fujitsu Limited Device and method for project management
US5923552A (en) * 1996-12-31 1999-07-13 Buildnet, Inc. Systems and methods for facilitating the exchange of information between separate business entities
US20060136441A1 (en) * 2002-04-02 2006-06-22 Tetsunosuke Fujisaki Method and apparatus for synchronous project collaboration
US7734690B2 (en) * 2003-09-05 2010-06-08 Microsoft Corporation Method and apparatus for providing attributes of a collaboration system in an operating system folder-based file system
US7496886B2 (en) * 2004-09-30 2009-02-24 Microsoft Corporation Method and system for providing cross project commitments
US8302096B2 (en) * 2004-11-12 2012-10-30 Sap Ag Methods and systems to perform individual tasks as a composite task
US8286183B2 (en) * 2005-10-22 2012-10-09 Cisco Technology, Inc. Techniques for task management using presence
US8799043B2 (en) * 2006-06-07 2014-08-05 Ricoh Company, Ltd. Consolidation of member schedules with a project schedule in a network-based management system
US8352498B2 (en) * 2008-05-16 2013-01-08 Ricoh Company, Ltd. Managing to-do lists in a schedule editor in a project management system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020040304A1 (en) * 2000-10-02 2002-04-04 Subrao Shenoy Methods and systems for creating and managing capital asset business exchanges
US20040078258A1 (en) * 2002-07-31 2004-04-22 Karsten Schulz Transformations between private and shared workflows
WO2007094816A2 (en) * 2005-07-12 2007-08-23 Apacheta Corporation Methods and apparatuses to provide mobile applications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10664779B2 (en) * 2015-10-30 2020-05-26 International Business Machines Corporation Managing cross project dependencies in project management applications

Also Published As

Publication number Publication date
US20120278120A1 (en) 2012-11-01

Similar Documents

Publication Publication Date Title
US20120278120A1 (en) Cross-schedule dependencies using proxy tasks
US9177082B2 (en) Drawing automation in computer aided design systems
US20140297230A1 (en) System and method for handling plant engineering data
RU2668787C1 (en) Systems and methods for the machine post-processor configurator
US9697303B2 (en) Rule-based constraint interaction in geometric models
US8812660B2 (en) Workflow processes and systems
EP2702507B1 (en) Selective locking of object data elements
US20150339410A1 (en) Cad components with overlay data
EP2553616B1 (en) System and method for constraining curves in a cad system
US20140089817A1 (en) Distributed systems and methods for collaborative creation and modification of geometric models
US9998462B2 (en) Asynchronous design data exchange with external users
US20120278277A1 (en) Object-based models in document management
JP6494665B2 (en) Intelligent constraint selection for positioning tasks
EP2953075A1 (en) Asynchronous design data exchange with external users
JP6338696B2 (en) How to generate and edit large constraint networks
US20160125329A1 (en) System and method for configuration-managed lifecycle diagrams

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12716925

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12716925

Country of ref document: EP

Kind code of ref document: A1