WO1999063464A1 - Method and system for managing collaboration within and between enterprises - Google Patents

Method and system for managing collaboration within and between enterprises Download PDF

Info

Publication number
WO1999063464A1
WO1999063464A1 PCT/US1999/012345 US9912345W WO9963464A1 WO 1999063464 A1 WO1999063464 A1 WO 1999063464A1 US 9912345 W US9912345 W US 9912345W WO 9963464 A1 WO9963464 A1 WO 9963464A1
Authority
WO
WIPO (PCT)
Prior art keywords
collaboration
enterprise
enterprises
hub
work flow
Prior art date
Application number
PCT/US1999/012345
Other languages
French (fr)
Inventor
Ranjit N. Notani
Abhay V. Parasnis
Mark B. Whipple
Original Assignee
I2 Technologies, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/092,348 external-priority patent/US6119149A/en
Application filed by I2 Technologies, Inc. filed Critical I2 Technologies, Inc.
Priority to EP99935288A priority Critical patent/EP1082688A1/en
Priority to AU50798/99A priority patent/AU5079899A/en
Priority to CA002333737A priority patent/CA2333737A1/en
Priority to KR1020007013736A priority patent/KR20010052567A/en
Priority to JP2000552608A priority patent/JP2002517826A/en
Publication of WO1999063464A1 publication Critical patent/WO1999063464A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/10Office automation; Time management

Definitions

  • This invention relates in general to the field of supply chain, enterprise and site planning and, more particularly, to a system and method for managing a collaboration within or between enterprises.
  • Supply chain, enterprise and site planning applications and environments are widely used by manufacturing entities for decision support and to help manage operations.
  • Decision support environments for supply chain, enterprise, and site planning have evolved from single-domain, monolithic environments to multi- domain, monolithic environments.
  • Conventional planning software applications are available in a wide range of products offered by various companies. These decision support tools allow entities to more efficiently manage complex manufacturing operations.
  • supply chains are generally characterized by multiple, distributed and heterogenous planning environments. Thus, there are limits to the effectiveness of conventional environments when applied to the problem of supply chain planning due to monolithic application architectures. Further, these problems are exacerbated when there is no one "owner" of the entire supply chain.
  • decision support software such as 12 TECHNOLOGIES' RHYTHM family of products
  • optimal decisions are relative to the domain of the decision support where the domain is the extent of the "world” considered in arriving at the decision.
  • the decision being made may be how much of a given item a factory should produce during a given time period.
  • the "optimal" answer depends on the domain of the decision.
  • the domain may be, for example, just the factory itself, the supply chain that contains the factory, the entire enterprise, or the multi-enterprise supply chain. (The latter two can be considered to be larger domains or multiple domains.)
  • the larger the domain of the decision support the more optimal the decision will be. Consequently, it is desirable for decision support software to cover ever larger domains in the decision making process. Yet, this broadening of coverage can create significant problems.
  • a system and method for managing collaborations within and between enterprises is provided that substantially eliminate or reduce disadvantages and problems associated with previously developed systems and methods.
  • the present invention provides a computer implemented method for managing collaborations across multiple nodes of one or more enterprises.
  • a computer implemented process for managing a distributed work flow includes storing a set of predefined functions for a work flow to be performed at a plurality of distributed nodes.
  • the computer process automatically interacts with the work flow at each of the distributed nodes to perform the predefined functions.
  • a computer implemented process for designing and generating a collaboration between a plurality of enterprises includes receiving a preliminary collaboration design from a first enterprise.
  • the preliminary collaboration design is automatically transmitted to a predefined second enterprise for review.
  • a response to the preliminary collaboration design is received from a second enterprise.
  • the response is automatically transmitted to the first enterprise for review.
  • a computer implemented process for deploying a collaboration to a plurality of enterprises includes initially receiving a collaboration.
  • a predefined first part of the collaboration is automatically transmitted to a predefined first enterprise.
  • a predefined second part of the collaboration is automatically transmitted to a predefined second enterprise for operation.
  • a computer implemented process for tracking a collaboration across a plurality of enterprises includes automatically querying a first node of a first enterprise for a predefined first set of data associated with the operation of collaboration at the first node.
  • the first set of data is automatically transmitted to a monitoring system.
  • a second node of a second enterprise is automatically queried for a predefined second set of information associated with the operation of the collaboration at the second node.
  • the second set of information is automatically transmitted to the monitoring system.
  • FIGURE 1 is a diagram of one embodiment of a computer implemented architecture that can support enterprise collaboration
  • FIGURE 2 is a diagram of one embodiment of components of a global collaboration framework
  • FIGURE 3 is a diagram of the global collaboration framework of FIGURE 2 where certain software elements that make up particular modules are highlighted;
  • FIGURE 4 is a block diagram of one embodiment of a system allowing collaboration within and between enterprises for optimal decision making ;
  • FIGURE 5 is a block diagram of one embodiment of the use of a global collaboration workspace
  • FIGURE 6 is a diagram of one embodiment of a life cycle for a collaboration
  • FIGURE 7 is a diagram of situations where common software is present on both sides of a relationship and where it is not;
  • FIGURE 8 is a block diagram of one embodiment of a security configuration for a hub-to-spoke and hub-to-web case
  • FIGURE 9 is a block diagram of one embodiment of a security configuration for a hub-to-hub case
  • FIGURE 10 is a diagram of one embodiment of designing an inter-enterprise work flow that includes parameterization over groups;
  • FIGURE 11 is a diagram of one embodiment of managing change be modifying a design of a work flow
  • FIGURE 12 is a diagram of one embodiment of integration of a work flow with the outside world
  • FIGURE 13 is a diagram of one embodiment of a data flow running in a single activity
  • FIGURE 14 is a diagram of one embodiment of a data flow split across multiple activities
  • FIGURE 15 is a block diagram of one embodiment of an common data model based transformation model
  • FIGURE 16 is a diagram of one embodiment of a direct transformation
  • FIGURE 17 is a diagram of one embodiment of different access and transformation levels
  • FIGURE 18 is a diagram of one embodiment of substituting a hub engine for a spoke engine within a collaboration
  • FIGURE 19 is a flow diagram illustrating a computer implemented process for generating a collaboration between a plurality of enterprises in accordance of one embodiment of present inventions
  • FIGURE 20 is a flow diagram illustrating a computer implemented process for deploying a collaboration to a plurality of enterprises in accordance with one embodiment of the present invention.
  • FIGURE 21 is a flow diagram illustrating a computer implemented process for monitoring a collaboration across a plurality of enterprises in accordance with one embodiment of present inventions.
  • Improvement of decision support processes involves expansion to provide enterprise level and multi-enterprise level decision support for optimal decision making.
  • Providing decision support in multi-domain situations can be accomplished by pursuing a collaborative approach to decision support rather than a coercive one.
  • Various communication and distributed processing technologies can be used to implement such an environment, including the Internet, the Web, JAVA, XML, CORBA, etc., which help make large scale collaborative decision making feasible.
  • Products will soon be available from 12 TECHNOLOGIES that enable a collaborative approach to decision support, including RHYTHM-GLOBAL COLLABORATION MANAGER (GCM) and RHYTHM-GLOBAL COLLABORATION DESIGNER (GCD) .
  • GCM RHYTHM-GLOBAL COLLABORATION MANAGER
  • GCD RHYTHM-GLOBAL COLLABORATION DESIGNER
  • FIGURE 1 is a diagram of one embodiment of a computer implemented architecture that can support enterprise collaboration.
  • a global decision support architecture can be built upon underlying link, vision, global messaging and data warehouse components.
  • Collaboration can then involve a global collaboration designer (GCD) and a global collaboration manager (GCM) supported by the decision support architecture.
  • GCD global collaboration designer
  • GCM global collaboration manager
  • the global collaboration designer can be used to design and instantiate collaborations, and the global collaboration manager can be used to run the collaborations.
  • collaborations can be referred to as modules and can be versioned.
  • FIGURE 2 is a diagram of one embodiment of components of a global collaboration framework.
  • the framework can allow an hub enterprise 2 to collaborate with a spoke enterprise 4 and a web enterprise 6.
  • Hub enterprise 2 and spoke enterprise 4 each include a global collaboration manager 8.
  • Global collaboration managers 8 are coupled to and communicate with respective internal global collaboration workspaces 10.
  • An external global collaboration workspace 12 provides a means for sharing data between hub enterprise 2, spoke enterprise 4 and web enterprise 6.
  • Hub enterprise 2 can also collaborate through an electronic data interchange (EDI) processor 14 with a value added network (VAN) .
  • EDI electronic data interchange
  • VAN value added network
  • hub enterprise 2 can communicate and collaborate with other hub enterprises using a global message bus 15.
  • the primary controller of the collaboration can be the GCM engine 8 of hub enterprise 2.
  • the hub-to-hub relationship can be facilitated by the global message bus 15, and the hub-to-spoke and hub-to-web relationships can be facilitated by external global collaboration workspace (GCW) 12.
  • GCW global collaboration workspace
  • a hub enterprise 2 can generally have an internal GCW 10 and an external GCW 12.
  • Internal GCW 10 can be used to share and exchange data with internal user interfaces as well as EDI processor 14.
  • External GCW 12 can be used to share and exchange data with spoke enterprises 4 and web enterprises.
  • external GCW 12 can be installed in a DMZ or outside a corporate firewall of hub enterprise 2. This way no direct connections need to be made from the outside into the protected corporate network of hub enterprise 2.
  • External GCW can accept, for example, HOP, HTTP and HTTPS connections.
  • HOP HyperText Transfer Protocol
  • HTTP HyperText Transfer Protocol
  • HTTPS HyperText Transfer Protocol Secure
  • FIGURE 3 is a diagram of the global collaboration framework of FIGURE 2 where certain software elements that make up particular modules are highlighted. As can be seen, software for the global collaboration manager module can be present in the following places: in the hub engine
  • the module can communicate with native applications 17 on the hub enterprise 2 and spoke enterprise 4. Communications with native applications 17 can be either synchronous (dot line) or asynchronous (solid line) . Asynchronous communication with native applications 17 can be facilitated by the internal GCW's 10, as shown. Further, a global series database (GSDB) can be present on the hub enterprise 2 side.
  • GSDB global series database
  • FIGURE 4 is a block diagram of one embodiment of a system, indicated generally at 16, allowing collaboration within and between enterprises for optimal decision making.
  • system 16 includes a hub node 18 which can be a process within a hub engine executing on a computer system.
  • Hub node 18 is coupled to and communicates with a spoke node 20 which also can be a process within a hub engine executing on a computer system.
  • spoke node 20 can be outside an enterprise boundary 22 of hub node 18.
  • Hub node 18 is also coupled to and communicates with a plurality of spoke nodes 24 which can be processes within a spoke engine executing on one or more computer systems.
  • Hub node 18 can further be coupled to and communicate with a plurality of web nodes 26 which can be processes within a web browser executing on a computer system.
  • hub node 18 is coupled to and communicates with an EDI (Electronic Data Interchange) proxy 28 which can provide a gateway to EDI systems.
  • EDI Electronic Data Interchange
  • Hub engines and spoke engines can be the primary entities of a global collaboration manager.
  • a hub engine is the primary controller of the collaboration.
  • the hub engine can coordinate both global collaborations as well as local collaborations.
  • Global collaborations are those that span hub nodes 18, spoke nodes 20 and 24 and web nodes 26.
  • a local collaboration can run on any single role - hub or spoke/spoke group. These collaborations can be distributed, but stay within the confines of a single enterprise.
  • Hub engines can also coordinate with hub-user interfaces (UP) as well as the VAN-EDI processor of an EDI proxy 28.
  • hub engines are multi-threaded engines that can simultaneously coordinate multiple collaborations as well as multiple versions of the same collaboration. Further, the hub engines can dynamically load and execute collaborations.
  • a spoke engine can also operate to initiate a collaboration.
  • a spoke engine is not an independent entity. Instead a spoke engine can only coordinate a collaboration in conjunction with a hub engine. Furthermore, a spoke engine can not coordinate with other spoke engines or other web-nodes. Like a hub engine, a spoke engine can be multi-threaded and can simultaneously coordinate multiple collaborations as well as multiple versions of the same collaboration. Spoke engines can also dynamically load and execute collaborations.
  • FIGURE 5 is a block diagram of one embodiment of the use of a global collaboration workspace 30. In FIGURE 5, global collaboration workspace 30 provides the primary entity used to share data/objects between the various entities in the collaboration.
  • workspace 30 can interface with global collaboration managers (GCMs) 32, a local system 34, a web server 36 and web interface 37 and native applications 38.
  • GCMs global collaboration managers
  • objects can be placed into global collaboration workspace 30 by one entity and retrieved by another entity. Retrieval can be achieved either by querying or by subscription.
  • global collaboration workspace 30 combines the attributes of a database as well as a message bus.
  • the global collaboration workspace can be organized as a hierarchy of slots which can be in-memory or persistent. Slots also can be queued or regular, and fine grained permissibilities can be attached to each slot. The permissibilities can be assigned by-user-by-operation. The primary operations can be read, write, take, and subscribe.
  • In-memory slots hold their data in volatile memory. Writing and retrieval from in-memory slots is very fast but subject to loss if the global collaboration workspace 30 goes down.
  • the global collaboration workspace 30 can be considered a fast, secure, in-memory object database, with security and messaging capabilities. Persistent slots hold their data in stable storage. Writing and retrieval from persistent slots is slower than for in-memory slots, but data is not lost if the global collaboration workspace 30 goes down. The decision as to whether to use in-memory or persistent slots can depend on the application.
  • Global collaboration workspace 30 stores data in the form of objects and can store Java Objects, CORBA objects or arbitrary byte arrays.
  • global collaboration workspace 30 appropriate as a high-speed data sharing mechanism between other object-oriented in-memory engines such as 12 TECHNOLOGIES' SUPPLY CHAIN PLANNER and FACTORY PLANNER.
  • a global collaboration designer provides a tool to allow collaboration designers to interactively design, instantiate and deploy collaborations to be run using the global collaboration manager.
  • the output of the global collaboration designer is code that can be automatically loaded and run by the global collaboration manager.
  • the global collaboration designer can allow designers to create new collaborations, retrieve existing collaborations, and version collaborations.
  • the global collaboration designer can also allow designers to design the hub and spoke network for collaborations and design the events and messages of the collaboration.
  • the global collaboration designer can integrate a standard object library and a standard component library for easy usage from within the global collaboration designer.
  • the global collaboration designer can be used to create sophisticated multi-enterprise workflows with synchronous, asynchronous, sub-work flow, and-splits, or-splits, synchronization-joins, heterocast-splits, heterocast-joins etc.
  • Global workflows and local workflows can both be created.
  • the global collaboration designer can provide automatic verification of collaborations and automatic code generation, which code is run by the global collaboration manager. The generated code can be manually edited if desired. Further, the global collaboration designer can provide instantiation of a collaboration including generation of security manager configurations and global collaboration workspace configurations.
  • FIGURE 6 is a diagram of one embodiment of a life cycle for a collaboration.
  • a collaboration can be designed using the global collaboration designer.
  • a collaboration can be instantiated using the global collaboration designer.
  • the instantiated collaboration can then be deployed, in step 44, using the global collaboration designer and the global collaboration manager.
  • the collaboration can be run using the global collaboration manager in step 46.
  • a new instance can be created or a new version of the collaboration can ve created.
  • the flow returns to step 42.
  • the global collaboration designer can be used in step 48 to modify the collaboration.
  • semantic standards are the way in which the semantic content of the data is described. Examples include EDI, 12 COMMON DATA MODEL (CDM) .
  • EDI is primarily a semantic standard, but also typically implies a format standard (the EDI file format) and a transport (a Value Added Network) .
  • EDI semantic standard can be separated from the other two.
  • semantic EDI objects can be encoded in other formats such as Java Serial Streams and can be passed over other transport standards such as HTTP.
  • XML is primarily a format standard that can be used to encode various semantic standards.
  • XML XML
  • EDI EDI
  • Java Serial Streams referred to as Java format and not to be confused with the Java Language or Java Platform
  • HOP Serial Streams HOP Serial Streams.
  • the Java format is the primary format, and the rest are derived formats. Because the Java Format can contain the behavior to produce the other formats, it has been chosen as the primary format.
  • XML, EDI and HOP formats can be derived from the Java Format.
  • FIGURE 7 is a diagram of situations where common software from 12 TECHNOLOGIES' is present on both sides of a relationship and where it is not.
  • RHYTHM GLOBAL COLLABORATION MANAGER is on both sides, nothing is to be gained by converting to an intermediate format. This would introduce needless inefficiency, and only data (not objects) would be exchangeable, limiting the range of applications. Hence when the same software is present on both sides, binary Java objects can be directly exchanged.
  • RHYTHM GLOBAL COLLABORATION MANAGER is present only on one side, XML or EDI-formatted "objects" can be produced (outbound) and interpreted (inbound) .
  • the present global collaboration manager can support a variety of transport standards, including HTTP, HOP, and Asynchronous Message Buses. More details are provided below with respect to Handling Multiple Relationship Types.
  • the present global collaboration manager can primarily support two semantic standards, EDI and RHYTHM-CDM.
  • EDI can be supported because it is generally the most popular semantic standard. However it suffers from the drawback (amongst others) of not providing deep coverage of the planning domain.
  • the RHYTHM-CDM provides deep coverage of the planning domain and will provide appropriate constructs for performing multi-enterprise decision support. Additionally, this format is supported by all of 12 TECHNOLOGIES' planning engines.
  • RHYTHM-GCD a community of enterprises can devise a set of standards that are relevant to that community only.
  • RHYTHM-GCM will support and enforce these proprietary community standards.
  • RHYTHM-GCD also supports a library of building block objects that can be composed into proprietary community standards.
  • Proprietary community standards have a number of advantages, including: they can be designed to exactly cover the kinds of data/objects that enterprises would like to exchange; only the relevant parties need to agree upon the particular standard, hence the process will be much quicker than waiting for a standards body; different standards can be developed for different categories of partners and, in the extreme case, a different standard for each partner; and standards that give the supply chain a competitive advantage over competitors can be developed.
  • Enterprises have relationships of various types with their partners. Some ways relationships can vary are: between major trading partners on the one hand and between minor trading partners on the other; between enterprises of roughly equal influence over the supply chain and between enterprises of unequal influence over the supply chain; and between enterprises with a high degree of technological sophistication on the one hand and between enterprises with an unequal degree of technological sophistication on the other. As should be understood, these different relationship types should be handled differently.
  • the present global collaboration manager can model enterprise relationships as a hub and spoke network, as described above and shown in FIGURE 4. In this embodiment, the four types of relationships are: Hub-to-Web; Hub-to-Van-EDI; Hub-to-Spoke and Hub-to-Hub. Each relationship-type has its appropriate usage.
  • Hub-to-Web when people speak of E-Commerce today, they often imply an architecture where a web browser talks to some centralized server.
  • This architecture has some advantages: the infrastructure to support this architecture is typically already in place; and all administration can be centralized on the server side.
  • this architecture also has a big disadvantage in that it requires the presence of a human on the web-browser side. Hence system-to-system automation is not possible. Based on these and other pros and cons, this relationship type can be appropriate when an enterprise needs to exchange data with either a minor partner or a partner with less technological sophistication.
  • Hub-to-VAN-EDI the vast majority of electronic inter-enterprise commerce takes place today by sending EDI over Value Added Networks .
  • the hub-to-spoke relationship can have advantages vis-a-vis VAN-EDI: it can use the public Internet to reduce network costs; administrative costs are much lower than VAN-EDI because a large portion of the hub-to-spoke relationship infrastructure can be centrally deployed and administered; true objects (in addition to just data) can be exchanged allowing for much more advanced collaborations; and multiple semantic standards can be supported including EDI, I2-CDM and Proprietary Community Standards.
  • the hub-to-spoke relationship can be appropriate between enterprises that wish to perform sophisticated system-to-system collaboration. It can also be appropriate where no 12 TECHNOLOGIES' software is present in either of the enterprises. This is because the hub-to-spoke relationship can be centrally deployed by the hub enterprise.
  • hub-to-hub With respect to hub-to-hub, the relationship is similar to hub-to-spoke except that it takes place between two hub engines rather than a hub and a spoke engine. Based on this characteristic, the hub-to-hub relationship can be appropriate between enterprises that wish to perform sophisticated system-to-system collaboration. Further, the hub-to-hub relationship can be appropriate when two enterprises have individually and separately purchased RHYTHM-GCM and have set up hub engines.
  • hub engines There are differences between hub engines and spoke engines.
  • a hub engine's capabilities are a superset of a spoke engine's capabilities.
  • the following table provides an example of some of the differences.
  • Internal-User Supports a single Supports multiple Roles . internal-user role. internal- user roles .
  • a secure collaborative framework can be provided by implementing a comprehensive security strategy to address the above requirements.
  • the strategy has three different aspects to it: technological security, a permissibility framework and data partitioning.
  • Technological security can refer to the technological means used to guarantee security. This security can be used to provide: privacy, authentication and data integrity. Privacy ensures that no unauthorized person can see the data. Authentication involves authenticating that the parties in the collaboration are really who they claim to be. Data Integrity involves making it impossible for an unauthorized person to modify data being sent in any fashion. The precise security approach can vary based on the relationship type described earlier. For example, one scheme is detailed in the table below:
  • SSL 3.0 is an industry standard protocol used to support public key encryption over a socket-based connection and provides: privacy, client as well as server authentication, data integrity and certificate management.
  • SSL 3.0 is a higher level protocol into which several public-key cryptography algorithms can be plugged including RSA and Diffie-Helman.
  • username-password authentication This provides authentication beyond what SSL 3.0 itself provides.
  • Passwords can be stored using PKCS5 password-based encryption (an RSA standard) .
  • PKCS5 password-based encryption an RSA standard
  • This access token has an administrator-specifiable lifetime. A user can then access the system for the duration of validity of the access token. This has the beneficial effect of not requiring authentication on each access.
  • Each application which is accessed authenticates the access token by validating the signature (which is a digest encrypted using the Security Manager's private key) of the Security Manager.
  • the technological security framework is a portion of the security scheme. The other portion has to do with the design of the collaborations themselves.
  • the framework should allow enterprises to easily attach permissibilities to various actions that other enterprises can perform on it.
  • the global collaboration workspace can support a hierarchical permissibility model with individual permissibilities attached to different data elements in the hierarchy. In particular, it can support user-specific and spoke-specific read, write, take and subscribe permissibilities. Hence, enterprises can finely tune who can read what data, who can write what data, who can take what data and who can subscribe to write-notifications on what data.
  • a third element in the collaboration framework security strategy is the ability to partition data across various collaborative workspaces.
  • the collaborative workspaces are split into an internal collaborative workspace and an external collaborative workspace. Only data that needs to be truly shared with partners is in the external collaborative workspace. The rest is in the internal collaborative workspace.
  • the external collaborative workspace is designed to sit either outside the corporate firewall or in an Extranet or DMZ .
  • the collaboration framework design does not require the external collaborative workspace to make connections through the corporate firewall into the Intranet (although it could) .
  • FIGURE 8 is a block diagram of one embodiment of a security configuration for a hub-to-spoke and hub-to-web case.
  • a hub enterprise 50 is coupled to and communicates with an internal global collaboration workspace 52 and an external global collaboration workspace 54.
  • a spoke enterprise 56 and a web enterprise 58 connect through a web server 60 to the external global collaboration workspace 54.
  • Spoke enterprise 56 like hub enterprise 50, has an internal global collaboration workspace 62.
  • FIGURE 9 is a block diagram of one embodiment of a security configuration for a hub-to-hub case.
  • a hub enterprise 64 and a hub enterprise 66 can communicate across an SSL 3.0 protected TCP/IP connection. The communication can be between separate global message brokers 68 and 69. Both hub enterprises 64 and 66 are protected by a firewall, as shown.
  • Inter-Enterprise Workflows One of the problems with multi-enterprise decision support can be that there is no closed loop collaboration. Instead, data may be lobbed from one enterprise to the next with no coherent work flow. In order to implement closed loop collaboration, support for creating multi-enterprise workflows is necessary. The present global collaboration manager and designer can make it possible to construct, deploy, monitor and change sophisticated multi-enterprise workflows .
  • a "work flow” can be a set of “activities” joined together by data flows that together accomplish some task. Workflows are typically executed on work flow engines.
  • a “distributed work flow” can refer to a work flow that is executed on multiple work flow engines. In other words, different portions of the work flow execute on different engines.
  • a “node” can refer the abstract entities on which different work flow engines of a distributed work flow run, and a “node group” can be a set of nodes grouped by some characteristic.
  • a "multi- enterprise distributed work flow” can be distributed workflows where the nodes are enterprises.
  • a "parametric work flow” is a work flow that is parameterized over some variable and can be regular or distributed. Instantiating the parametric work flow with different values of the parameter variable (s) produces different instances of the work flow.
  • a "distributed work flow parameterized over nodes in a node group” can refer to distributed workflows where the parameters of the work flow are the nodes in a node group. Hence, when the work flow is instantiated it is tailored to a particular node in a node group.
  • workflows parameterized over groups Another important feature is support for workflows parameterized over groups.
  • Some multi-enterprise workflows involve a large number of enterprises. In such cases it can become impractical to create individualized workflows for each partner. Instead it can be advantageous to create workflows that are parameterized over groups of partners.
  • two groups may be primary suppliers and secondary suppliers.
  • the primary suppliers group could have one type of work flow
  • the secondary suppliers group could have another type of work flow.
  • Group-based workflows can be parametric in the sense that, at run time, an actual work flow can be created specific to a member of a group.
  • an enterprise may collaborate, for example, with potentially hundreds or thousands of other enterprises.
  • HETEROCASTING work flow definition technique generally involves using a parameterized work flow definition to instantiate heterogeneous workflows based upon differences in the parameters.
  • the HETEROCASTING definition technique allows a non-parametric distributed work flow to be easily (through a visual design tool) be made parametric over nodes in a node group.
  • FIGURE 10 is a diagram of one embodiment of designing an inter-enterprise work flow that includes parameterization over groups.
  • the work flow can begin with a listening activity 70 that waits for some event.
  • Activity 70 can be linked to parallel activities 71 that links to a sub-work flow 72 and to a heterocast split 73.
  • Sub-work flow itself, can include a work flow definition.
  • HETEROCASTING the work flow after heterocast split 73 then becomes parameterized.
  • activity 74 is a parameterized activity.
  • a heterocast join 75 receives flow from activity 74.
  • Sub-work flow 72 and heterocast join 75 are linked to a synchronous or asynchronous join 76 which, in turn, links to an integrated event 77 (e.g., multicasting).
  • a work flow like that of FIGURE 10 can be designed using the present global collaboration designer and can allow full representation of work flow for inter-enterprise decision support. This work flow can then be instantiated and implemented through the present global collaboration manager.
  • FIGURE 11 is a diagram of one embodiment of managing change be modifying a design of a work flow.
  • an initial work flow design can have an event 70 linked to a parallel activity split 71. Between activity split 71 and a join 76, there can be, for example, two activities 78.
  • This work flow once designed, can be instantiated and implemented using the global collaboration manager. If a change needs to be made to the work flow, the global collaboration designer greatly alleviates the trouble of making the change. For example, a new activity 79 can be added between split 71 and join 76. The work flow can then be centrally reinstantiated and implemented.
  • the HETEROCAST technique can allow the construction of distributed workflows parameterized over nodes in a node group. This can allow a huge productivity gain over designing individual workflows for individual group members. Further, this technique makes rapid design and prototyping of sophisticated inter-enterprise workflows with hundreds or thousands of partners feasible.
  • the technique should be distinguished from conventional "multicasting" in which identical messages are sent out to the various nodes (partners). In essence, multicasting allows you to design a single work flow that runs identically across multiple nodes. This differs from the HETEROCASTING technique, where the workflows run differently based on which node they are running across.
  • Role-based workflows allow workflows to be specified using generic roles. This capability allows the creation of generic or templated workflows that can be instantiated in various scenarios.
  • the role types can be: partner roles, spoke roles; spoke group roles; web roles; web group roles; user roles.
  • partner roles refer to the different roles played by partners.
  • one partner role in the case of procurement is primary supplier and secondary supplier.
  • Role-based workflows can lead to the concept of three different phases in the design and execution of a work flow.
  • the design phase is the phase in which role-based workflows are defined.
  • the instantiation phase is the phase in which roles are mapped to instances. For example, primary supplier may be mapped to a first company, and PO_approver may be mapped to John Doe.
  • Third, the run time phase can be the phase in which the instantiated work flow runs .
  • workflows can often be described as having two varieties: automated system-to-system workflows, and user interface workflows. While there are workflows that are completely automated, and there are workflows that are completely user driven, most workflows have automated as well as user interface elements. The present global collaboration manager and designer do not need to make this artificial distinction between work flow types. Hence, the workflows can be automated in parts and interact with users in other parts. Both the automated parts and user parts can span multiple enterprises.
  • FIGURE 12 is a diagram of one embodiment of integration of a work flow with the outside world.
  • sophisticated inter- and intra-enterprise workflows can be created. These workflows can be composed of activities strung together in various configurations. There is no restriction on what the different activities of the work flow can do, yet one of the major tasks of these activities is to integrate with the outside world.
  • FIGURE 12 shows how a work flow can be integrated with the outside world using a component-based approach to integration.
  • the components can include accessors 80, transformations 82, transfer objects 84, adaptors and flows 86.
  • the global collaboration manager can support a component-based integration model.
  • the component-based integration model allows flexibility in structuring the integration. There can be two types of components: primitive components and compound components .
  • Primitive components can include accessors 80, transformers 82 and transfer objects 84.
  • Compound components include adaptors and flows 86. Compound components are built in terms of primitive components.
  • accessors 80 are used to access an external source such as SCP (SUPPLY CHAIN PLANNER) , SAP, a relational database, web servers, email, message buses etc.
  • Accessors 80 can be used to read, write or listen to sources and destinations of data.
  • Transformers 82 can be used to transform data from one form to another form.
  • Transfer Objects 84 are objects that can be passed from activity to activity or from enterprise to enterprise. Transfer objects 84 can be optionally convertible to EDI, XML, CORBA structures etc.
  • Accessors 80 and Transformers 82 can be strung together to form flows. An entire flow can be executed in a single activity as shown in FIGURE 13.
  • FIGURE 13 is a diagram of one embodiment of a data flow running in a single activity 92.
  • a data source 90 can be accessible from and provide data to an accessor component 94.
  • Accessor component 94 then can pass data through transformer components 96 and 98 which provide data to a second accessor component 100. Data can then be stored in a data destination 102.
  • FIGURE 14 is a diagram of one embodiment of a data flow split across multiple activities 104 and 106. As shown, the flow of FIGURE 14 differs from that of FIGURE 13 in that transformer components 96 and 98 are within separate activities 104 and 106 and communicate by a transfer object. Multi-enterprise data flows can be based on the model of FIGURE 14 rather than that of FIGURE 13.
  • 12- CDM based transformations are based on 12 TECHNOLOGIES' COMMON DATA MODEL (CDM) .
  • CDM is an abstract schema that is available in both relational and object forms.
  • FIGURE 15 is a block diagram of one embodiment of an I2-CDM based transformation model.
  • transformers and accessors can be coupled to transform a application data into a CDM data object 110 and vice versa.
  • a SUPPLY CHAIN PLANNER (SCP) object 112 can be created by an SCP accessor from SCP data 114.
  • SCP object 112 can then be transformed by an SCP-CDM transformer into a CDM object 110.
  • an SAP object 116 can be created by an SAP accessor from SAP data 118.
  • SAP object 116 can then be transformed by an SAP-CDM transformer into a CDM object 110.
  • SAP accessor and transformer can be combined into a standard SAP-CDM adapter 120 that can be used for CDM-based transformations other components.
  • a BAAN object 122 can be created by a BAAN accessor from BAAN data 124.
  • BAAN object 122 can then be transformed into a CDM object 110 by a BAAN-CDM transformer. These transforms work in the other direction as well.
  • FIGURE 16 is a diagram of one embodiment of a direct transformation.
  • objects are converted from one form to another without passing through an intermediate format.
  • SUPPLY CHAIN PLANNER (SCP) data 130 can be accessed by an SCP accessor to create an SCP object 132.
  • SCP object 132 can then be directly transformed to a FACTORY PLANNER (FP) object 134.
  • FP object 134 can then become FP data 136 through an FP accessor. This data flow can operate in the other direction as well.
  • FIGURE 17 is a diagram of one embodiment of different access and transformation levels.
  • access and transformation can have three levels.
  • a first level 140 can involve table access and transforms.
  • a second level 142 can involve generic object (tree, graph, etc.) access and transforms, and a third level can involve specific object (build-of-materials, plan, etc.) access and transforms.
  • hub-to-web has all the deployability characteristics of traditional web applications.
  • Hub-to-VAN EDI can be deployable to the extent that it leverages an existing VAN-EDI infrastructure. While the hub-to-web relationship is highly deployable, it can suffer from the problem of requiring a human on the web side of the relationship. In other words, it may not be suited to system-to-system collaboration.
  • the hub-to-spoke solution can provide maximal deployability in the system-to-system collaboration environment.
  • the spoke engine is analogous to the web browser
  • the spoke portion of the collaboration is analogous to a web page or applet.
  • the spoke portion of the collaboration can be centrally designed and deployed to the remote spoke engines.
  • This remote integration may be unavoidable but can be circumscribed and precisely defined by the spoke portion of the collaboration.
  • Another aspect of deployability is handling versioning. Collaborations once designed and deployed are likely to need changing (in various different ways) as time progresses. It can be important that subsequent versions of collaborations be as easily deployable as initial versions.
  • the present global collaboration manager can provide complete support for versioning and centralized redeployment of collaborations. Further, different versions of collaborations can be run simultaneously without impacting each other. This allows an existing version to be gracefully phased out while another version is phased in.
  • Another element of the deployability of the present global collaboration manager is the leverage of existing infrastructure. This element is evident, for example, in the support of the hub-to-spoke relationship over existing web protocols. Supporting hub-to-spoke over existing web protocols can be important to rapid deployment since it does not require modification or reconfiguration of an existing web infrastructure. A large time savings in this regard can come from not having to modify carefully designed firewall and security infrastructures that may already be in place.
  • the present hub-and-spoke architecture provides easy manageability and deployment.
  • enterprises collaborate with many enterprises which in turn collaborate with still other enterprises.
  • enterprises often form a collaborating web or graph. This can be supported via the ability to substitute a hub engine for a spoke engine at any time. This substitution ability allows many-to-many collaboration webs to be grown organically rather than all at once.
  • FIGURE 18 is a diagram of one embodiment of substituting a hub engine for a spoke engine within a collaboration.
  • an enterprise may deploy a hub engine 150 on itself and a spoke engine 152 at all of its partner sites.
  • a spoke engine 154 may be at a partner site (E2) . If the partner site (E2) wishes to design and control its own collaborations, it can replace spoke engine 154 with a hub engine 156. From El's perspective, E2 can still be a spoke in El's collaboration. However, this spoke now runs on a hub engine 156 which can control its own collaborations with spoke engines 158.
  • spoke engines 160 and 162 might be associated with a third entity (E3) that interacts with both hub engine 150 and hub engine 156 on behalf of E3.
  • Extension of Framework E3
  • An important aspect of the present framework is extensibility. Without extensibility, the framework may not be able to handle new situations and challenges with which it is confronted. There can be several different dimensions to this extensibility. For example, one primary area of extensibility is in the area of semantic object standards. If supported standards do not suffice for a particular problem, then the framework can be augmented with new semantic standards. Additionally the framework allows the building of proprietary semantic standards. Further, the framework can be extended by adding new accessors, transformers, adapters, etc. The standard component library can be extended both generally and by end-users.
  • the present invention manages collaborations within and between enterprises.
  • the present invention provides a computer implemented process for managing workflows and collaborations distributed between nodes of one or more enterprises.
  • the computer implemented process manages a collaboration by storing a set of predefined functions for the collaboration to be performed at the distributed nodes.
  • the computer implemented process automatically interacts with the collaboration at each of the nodes to perform the predefined functions.
  • each means each of at least a subset of the identified items.
  • the computer implemented process may be a high-level collaboration generated and processed by the global collaboration designer and the global collaboration manager as previously described in connection with other collaborations of the system or other suitable process capable of managing a collaboration across multiple nodes.
  • the predefined functions may be functions for generating, deploying, monitoring, or otherwise interacting with a collaboration.
  • FIGURE 19 illustrates a flow diagram for generating a collaboration between a plurality of enterprises m accordance with one embodiment of the present invention.
  • the method for generating a collaboration begins at step 160 at which a preliminary collaboration is received from a first enterprise.
  • the collaboration is preliminary m that it may be commented upon or modified by other enterprises involved in the collaboration.
  • the preliminary collaboration may be generated or otherwise provided by the first enterprise.
  • the preliminary collaboration is automatically transmitted to a second enterprise involved in the collaboration.
  • the preliminary collaboration may be transmitted to a hub, spoke, or other suitable node of the second enterprise.
  • an event is automatic m that the event is predefined and carried out by the computer process.
  • the event may be immediate or m response to a user action or other suitable event .
  • a response to the preliminary collaboration is received from the second enterprise.
  • the response may be a comment to the preliminary collaboration, a modification of the preliminary collaboration, and the like.
  • a modification to the preliminary collaboration may be an amendment of or addition to the preliminary collaboration.
  • the type of allowable response may be controlled by privileges granted to the second enterprise.
  • the response is automatically transmitted to the first enterprise, which leads to the end of the process.
  • the preliminary collaboration may be transmitted to any number of other enterprises and responses received from those enterprises.
  • the different enterprises may be granted different privileges to amend or merely comment upon the preliminary collaboration. This review and response by all or a number of the involved enterprises leads to a final collaboration that has been carefully considered by and is optimized for the involved enterprises.
  • the design process may be subdivided into a plurality of stages. For example, in a first stage a select number of enterprises may be allowed to modify a preliminary collaboration.
  • FIGURE 20 illustrates a flow diagram for deploying a collaboration generated by a first enterprise to a plurality of other enterprises in accordance with one embodiment of the present invention.
  • the method begins at step 170 in which a collaboration is generated by a first enterprise.
  • a predefined first portion of the collaboration is automatically transmitted to a second enterprise for operation.
  • the first portion of the collaboration is transmitted to a spoke or other suitable node of the second enterprise .
  • a predefined second portion of the collaboration is automatically transmitted to a third enterprise for operation.
  • the second portion of the collaboration is transmitted to a spoke or other suitable node for the third enterprise.
  • other portions of the collaboration may be automatically transmitted to other enterprises for operation. In this way, the collaboration is deployed within or between enterprises with minimal user interaction.
  • FIGURE 21 illustrates a method for monitoring a collaboration across a plurality of enterprises in accordance with one embodiment of the present invention.
  • the method begins at step 180 in which a first node is queried for data associated with the operation of a collaboration at the first node.
  • the query may be conducted by an agent or other suitable mechanism.
  • the agent operates at the first node to minimize the use of network resources. Proceeding to step 182, data from the first node is automatically transmitted to a monitoring system.
  • Transmission of the data may be periodic or in response to a predefined event.
  • the monitoring system may be in a hub, spoke, or other suitable node of the system.
  • a second node is queried for data associated with the operation of the collaboration at the second node.
  • the query may be conducted by a local agent.
  • data from the second node is automatically transmitted to the monitoring system.
  • the operation of the collaboration at additional nodes may be similarly monitored. In this way, operation of the collaboration across a number of enterprises may be monitored, or tracked, at a hub, a central location, or individually monitored by the involved enterprises.

Abstract

A computer implemented process for enterprise collaboration is provided. The process includes storing a set of predefined functions for a work flow to be performed at a plurality of distributed nodes. The process automatically interacts with the work flow at each of the distributed nodes to perform the predefined functions.

Description

METHOD AND SYSTEM FOR MANAGING COLLABORATION WITHIN AND BETWEEN ENTERPRISES
TECHNICAL FIELD OF THE INVENTION
This invention relates in general to the field of supply chain, enterprise and site planning and, more particularly, to a system and method for managing a collaboration within or between enterprises.
BACKGROUND OF THE INVENTION
Supply chain, enterprise and site planning applications and environments are widely used by manufacturing entities for decision support and to help manage operations. Decision support environments for supply chain, enterprise, and site planning have evolved from single-domain, monolithic environments to multi- domain, monolithic environments. Conventional planning software applications are available in a wide range of products offered by various companies. These decision support tools allow entities to more efficiently manage complex manufacturing operations. However, supply chains are generally characterized by multiple, distributed and heterogenous planning environments. Thus, there are limits to the effectiveness of conventional environments when applied to the problem of supply chain planning due to monolithic application architectures. Further, these problems are exacerbated when there is no one "owner" of the entire supply chain.
It is desirable for the next evolutionary step for planning environments to establish a multi-domain, heterogenous architecture that supports products spanning multiple domains, as well as spanning multiple engines and products. The integration of the various planning environments into a seamless solution can enable inter- domain and inter-enterprise supply chain planning. Further, an important function provided by some planning applications is the optimization of the subject environment rather than simply tracking transactions. In particular, the RHYTHM family of products available from 12 TECHNOLOGIES provide optimization functionality. However, with respect to planning at the enterprise or supply chain level, many conventional applications, such as those available from SAP, use enterprise resource planning (ERP) engines and do not provide optimization. The success or failure of an enterprise can depend to a large extent on the quality of decision making within the enterprise. Thus, decision support software, such as 12 TECHNOLOGIES' RHYTHM family of products, that support optimal decision making within enterprises can be particularly important to the success of the enterprise. In general, optimal decisions are relative to the domain of the decision support where the domain is the extent of the "world" considered in arriving at the decision. For example, the decision being made may be how much of a given item a factory should produce during a given time period. The "optimal" answer depends on the domain of the decision. The domain may be, for example, just the factory itself, the supply chain that contains the factory, the entire enterprise, or the multi-enterprise supply chain. (The latter two can be considered to be larger domains or multiple domains.) Typically, the larger the domain of the decision support, the more optimal the decision will be. Consequently, it is desirable for decision support software to cover ever larger domains in the decision making process. Yet, this broadening of coverage can create significant problems.
One problem is to efficiently plan and manage multiple domain supply chains. Typically, multiple domain supply chains are manually defined and managed in and ad hoc manner. This often results in the omission of important components of the supply chain which leads to costly and time consuming rework of the supply chain plan between the multiple domains involved in the supply chain. In addition, if the omission is not detected, inefficiencies to operation and management of the supply chain plan may result .
SUMMARY OF THE INVENTION In accordance with the present invention, a system and method for managing collaborations within and between enterprises is provided that substantially eliminate or reduce disadvantages and problems associated with previously developed systems and methods. In particular, the present invention provides a computer implemented method for managing collaborations across multiple nodes of one or more enterprises.
In accordance with one embodiment of the present invention, a computer implemented process for managing a distributed work flow includes storing a set of predefined functions for a work flow to be performed at a plurality of distributed nodes. The computer process automatically interacts with the work flow at each of the distributed nodes to perform the predefined functions. More specifically, in accordance with one aspect of the present invention, a computer implemented process for designing and generating a collaboration between a plurality of enterprises includes receiving a preliminary collaboration design from a first enterprise. The preliminary collaboration design is automatically transmitted to a predefined second enterprise for review. A response to the preliminary collaboration design is received from a second enterprise. The response is automatically transmitted to the first enterprise for review.
In accordance with another aspect of the present invention, a computer implemented process for deploying a collaboration to a plurality of enterprises includes initially receiving a collaboration. A predefined first part of the collaboration is automatically transmitted to a predefined first enterprise. A predefined second part of the collaboration is automatically transmitted to a predefined second enterprise for operation. In accordance with still another aspect of the present invention, a computer implemented process for tracking a collaboration across a plurality of enterprises includes automatically querying a first node of a first enterprise for a predefined first set of data associated with the operation of collaboration at the first node. The first set of data is automatically transmitted to a monitoring system. A second node of a second enterprise is automatically queried for a predefined second set of information associated with the operation of the collaboration at the second node. The second set of information is automatically transmitted to the monitoring system.
Technical advantages of the present invention include providing an improved method and system for managing collaborations within enterprises. In particular, collaborations are defined to generate, deploy, and monitor other collaborations across a plurality of distributed nodes. Accordingly, collaborations are efficiently managed and predefined so as not to omit essential components. Additional technical advantages should be readily apparent to one skilled in the art from the following figures, descriptions, and claims.
BRIEF DESCRIPTION OF THE DRAWINGS
A more complete understanding of the present invention and advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features, and wherein:
FIGURE 1 is a diagram of one embodiment of a computer implemented architecture that can support enterprise collaboration;
FIGURE 2 is a diagram of one embodiment of components of a global collaboration framework;
FIGURE 3 is a diagram of the global collaboration framework of FIGURE 2 where certain software elements that make up particular modules are highlighted;
FIGURE 4 is a block diagram of one embodiment of a system allowing collaboration within and between enterprises for optimal decision making ;
FIGURE 5 is a block diagram of one embodiment of the use of a global collaboration workspace;
FIGURE 6 is a diagram of one embodiment of a life cycle for a collaboration;
FIGURE 7 is a diagram of situations where common software is present on both sides of a relationship and where it is not;
FIGURE 8 is a block diagram of one embodiment of a security configuration for a hub-to-spoke and hub-to-web case;
FIGURE 9 is a block diagram of one embodiment of a security configuration for a hub-to-hub case; FIGURE 10 is a diagram of one embodiment of designing an inter-enterprise work flow that includes parameterization over groups;
FIGURE 11 is a diagram of one embodiment of managing change be modifying a design of a work flow;
FIGURE 12 is a diagram of one embodiment of integration of a work flow with the outside world;
FIGURE 13 is a diagram of one embodiment of a data flow running in a single activity; FIGURE 14 is a diagram of one embodiment of a data flow split across multiple activities;
FIGURE 15 is a block diagram of one embodiment of an common data model based transformation model;
FIGURE 16 is a diagram of one embodiment of a direct transformation;
FIGURE 17 is a diagram of one embodiment of different access and transformation levels;
FIGURE 18 is a diagram of one embodiment of substituting a hub engine for a spoke engine within a collaboration;
FIGURE 19 is a flow diagram illustrating a computer implemented process for generating a collaboration between a plurality of enterprises in accordance of one embodiment of present inventions; FIGURE 20 is a flow diagram illustrating a computer implemented process for deploying a collaboration to a plurality of enterprises in accordance with one embodiment of the present invention; and
FIGURE 21 is a flow diagram illustrating a computer implemented process for monitoring a collaboration across a plurality of enterprises in accordance with one embodiment of present inventions. DETAILED DESCRIPTION OF THE INVENTION
Improvement of decision support processes involves expansion to provide enterprise level and multi-enterprise level decision support for optimal decision making. Technologically and conceptually, providing enterprise-level and multi-enterprise level decision support differs from providing factory-level and supply-chain-level decision support. The reasons for this can be that, in multi-domain situations (such as business units within an enterprise or multiple enterprises), the different domains often operate different decision support software. Also, in multi-domain situations, one domain generally can not coerce another domain into making a particular decision. In other words, optimal decision support in this environment often needs to be performed in a negotiated, as opposed to coercive, environment.
Providing decision support in multi-domain situations can be accomplished by pursuing a collaborative approach to decision support rather than a coercive one. Various communication and distributed processing technologies can be used to implement such an environment, including the Internet, the Web, JAVA, XML, CORBA, etc., which help make large scale collaborative decision making feasible. Products will soon be available from 12 TECHNOLOGIES that enable a collaborative approach to decision support, including RHYTHM-GLOBAL COLLABORATION MANAGER (GCM) and RHYTHM-GLOBAL COLLABORATION DESIGNER (GCD) .
Collaboration System and Process Components FIGURE 1 is a diagram of one embodiment of a computer implemented architecture that can support enterprise collaboration. As shown, a global decision support architecture can be built upon underlying link, vision, global messaging and data warehouse components. Collaboration can then involve a global collaboration designer (GCD) and a global collaboration manager (GCM) supported by the decision support architecture. The global collaboration designer can be used to design and instantiate collaborations, and the global collaboration manager can be used to run the collaborations. In this scheme, collaborations can be referred to as modules and can be versioned.
FIGURE 2 is a diagram of one embodiment of components of a global collaboration framework. As shown, the framework can allow an hub enterprise 2 to collaborate with a spoke enterprise 4 and a web enterprise 6. Hub enterprise 2 and spoke enterprise 4 each include a global collaboration manager 8. Global collaboration managers 8 are coupled to and communicate with respective internal global collaboration workspaces 10. An external global collaboration workspace 12 provides a means for sharing data between hub enterprise 2, spoke enterprise 4 and web enterprise 6. Hub enterprise 2 can also collaborate through an electronic data interchange (EDI) processor 14 with a value added network (VAN) . Further, hub enterprise 2 can communicate and collaborate with other hub enterprises using a global message bus 15.
In operation, the primary controller of the collaboration can be the GCM engine 8 of hub enterprise 2. The hub-to-hub relationship can be facilitated by the global message bus 15, and the hub-to-spoke and hub-to-web relationships can be facilitated by external global collaboration workspace (GCW) 12. As shown, a hub enterprise 2 can generally have an internal GCW 10 and an external GCW 12. Internal GCW 10 can be used to share and exchange data with internal user interfaces as well as EDI processor 14. External GCW 12 can be used to share and exchange data with spoke enterprises 4 and web enterprises. For security, external GCW 12 can be installed in a DMZ or outside a corporate firewall of hub enterprise 2. This way no direct connections need to be made from the outside into the protected corporate network of hub enterprise 2. External GCW can accept, for example, HOP, HTTP and HTTPS connections. In particular, the latter two connections are useful for bridging existing firewall configurations. In this manner, no firewall configuration is needed on either the client (spoke node or web node) or server (hub node) side which can make the solution more quickly deployable.
FIGURE 3 is a diagram of the global collaboration framework of FIGURE 2 where certain software elements that make up particular modules are highlighted. As can be seen, software for the global collaboration manager module can be present in the following places: in the hub engine
8, in the spoke engine 8, in the hub-user, user interface
(Ul) , in the spoke-user UP and in the web-node UP.
Additionally, the module can communicate with native applications 17 on the hub enterprise 2 and spoke enterprise 4. Communications with native applications 17 can be either synchronous (dot line) or asynchronous (solid line) . Asynchronous communication with native applications 17 can be facilitated by the internal GCW's 10, as shown. Further, a global series database (GSDB) can be present on the hub enterprise 2 side.
FIGURE 4 is a block diagram of one embodiment of a system, indicated generally at 16, allowing collaboration within and between enterprises for optimal decision making. As shown, system 16 includes a hub node 18 which can be a process within a hub engine executing on a computer system. Hub node 18 is coupled to and communicates with a spoke node 20 which also can be a process within a hub engine executing on a computer system. As shown, spoke node 20 can be outside an enterprise boundary 22 of hub node 18. Hub node 18 is also coupled to and communicates with a plurality of spoke nodes 24 which can be processes within a spoke engine executing on one or more computer systems. Hub node 18 can further be coupled to and communicate with a plurality of web nodes 26 which can be processes within a web browser executing on a computer system. In addition, hub node 18 is coupled to and communicates with an EDI (Electronic Data Interchange) proxy 28 which can provide a gateway to EDI systems.
Hub engines and spoke engines, together with a global collaboration workspace, can be the primary entities of a global collaboration manager. In this environment, a hub engine is the primary controller of the collaboration. The hub engine can coordinate both global collaborations as well as local collaborations. Global collaborations are those that span hub nodes 18, spoke nodes 20 and 24 and web nodes 26. A local collaboration can run on any single role - hub or spoke/spoke group. These collaborations can be distributed, but stay within the confines of a single enterprise. Hub engines can also coordinate with hub-user interfaces (UP) as well as the VAN-EDI processor of an EDI proxy 28. In one embodiment, hub engines are multi-threaded engines that can simultaneously coordinate multiple collaborations as well as multiple versions of the same collaboration. Further, the hub engines can dynamically load and execute collaborations.
A spoke engine can also operate to initiate a collaboration. In this environment, unlike a hub engine, a spoke engine is not an independent entity. Instead a spoke engine can only coordinate a collaboration in conjunction with a hub engine. Furthermore, a spoke engine can not coordinate with other spoke engines or other web-nodes. Like a hub engine, a spoke engine can be multi-threaded and can simultaneously coordinate multiple collaborations as well as multiple versions of the same collaboration. Spoke engines can also dynamically load and execute collaborations. FIGURE 5 is a block diagram of one embodiment of the use of a global collaboration workspace 30. In FIGURE 5, global collaboration workspace 30 provides the primary entity used to share data/objects between the various entities in the collaboration. As shown, workspace 30 can interface with global collaboration managers (GCMs) 32, a local system 34, a web server 36 and web interface 37 and native applications 38. In general, objects can be placed into global collaboration workspace 30 by one entity and retrieved by another entity. Retrieval can be achieved either by querying or by subscription. In this way, global collaboration workspace 30 combines the attributes of a database as well as a message bus.
The global collaboration workspace can be organized as a hierarchy of slots which can be in-memory or persistent. Slots also can be queued or regular, and fine grained permissibilities can be attached to each slot. The permissibilities can be assigned by-user-by-operation. The primary operations can be read, write, take, and subscribe.
In-memory slots hold their data in volatile memory. Writing and retrieval from in-memory slots is very fast but subject to loss if the global collaboration workspace 30 goes down. When used with in-memory slots, the global collaboration workspace 30 can be considered a fast, secure, in-memory object database, with security and messaging capabilities. Persistent slots hold their data in stable storage. Writing and retrieval from persistent slots is slower than for in-memory slots, but data is not lost if the global collaboration workspace 30 goes down. The decision as to whether to use in-memory or persistent slots can depend on the application. Global collaboration workspace 30 stores data in the form of objects and can store Java Objects, CORBA objects or arbitrary byte arrays. This, coupled with its in-memory capabilities, makes global collaboration workspace 30 appropriate as a high-speed data sharing mechanism between other object-oriented in-memory engines such as 12 TECHNOLOGIES' SUPPLY CHAIN PLANNER and FACTORY PLANNER. A global collaboration designer (GCD) provides a tool to allow collaboration designers to interactively design, instantiate and deploy collaborations to be run using the global collaboration manager. The output of the global collaboration designer is code that can be automatically loaded and run by the global collaboration manager. The global collaboration designer can allow designers to create new collaborations, retrieve existing collaborations, and version collaborations. The global collaboration designer can also allow designers to design the hub and spoke network for collaborations and design the events and messages of the collaboration. The global collaboration designer can integrate a standard object library and a standard component library for easy usage from within the global collaboration designer. The global collaboration designer can be used to create sophisticated multi-enterprise workflows with synchronous, asynchronous, sub-work flow, and-splits, or-splits, synchronization-joins, heterocast-splits, heterocast-joins etc. Global workflows and local workflows can both be created. The global collaboration designer can provide automatic verification of collaborations and automatic code generation, which code is run by the global collaboration manager. The generated code can be manually edited if desired. Further, the global collaboration designer can provide instantiation of a collaboration including generation of security manager configurations and global collaboration workspace configurations.
FIGURE 6 is a diagram of one embodiment of a life cycle for a collaboration. As shown, in step, a collaboration can be designed using the global collaboration designer. Then, in step 46, a collaboration can be instantiated using the global collaboration designer. The instantiated collaboration can then be deployed, in step 44, using the global collaboration designer and the global collaboration manager. After deployment, the collaboration can be run using the global collaboration manager in step 46. Subsequently, a new instance can be created or a new version of the collaboration can ve created. To create a new instance, the flow returns to step 42. For a new version, the global collaboration designer can be used in step 48 to modify the collaboration.
The extension from single-domain decision support to multi-domain decision support can be complicated. In particular, the following discussion describes a number of challenges presented by multi-domain decision support and embodiments of how those challenges are addressed by the present system and process allowing collaboration within and between enterprises for optimal decision making.
Representational Heterogeneity
One problem with collaboration is bridging representational heterogeneity across enterprises. Before collaboration can successfully occur, the representational heterogeneity across enterprises needs to be bridged. Enterprises often represent the same data in different ways. These differences range from semantic differences, to technological differences, to differences in naming, etc. One obvious solution to bridging these differences is standardization. However, this immediately raises the issue of what standard to agree upon. The present system and process avoid such a requirement. It should be noted that there can be three relevant categories of standards that need to be addressed. These three categories are: format standards, transport standards and semantic standards. Format standards refer to the technological formats in which the data/objects are encoded. Examples include XML, Java Serial Streams, HOP Serial Streams and EDI format. Transport standards are used to pass data around. These can include HTTP, HOP, RMI, DCOM, FTP, Value Added Networks, Asynchronous Message Buses such as MQSeries, etc. Third, semantic standards are the way in which the semantic content of the data is described. Examples include EDI, 12 COMMON DATA MODEL (CDM) .
By considering standards in this light, an understanding of the issues can emerge. A lot of the confusion today stems from the fact that many existing standards cover two or more of the categories above and that discussions of the various standards fail to categorize which category is being discussed. For example, EDI is primarily a semantic standard, but also typically implies a format standard (the EDI file format) and a transport (a Value Added Network) . Once this is understood, it becomes clear that the EDI semantic standard can be separated from the other two. Hence, semantic EDI objects can be encoded in other formats such as Java Serial Streams and can be passed over other transport standards such as HTTP. Similarly, XML is primarily a format standard that can be used to encode various semantic standards. Efforts are underway to encode EDI in XML. Several format standards can be supported by the present global collaboration manager, including XML, EDI format, Java Serial Streams (referred to as Java format and not to be confused with the Java Language or Java Platform) and HOP Serial Streams. Of these, in one embodiment, the Java format is the primary format, and the rest are derived formats. Because the Java Format can contain the behavior to produce the other formats, it has been chosen as the primary format. XML, EDI and HOP formats can be derived from the Java Format.
FIGURE 7 is a diagram of situations where common software from 12 TECHNOLOGIES' is present on both sides of a relationship and where it is not. As shown, for example, when RHYTHM GLOBAL COLLABORATION MANAGER is on both sides, nothing is to be gained by converting to an intermediate format. This would introduce needless inefficiency, and only data (not objects) would be exchangeable, limiting the range of applications. Hence when the same software is present on both sides, binary Java objects can be directly exchanged. On the other hand, for example, when RHYTHM GLOBAL COLLABORATION MANAGER is present only on one side, XML or EDI-formatted "objects" can be produced (outbound) and interpreted (inbound) .
With respect to transport standards, the present global collaboration manager can support a variety of transport standards, including HTTP, HOP, and Asynchronous Message Buses. More details are provided below with respect to Handling Multiple Relationship Types.
With respect to semantic standards, the present global collaboration manager can primarily support two semantic standards, EDI and RHYTHM-CDM. EDI can be supported because it is generally the most popular semantic standard. However it suffers from the drawback (amongst others) of not providing deep coverage of the planning domain. The RHYTHM-CDM, on the other hand, provides deep coverage of the planning domain and will provide appropriate constructs for performing multi-enterprise decision support. Additionally, this format is supported by all of 12 TECHNOLOGIES' planning engines.
In general, one problem with public standards, such as EDI, is that they may not adequately cover the kinds of data/objects that enterprises would like to exchange. Further, waiting for standards bodies to standardize on a particular object may not be an option, and a supply chain will not have any particular competitive advantage by using public standards. For these and other reasons, the present global collaboration manager supports an alternative approach to standardization by supporting proprietary community standards. For example, using RHYTHM-GCD, a community of enterprises can devise a set of standards that are relevant to that community only. RHYTHM-GCM will support and enforce these proprietary community standards. RHYTHM-GCD also supports a library of building block objects that can be composed into proprietary community standards. Proprietary community standards have a number of advantages, including: they can be designed to exactly cover the kinds of data/objects that enterprises would like to exchange; only the relevant parties need to agree upon the particular standard, hence the process will be much quicker than waiting for a standards body; different standards can be developed for different categories of partners and, in the extreme case, a different standard for each partner; and standards that give the supply chain a competitive advantage over competitors can be developed. Multiple Relationship Types
Another problem for allowing collaboration is handling multiple relationship types. Enterprises have relationships of various types with their partners. Some ways relationships can vary are: between major trading partners on the one hand and between minor trading partners on the other; between enterprises of roughly equal influence over the supply chain and between enterprises of unequal influence over the supply chain; and between enterprises with a high degree of technological sophistication on the one hand and between enterprises with an unequal degree of technological sophistication on the other. As should be understood, these different relationship types should be handled differently. The present global collaboration manager can model enterprise relationships as a hub and spoke network, as described above and shown in FIGURE 4. In this embodiment, the four types of relationships are: Hub-to-Web; Hub-to-Van-EDI; Hub-to-Spoke and Hub-to-Hub. Each relationship-type has its appropriate usage.
With respect to Hub-to-Web, when people speak of E-Commerce today, they often imply an architecture where a web browser talks to some centralized server. This architecture has some advantages: the infrastructure to support this architecture is typically already in place; and all administration can be centralized on the server side. However, this architecture also has a big disadvantage in that it requires the presence of a human on the web-browser side. Hence system-to-system automation is not possible. Based on these and other pros and cons, this relationship type can be appropriate when an enterprise needs to exchange data with either a minor partner or a partner with less technological sophistication. With respect to Hub-to-VAN-EDI, the vast majority of electronic inter-enterprise commerce takes place today by sending EDI over Value Added Networks . The advantage of this approach can be that system-to-system integration is possible and it is currently supported today. Disadvantages of this approach are: large costs to send data over proprietary VAN's; high administrative costs because of lack of true standardization; requirement for third party tools just to convert from the true "standard" to a form appropriate for the enterprise; no support for system-to-human integration; and no support for proprietary standards or corporate standards. Based on these and other pros and cons, this relationship type can be appropriate when supporting a legacy VAN-EDI environment. With respect to hub-to-spoke, this relationship type also enables system-to-system integration like VAN-EDI. Architecturally hub-to-spoke is a collaboration between a hub engine and a spoke engine. The hub-to-spoke relationship can have advantages vis-a-vis VAN-EDI: it can use the public Internet to reduce network costs; administrative costs are much lower than VAN-EDI because a large portion of the hub-to-spoke relationship infrastructure can be centrally deployed and administered; true objects (in addition to just data) can be exchanged allowing for much more advanced collaborations; and multiple semantic standards can be supported including EDI, I2-CDM and Proprietary Community Standards. Based on the characteristics above, the hub-to-spoke relationship can be appropriate between enterprises that wish to perform sophisticated system-to-system collaboration. It can also be appropriate where no 12 TECHNOLOGIES' software is present in either of the enterprises. This is because the hub-to-spoke relationship can be centrally deployed by the hub enterprise. With respect to hub-to-hub, the relationship is similar to hub-to-spoke except that it takes place between two hub engines rather than a hub and a spoke engine. Based on this characteristic, the hub-to-hub relationship can be appropriate between enterprises that wish to perform sophisticated system-to-system collaboration. Further, the hub-to-hub relationship can be appropriate when two enterprises have individually and separately purchased RHYTHM-GCM and have set up hub engines.
There are differences between hub engines and spoke engines. In general, a hub engine's capabilities are a superset of a spoke engine's capabilities. The following table provides an example of some of the differences.
Figure imgf000021_0001
Internal-User Supports a single Supports multiple Roles . internal-user role. internal- user roles .
Security A further problem with collaboration is the challenge of providing comprehensive security.
Before enterprises can collaborate effectively, the security issue needs to be addressed. There are many different facets to security in a collaborative context. Any multi-enterprise collaborative framework should address all of these different facets. The requirements for a collaborative security framework can include that: data exchanged between two partners should only be seen by the two partners; data exchanged between two partners should be tamper-proof; an enterprise should be able to verify that a partner is who it claims to be; the framework should not introduce new security holes into a partners' network; and the framework should be relatively easy to set up and administer . A secure collaborative framework can be provided by implementing a comprehensive security strategy to address the above requirements. In one embodiment, the strategy has three different aspects to it: technological security, a permissibility framework and data partitioning. Technological security can refer to the technological means used to guarantee security. This security can be used to provide: privacy, authentication and data integrity. Privacy ensures that no unauthorized person can see the data. Authentication involves authenticating that the parties in the collaboration are really who they claim to be. Data Integrity involves making it impossible for an unauthorized person to modify data being sent in any fashion. The precise security approach can vary based on the relationship type described earlier. For example, one scheme is detailed in the table below:
Figure imgf000023_0001
As can be seen from the table, all of the relationship types, with the exception of Hub-to-VAN EDI, could support security via SSL 3.0.
SSL 3.0 is an industry standard protocol used to support public key encryption over a socket-based connection and provides: privacy, client as well as server authentication, data integrity and certificate management. SSL 3.0 is a higher level protocol into which several public-key cryptography algorithms can be plugged including RSA and Diffie-Helman.
Once the SSL handshake is complete, the next step is username-password authentication. This provides authentication beyond what SSL 3.0 itself provides. Passwords can be stored using PKCS5 password-based encryption (an RSA standard) . Once a user or spoke is authenticated, it is returned an Access Token. This access token has an administrator-specifiable lifetime. A user can then access the system for the duration of validity of the access token. This has the beneficial effect of not requiring authentication on each access. Each application which is accessed, authenticates the access token by validating the signature (which is a digest encrypted using the Security Manager's private key) of the Security Manager.
The technological security framework is a portion of the security scheme. The other portion has to do with the design of the collaborations themselves. The framework should allow enterprises to easily attach permissibilities to various actions that other enterprises can perform on it. The global collaboration workspace can support a hierarchical permissibility model with individual permissibilities attached to different data elements in the hierarchy. In particular, it can support user-specific and spoke-specific read, write, take and subscribe permissibilities. Hence, enterprises can finely tune who can read what data, who can write what data, who can take what data and who can subscribe to write-notifications on what data.
A third element in the collaboration framework security strategy is the ability to partition data across various collaborative workspaces. In particular, the collaborative workspaces are split into an internal collaborative workspace and an external collaborative workspace. Only data that needs to be truly shared with partners is in the external collaborative workspace. The rest is in the internal collaborative workspace. The external collaborative workspace is designed to sit either outside the corporate firewall or in an Extranet or DMZ . The collaboration framework design does not require the external collaborative workspace to make connections through the corporate firewall into the Intranet (although it could) .
In one embodiment, global collaborations can use both the external and internal collaborative workspaces. Local collaborations can use only the internal collaborative workspace and are hence completely invisible to partner enterprises. Even for global collaborations only the relevant portions use the external collaborative workspace. Furthermore, because of the permissibility framework described earlier, each partner enterprise can only see (read, write, take, subscribe) to its own data. FIGURE 8 is a block diagram of one embodiment of a security configuration for a hub-to-spoke and hub-to-web case. As shown, a hub enterprise 50 is coupled to and communicates with an internal global collaboration workspace 52 and an external global collaboration workspace 54. A spoke enterprise 56 and a web enterprise 58 connect through a web server 60 to the external global collaboration workspace 54. Spoke enterprise 56, like hub enterprise 50, has an internal global collaboration workspace 62. The enterprises 50, 56 and 58 can be protected by associated firewalls, while the extranet formed by web server 60 and external global collaboration workspace 54 can be protected by a filtering router and communication via HTTP over SSL 3.0. FIGURE 9 is a block diagram of one embodiment of a security configuration for a hub-to-hub case. As shown, a hub enterprise 64 and a hub enterprise 66 can communicate across an SSL 3.0 protected TCP/IP connection. The communication can be between separate global message brokers 68 and 69. Both hub enterprises 64 and 66 are protected by a firewall, as shown.
Inter-Enterprise Workflows One of the problems with multi-enterprise decision support can be that there is no closed loop collaboration. Instead, data may be lobbed from one enterprise to the next with no coherent work flow. In order to implement closed loop collaboration, support for creating multi-enterprise workflows is necessary. The present global collaboration manager and designer can make it possible to construct, deploy, monitor and change sophisticated multi-enterprise workflows .
In general, a "work flow" can be a set of "activities" joined together by data flows that together accomplish some task. Workflows are typically executed on work flow engines. A "distributed work flow" can refer to a work flow that is executed on multiple work flow engines. In other words, different portions of the work flow execute on different engines. A "node" can refer the abstract entities on which different work flow engines of a distributed work flow run, and a "node group" can be a set of nodes grouped by some characteristic. A "multi- enterprise distributed work flow" can be distributed workflows where the nodes are enterprises.
Parameterization of workflows can be important for enterprise collaboration. A "parametric work flow" is a work flow that is parameterized over some variable and can be regular or distributed. Instantiating the parametric work flow with different values of the parameter variable (s) produces different instances of the work flow. A "distributed work flow parameterized over nodes in a node group" can refer to distributed workflows where the parameters of the work flow are the nodes in a node group. Hence, when the work flow is instantiated it is tailored to a particular node in a node group.
There are several important features to the workflows that can be supported by the present global collaboration. These workflows can be strongly typed. Strong typing can be essential in producing robust, error-free workflows. In essence, strong typing guarantees the type of a message at design time. For example, if the work flow is designed to send a Bill of Materials, then strong typing ensures that it is physically impossible that an object other than a Bill of Material is sent. For a work flow designed with the global collaboration designer and executed with the global collaboration manager, it can be made impossible to even send an object of an incorrect type. This capability is important to producing robust, error-free workflows.
Despite strong typing, there are, for example, two scenarios in which wrong object types could conceivably be passed in the work flow: due to an error on the work flow designer's part; and a malicious attempt by someone to undermine the work flow. Both of these scenarios can be handled. The first can be handled by making it impossible for an error in design to lead to such a scenario. The second can be handled by making the data flows tamper-proof by using public key cryptography or other encryption scheme (integrity characteristic) as described above.
Another important feature is support for workflows parameterized over groups. Some multi-enterprise workflows involve a large number of enterprises. In such cases it can become impractical to create individualized workflows for each partner. Instead it can be advantageous to create workflows that are parameterized over groups of partners. For example, in the realm of procurement, two groups may be primary suppliers and secondary suppliers. The primary suppliers group could have one type of work flow, and the secondary suppliers group could have another type of work flow. Group-based workflows can be parametric in the sense that, at run time, an actual work flow can be created specific to a member of a group. In the multi-enterprise context, an enterprise may collaborate, for example, with potentially hundreds or thousands of other enterprises. Each collaboration or multi-enterprise work flow can be potentially (and typically) unique. However, designing thousands of specialized workflows with an enterprises' partners is neither desirable nor feasible. On the other hand, many of these workflows are simply parametric variations on an underlying parameterized work flow. For example, a company A may be collaborating (on sales) with retailers, distributors, direct sales etc. Hence, it makes sense to group the various partners. An example grouping may be:
WalMart; Sears; Rest of Retailers besides WalMart and Sears
(group) ; Primary Distributors (group) and Secondary
Distributors (group) . Now, the workflows with all the members, for example, of the primary distributors group are variations on an underlying parametric distributed work flow, parameterized over the particular distributor in that group .
Workflows parameterized over groups can be supported by a HETEROCASTING work flow definition technique. The HETEROCASTING definition technique generally involves using a parameterized work flow definition to instantiate heterogeneous workflows based upon differences in the parameters. Thus, the HETEROCASTING definition technique allows a non-parametric distributed work flow to be easily (through a visual design tool) be made parametric over nodes in a node group. There can be two primary work flow activities used to accomplish this definition: a HETEROCAST split activity and HETEROCAST join activity. All activities between a HETEROCAST split and a HETEROCAST join are parameterized over the nodes of a node group that these activities correspond to.
FIGURE 10 is a diagram of one embodiment of designing an inter-enterprise work flow that includes parameterization over groups. As shown, the work flow can begin with a listening activity 70 that waits for some event. Activity 70 can be linked to parallel activities 71 that links to a sub-work flow 72 and to a heterocast split 73. Sub-work flow, itself, can include a work flow definition. With respect to HETEROCASTING, the work flow after heterocast split 73 then becomes parameterized. Thus, in the example of FIGURE 10, activity 74 is a parameterized activity. After activity 74, a heterocast join 75 receives flow from activity 74. Sub-work flow 72 and heterocast join 75 are linked to a synchronous or asynchronous join 76 which, in turn, links to an integrated event 77 (e.g., multicasting). A work flow like that of FIGURE 10 can be designed using the present global collaboration designer and can allow full representation of work flow for inter-enterprise decision support. This work flow can then be instantiated and implemented through the present global collaboration manager.
FIGURE 11 is a diagram of one embodiment of managing change be modifying a design of a work flow. As shown, an initial work flow design can have an event 70 linked to a parallel activity split 71. Between activity split 71 and a join 76, there can be, for example, two activities 78. This work flow, once designed, can be instantiated and implemented using the global collaboration manager. If a change needs to be made to the work flow, the global collaboration designer greatly alleviates the trouble of making the change. For example, a new activity 79 can be added between split 71 and join 76. The work flow can then be centrally reinstantiated and implemented.
In particular, the HETEROCAST technique can allow the construction of distributed workflows parameterized over nodes in a node group. This can allow a huge productivity gain over designing individual workflows for individual group members. Further, this technique makes rapid design and prototyping of sophisticated inter-enterprise workflows with hundreds or thousands of partners feasible. The technique should be distinguished from conventional "multicasting" in which identical messages are sent out to the various nodes (partners). In essence, multicasting allows you to design a single work flow that runs identically across multiple nodes. This differs from the HETEROCASTING technique, where the workflows run differently based on which node they are running across.
A third important feature is support for role-based workflows. Role-based workflows allow workflows to be specified using generic roles. This capability allows the creation of generic or templated workflows that can be instantiated in various scenarios. For example, the role types can be: partner roles, spoke roles; spoke group roles; web roles; web group roles; user roles. As an example of roles, partner roles refer to the different roles played by partners. Thus, one partner role in the case of procurement is primary supplier and secondary supplier.
Role-based workflows can lead to the concept of three different phases in the design and execution of a work flow. The design phase is the phase in which role-based workflows are defined. The instantiation phase is the phase in which roles are mapped to instances. For example, primary supplier may be mapped to a first company, and PO_approver may be mapped to John Doe. Third, the run time phase can be the phase in which the instantiated work flow runs .
A further important feature is the integration of automated workflows with user-oriented workflows. Workflows can often be described as having two varieties: automated system-to-system workflows, and user interface workflows. While there are workflows that are completely automated, and there are workflows that are completely user driven, most workflows have automated as well as user interface elements. The present global collaboration manager and designer do not need to make this artificial distinction between work flow types. Hence, the workflows can be automated in parts and interact with users in other parts. Both the automated parts and user parts can span multiple enterprises.
Integration with Outside World
FIGURE 12 is a diagram of one embodiment of integration of a work flow with the outside world. As described in the previous section, sophisticated inter- and intra-enterprise workflows can be created. These workflows can be composed of activities strung together in various configurations. There is no restriction on what the different activities of the work flow can do, yet one of the major tasks of these activities is to integrate with the outside world. FIGURE 12 shows how a work flow can be integrated with the outside world using a component-based approach to integration. The components can include accessors 80, transformations 82, transfer objects 84, adaptors and flows 86. The global collaboration manager can support a component-based integration model. The component-based integration model allows flexibility in structuring the integration. There can be two types of components: primitive components and compound components . Primitive components can include accessors 80, transformers 82 and transfer objects 84. Compound components include adaptors and flows 86. Compound components are built in terms of primitive components. In this scheme, accessors 80 are used to access an external source such as SCP (SUPPLY CHAIN PLANNER) , SAP, a relational database, web servers, email, message buses etc. Accessors 80 can be used to read, write or listen to sources and destinations of data. Transformers 82 can be used to transform data from one form to another form. Transfer Objects 84 are objects that can be passed from activity to activity or from enterprise to enterprise. Transfer objects 84 can be optionally convertible to EDI, XML, CORBA structures etc. Accessors 80 and Transformers 82 can be strung together to form flows. An entire flow can be executed in a single activity as shown in FIGURE 13.
FIGURE 13 is a diagram of one embodiment of a data flow running in a single activity 92. As shown, a data source 90 can be accessible from and provide data to an accessor component 94. Accessor component 94 then can pass data through transformer components 96 and 98 which provide data to a second accessor component 100. Data can then be stored in a data destination 102.
FIGURE 14 is a diagram of one embodiment of a data flow split across multiple activities 104 and 106. As shown, the flow of FIGURE 14 differs from that of FIGURE 13 in that transformer components 96 and 98 are within separate activities 104 and 106 and communicate by a transfer object. Multi-enterprise data flows can be based on the model of FIGURE 14 rather than that of FIGURE 13.
With respect to transformations, in one embodiment, two fundamental transformation types can be supported: 12- CDM based transformations and direct transformations. 12- CDM based transformations are based on 12 TECHNOLOGIES' COMMON DATA MODEL (CDM) . The CDM is an abstract schema that is available in both relational and object forms.
FIGURE 15 is a block diagram of one embodiment of an I2-CDM based transformation model. As shown, transformers and accessors can be coupled to transform a application data into a CDM data object 110 and vice versa. For example, a SUPPLY CHAIN PLANNER (SCP) object 112 can be created by an SCP accessor from SCP data 114. SCP object 112 can then be transformed by an SCP-CDM transformer into a CDM object 110. Analogously, an SAP object 116 can be created by an SAP accessor from SAP data 118. SAP object 116 can then be transformed by an SAP-CDM transformer into a CDM object 110. The SAP accessor and transformer, as with other accessors and transformers, can be combined into a standard SAP-CDM adapter 120 that can be used for CDM-based transformations other components. As another example, a BAAN object 122 can be created by a BAAN accessor from BAAN data 124. BAAN object 122 can then be transformed into a CDM object 110 by a BAAN-CDM transformer. These transforms work in the other direction as well.
FIGURE 16 is a diagram of one embodiment of a direct transformation. In direct transformers, objects are converted from one form to another without passing through an intermediate format. For example, as shown in FIGURE 16, SUPPLY CHAIN PLANNER (SCP) data 130 can be accessed by an SCP accessor to create an SCP object 132. SCP object 132 can then be directly transformed to a FACTORY PLANNER (FP) object 134. FP object 134 can then become FP data 136 through an FP accessor. This data flow can operate in the other direction as well.
In these processes, there are various levels of granularity at which access and transformation can take place including the relational (table), generic object
(tree, graph, matrix etc.) and specific object (Bill of
Material, Plan etc.) levels. Sometimes access may only be available at one level (say tables) , but transformation may be more appropriate at another level (say generic object) . For example, hierarchical aggregation (a form of transformation) is often appropriate on a tree object. However, the data may only be accessible in a tabular form. In this case, for example, the data should be accessed at the tabular level, transformed into a tree, and then have the hierarchical aggregation applied to it.
FIGURE 17 is a diagram of one embodiment of different access and transformation levels. As shown, access and transformation can have three levels. A first level 140 can involve table access and transforms. A second level 142 can involve generic object (tree, graph, etc.) access and transforms, and a third level can involve specific object (build-of-materials, plan, etc.) access and transforms. In additional to transforms between application formats, there can also be transforms between the three levels, as shown.
Deployment of Collaborations
One important factor in a multi-enterprise collaboration system is the ease with which the collaboration can be deployed. As discussed, the present global collaboration manager can support four different kinds of partner relationships: hub-to-web, hub-to-spoke, hub-to-hub and hub-to-VAN-EDI . Of these four, hub-to-web has all the deployability characteristics of traditional web applications. Hub-to-VAN EDI can be deployable to the extent that it leverages an existing VAN-EDI infrastructure. While the hub-to-web relationship is highly deployable, it can suffer from the problem of requiring a human on the web side of the relationship. In other words, it may not be suited to system-to-system collaboration.
The hub-to-spoke solution can provide maximal deployability in the system-to-system collaboration environment. In the hub-to-spoke realm, the spoke engine is analogous to the web browser, and the spoke portion of the collaboration is analogous to a web page or applet. Similar to a web-page or applet, the spoke portion of the collaboration can be centrally designed and deployed to the remote spoke engines. Unlike a web-page or applet, there may still be integration that needs to be done remotely. This remote integration may be unavoidable but can be circumscribed and precisely defined by the spoke portion of the collaboration.
Another aspect of deployability is handling versioning. Collaborations once designed and deployed are likely to need changing (in various different ways) as time progresses. It can be important that subsequent versions of collaborations be as easily deployable as initial versions. The present global collaboration manager can provide complete support for versioning and centralized redeployment of collaborations. Further, different versions of collaborations can be run simultaneously without impacting each other. This allows an existing version to be gracefully phased out while another version is phased in.
Another element of the deployability of the present global collaboration manager is the leverage of existing infrastructure. This element is evident, for example, in the support of the hub-to-spoke relationship over existing web protocols. Supporting hub-to-spoke over existing web protocols can be important to rapid deployment since it does not require modification or reconfiguration of an existing web infrastructure. A large time savings in this regard can come from not having to modify carefully designed firewall and security infrastructures that may already be in place.
Supporting Many-To-Many Collaborations
The present hub-and-spoke architecture provides easy manageability and deployment. However, in practice enterprises collaborate with many enterprises which in turn collaborate with still other enterprises. Hence, enterprises often form a collaborating web or graph. This can be supported via the ability to substitute a hub engine for a spoke engine at any time. This substitution ability allows many-to-many collaboration webs to be grown organically rather than all at once.
FIGURE 18 is a diagram of one embodiment of substituting a hub engine for a spoke engine within a collaboration. As shown, an enterprise (El) may deploy a hub engine 150 on itself and a spoke engine 152 at all of its partner sites. In particular, a spoke engine 154 may be at a partner site (E2) . If the partner site (E2) wishes to design and control its own collaborations, it can replace spoke engine 154 with a hub engine 156. From El's perspective, E2 can still be a spoke in El's collaboration. However, this spoke now runs on a hub engine 156 which can control its own collaborations with spoke engines 158. Further, spoke engines 160 and 162 might be associated with a third entity (E3) that interacts with both hub engine 150 and hub engine 156 on behalf of E3. Extension of Framework
An important aspect of the present framework is extensibility. Without extensibility, the framework may not be able to handle new situations and challenges with which it is confronted. There can be several different dimensions to this extensibility. For example, one primary area of extensibility is in the area of semantic object standards. If supported standards do not suffice for a particular problem, then the framework can be augmented with new semantic standards. Additionally the framework allows the building of proprietary semantic standards. Further, the framework can be extended by adding new accessors, transformers, adapters, etc. The standard component library can be extended both generally and by end-users.
Collaboration Management
The present invention manages collaborations within and between enterprises. Generally described, the present invention provides a computer implemented process for managing workflows and collaborations distributed between nodes of one or more enterprises. The computer implemented process manages a collaboration by storing a set of predefined functions for the collaboration to be performed at the distributed nodes. The computer implemented process automatically interacts with the collaboration at each of the nodes to perform the predefined functions. As used herein, each means each of at least a subset of the identified items. The computer implemented process may be a high-level collaboration generated and processed by the global collaboration designer and the global collaboration manager as previously described in connection with other collaborations of the system or other suitable process capable of managing a collaboration across multiple nodes. The predefined functions may be functions for generating, deploying, monitoring, or otherwise interacting with a collaboration.
FIGURE 19 illustrates a flow diagram for generating a collaboration between a plurality of enterprises m accordance with one embodiment of the present invention. Referring to FIGURE 19, the method for generating a collaboration begins at step 160 at which a preliminary collaboration is received from a first enterprise. The collaboration is preliminary m that it may be commented upon or modified by other enterprises involved in the collaboration. The preliminary collaboration may be generated or otherwise provided by the first enterprise.
Proceeding to step 162, the preliminary collaboration is automatically transmitted to a second enterprise involved in the collaboration. The preliminary collaboration may be transmitted to a hub, spoke, or other suitable node of the second enterprise. As used herein, an event is automatic m that the event is predefined and carried out by the computer process. The event may be immediate or m response to a user action or other suitable event .
At step 164, a response to the preliminary collaboration is received from the second enterprise. The response may be a comment to the preliminary collaboration, a modification of the preliminary collaboration, and the like. A modification to the preliminary collaboration may be an amendment of or addition to the preliminary collaboration. The type of allowable response may be controlled by privileges granted to the second enterprise.
Next, at step 166, the response is automatically transmitted to the first enterprise, which leads to the end of the process. In the same manner as the preliminary collaboration is transmitted to the second enterprise and a response transmitted from the second enterprise, the preliminary collaboration may be transmitted to any number of other enterprises and responses received from those enterprises. The different enterprises may be granted different privileges to amend or merely comment upon the preliminary collaboration. This review and response by all or a number of the involved enterprises leads to a final collaboration that has been carefully considered by and is optimized for the involved enterprises. In addition to involving a plurality of enterprises in the design of the collaboration, the design process may be subdivided into a plurality of stages. For example, in a first stage a select number of enterprises may be allowed to modify a preliminary collaboration. After those enterprises have agreed to a collaboration based on the preliminary collaboration and subsequent modifications to the preliminary collaboration, the resulting collaboration may then be transmitted to other involved enterprises for comment or other limited response. In another embodiment, collaboration design may be separated into general and specific stages. In this embodiment, the preliminary collaboration is an outline for a collaboration between the enterprises. After the outline of the collaboration has been agreed to between the involved enterprises, specific details of the collaboration may then be transmitted and responded to between the enterprises. In this way, collaborations are efficiently generated within and between distributed nodes of one or more enterprises. FIGURE 20 illustrates a flow diagram for deploying a collaboration generated by a first enterprise to a plurality of other enterprises in accordance with one embodiment of the present invention. Referring to FIGURE 20, the method begins at step 170 in which a collaboration is generated by a first enterprise. Next, at step 172, a predefined first portion of the collaboration is automatically transmitted to a second enterprise for operation. The first portion of the collaboration is transmitted to a spoke or other suitable node of the second enterprise .
Proceeding to step 174, a predefined second portion of the collaboration is automatically transmitted to a third enterprise for operation. The second portion of the collaboration is transmitted to a spoke or other suitable node for the third enterprise. In the same manner, other portions of the collaboration may be automatically transmitted to other enterprises for operation. In this way, the collaboration is deployed within or between enterprises with minimal user interaction.
In one embodiment, the collaboration is deployed but not run by any of the enterprises until all or a sufficient number of the enterprises have approved the collaboration. In this embodiment, the process may individually request and receive approvals from the involved enterprises. In this way, the collaboration is not prematurely run for only one or a few of the enterprises and operation of older versions of the collaboration are not prematurely terminated. FIGURE 21 illustrates a method for monitoring a collaboration across a plurality of enterprises in accordance with one embodiment of the present invention. Referring to FIGURE 21, the method begins at step 180 in which a first node is queried for data associated with the operation of a collaboration at the first node. The query may be conducted by an agent or other suitable mechanism. Preferably, the agent operates at the first node to minimize the use of network resources. Proceeding to step 182, data from the first node is automatically transmitted to a monitoring system.
Transmission of the data may be periodic or in response to a predefined event. The monitoring system may be in a hub, spoke, or other suitable node of the system.
At step 184, a second node is queried for data associated with the operation of the collaboration at the second node. As previously described in connection with the first node, the query may be conducted by a local agent. At step 186, data from the second node is automatically transmitted to the monitoring system. The operation of the collaboration at additional nodes may be similarly monitored. In this way, operation of the collaboration across a number of enterprises may be monitored, or tracked, at a hub, a central location, or individually monitored by the involved enterprises.
Although the present invention has been described in detail, it should be understood that various changes, substitutions and alterations can be made hereto without departing from the spirit and scope of the invention as defined by the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A computer implemented process for managing a distributed work flow, comprising; storing a set of predefined functions for a work flow to be performed at a plurality of distributed nodes; automatically interacting with the work flow at each of the distributed nodes to perform the predefined f nctions .
2. The process of Claim 1, wherein the set of predefined functions are operable to generate a work flow between a plurality of enterprises.
3. The process of Claim 1, wherein the set of predefined functions are operable to transmit data associated with the operation of the work flow at each of the distributed nodes to a monitoring system.
4. The process of Claim 1, wherein the set of predefined functions are operable to deploy the work flow to the distributed nodes.
5. A Computer implemented process for generating a collaboration between a plurality of enterprises, comprising: receiving a preliminary collaboration from a first enterprise; automatically transmitting the preliminary collaboration to a predefined second enterprise for review; receiving a response to the preliminary collaboration from the second enterprise; and automatically transmitting the response to the first enterprise for review.
6. The process of Claim 5, wherein the response is a comment to the preliminary collaboration.
7. The process of Claim 5, wherein the response is a modification of the preliminary collaboration.
8. The process of Claim 7, wherein the modification is in addition to the preliminary collaboration.
9. The process of Claim 7, wherein the modification is an amendment of the preliminary collaboration.
10. The process of Claim 5, further comprising; receiving an approval from the first and second enterprises for a collaboration based on the preliminary collaboration and the response; automatically transmitting the collaboration to a predefined third enterprise for review; receiving a response to the collaboration from the third enterprise; and automatically transmitting the response to the first enterprise for review.
11. The process of Claim 10, wherein the response is a comment .
12. The process of Claim 10, wherein the response is a modification to the collaboration.
13. The process of Claim 12, wherein the modification is an addition to the collaboration.
14. The process of Claim 12, wherein the modification is an amendment of the collaboration.
15. A computer implemented process for deploying a collaboration generated by a first enterprise to a plurality of other enterprises, comprising: receiving a collaboration; automatically transmitting a predefined first part of the collaboration to a predefined second enterprise; and automatically transmitting a predefined second part of the collaboration to a predefined third enterprise.
16. The process of Claim 15, further comprising: requesting an approval from the second enterprise for operation of the first part of the collaboration at a node of the second enterprise; and requesting an approval from the third enterprise for operation of the second part of the collaboration at a node of the third enterprise.
17. The process of Claim 16, in response to receiving the approval from the second enterprise, notifying the third enterprise of the approval.
18. The process of Claim 16, in response to receiving the approvals from the second and third enterprises transmitting a signal to the second and third enterprises to operate the collaboration.
19. The process of Claim 16, in response to receiving approvals to operate the collaboration from all enterprises to which the collaboration is transmitted, transmitting a signal to all of the enterprises to operate the collaboration.
20. A computer implemented process for monitoring a collaboration across a plurality of enterprises, comprising: automatically querying a first node of a first enterprise for a first predefined set of data associated with the operation of the collaboration at the first node; transmitting the first set of data to a monitoring system; automatically querying a second node of a second enterprise for a predefined second set of data associated with an operation of the collaboration at the second node; and transmitting the second set of data to the monitoring system.
PCT/US1999/012345 1998-06-05 1999-06-03 Method and system for managing collaboration within and between enterprises WO1999063464A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP99935288A EP1082688A1 (en) 1998-06-05 1999-06-03 Method and system for managing collaboration within and between enterprises
AU50798/99A AU5079899A (en) 1998-06-05 1999-06-03 Method and system for managing collaboration within and between enterprises
CA002333737A CA2333737A1 (en) 1998-06-05 1999-06-03 Method and system for managing collaboration within and between enterprises
KR1020007013736A KR20010052567A (en) 1998-06-05 1999-06-03 Method and system for managing collaboration within and between enterprises
JP2000552608A JP2002517826A (en) 1998-06-05 1999-06-03 Collaboration management system and management method within or between enterprises

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US09/092,348 US6119149A (en) 1998-06-05 1998-06-05 System and process allowing collaboration within and between enterprises for optimal decision making
US09/092,348 1998-06-05
US09/156,334 US7039597B1 (en) 1998-06-05 1998-09-18 Method and system for managing collaboration within and between enterprises
US09/156,334 1998-09-18

Publications (1)

Publication Number Publication Date
WO1999063464A1 true WO1999063464A1 (en) 1999-12-09

Family

ID=26785567

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/012345 WO1999063464A1 (en) 1998-06-05 1999-06-03 Method and system for managing collaboration within and between enterprises

Country Status (8)

Country Link
US (1) US7039597B1 (en)
EP (1) EP1082688A1 (en)
JP (1) JP2002517826A (en)
KR (1) KR20010052567A (en)
AU (1) AU5079899A (en)
CA (1) CA2333737A1 (en)
TW (1) TWI239461B (en)
WO (1) WO1999063464A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002010937A1 (en) * 2000-07-31 2002-02-07 Woodland Corporation Computer linking method and control system
EP1323052A1 (en) * 2000-08-25 2003-07-02 Practicefirst.COM L.L.C. Work sharing and communicating

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214250B2 (en) 1998-09-18 2012-07-03 Jda Software Group, Inc. System and method for multi-enterprise supply chain optimization
US7617240B2 (en) * 1999-05-04 2009-11-10 Accenture Llp Component based task handling during claim processing
US7979382B2 (en) 1999-05-04 2011-07-12 Accenture Global Services Limited Component based information linking during claim processing
US6876991B1 (en) 1999-11-08 2005-04-05 Collaborative Decision Platforms, Llc. System, method and computer program product for a collaborative decision platform
CA2417509C (en) * 2000-07-27 2013-02-19 Bea Systems, Inc. System and method for concentration and load-balancing of requests
US7349861B1 (en) * 2000-09-11 2008-03-25 I2 Technologies Us, Inc. Value chain management
US10019683B1 (en) 2001-10-04 2018-07-10 Jda Software Group, Inc. Facilitating the negotiation of standards for inter-enterprise collaboration between trading partners
US7890360B1 (en) 2001-10-12 2011-02-15 Blake Johnson System and method for automated analysis of sourcing agreements and performance
US20090055477A1 (en) * 2001-11-13 2009-02-26 Flesher Kevin E System for enabling collaboration and protecting sensitive data
US20040103147A1 (en) * 2001-11-13 2004-05-27 Flesher Kevin E. System for enabling collaboration and protecting sensitive data
US20030195763A1 (en) * 2002-04-11 2003-10-16 International Business Machines Corporation Method and system for managing a distributed workflow
US7805327B1 (en) * 2002-07-31 2010-09-28 Sap Aktiengesellschaft Transformations between combined and individual workflows
US7653562B2 (en) * 2002-07-31 2010-01-26 Sap Aktiengesellschaft Workflow management architecture
US20040064348A1 (en) * 2002-09-30 2004-04-01 Humenansky Brian S. Selective deployment of software extensions within an enterprise modeling environment
US7925246B2 (en) 2002-12-11 2011-04-12 Leader Technologies, Inc. Radio/telephony interoperability system
US8195714B2 (en) 2002-12-11 2012-06-05 Leaper Technologies, Inc. Context instantiated application protocol
US8126742B2 (en) 2003-05-09 2012-02-28 Accenture Global Services Limited Automated assignment of insurable events
US7356697B2 (en) * 2003-06-20 2008-04-08 International Business Machines Corporation System and method for authentication to an application
US7200454B2 (en) * 2003-06-30 2007-04-03 International Business Machines Corporation Method, system, and storage medium for integrating rework operations into an advanced planning process
US7729933B2 (en) * 2003-10-31 2010-06-01 International Business Machines Corporation Decision support activation and management in product life cycles using a context pyramid structure
US20050203757A1 (en) * 2004-03-11 2005-09-15 Hui Lei System and method for pervasive enablement of business processes
KR100767971B1 (en) * 2005-01-06 2007-10-18 에스케이 텔레콤주식회사 Method And System For Official Management Using Communication Network
US7933786B2 (en) 2005-11-01 2011-04-26 Accenture Global Services Limited Collaborative intelligent task processor for insurance claims
US8346872B2 (en) * 2006-06-30 2013-01-01 The Invention Science Fund I, Llc Context parameters and identifiers for communication
US8949337B2 (en) * 2006-06-30 2015-02-03 The Invention Science Fund I, Llc Generation and establishment of identifiers for communication
US9152928B2 (en) * 2006-06-30 2015-10-06 Triplay, Inc. Context parameters and identifiers for communication
US8549077B2 (en) * 2006-06-30 2013-10-01 The Invention Science Fund I, Llc Usage parameters for communication content
US20080005241A1 (en) * 2006-06-30 2008-01-03 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Usage parameters for communication content
US8577733B2 (en) * 2007-11-02 2013-11-05 Tti Inventions C Llc Method and system for dynamic order fulfillment
US20090192858A1 (en) * 2008-01-28 2009-07-30 Blake Johnson Coordination And Management Of Operational Activities Subject to Uncertainty
US8983857B2 (en) * 2008-01-28 2015-03-17 Blake Johnson Managing operational activities when contingent performance deliverables are in place
US8515786B2 (en) 2008-02-22 2013-08-20 Accenture Global Services Gmbh Rule generation system adapted for an insurance claim processing system
US8478769B2 (en) 2008-02-22 2013-07-02 Accenture Global Services Limited Conversational question generation system adapted for an insurance claim processing system
US8341189B2 (en) * 2009-03-31 2012-12-25 Microsoft Corporation Extending collaboration capabilities to external data
US20110161391A1 (en) * 2009-12-30 2011-06-30 Nelson Araujo Federated distributed workflow scheduler
CN102148862A (en) * 2011-01-27 2011-08-10 北京宏德信智源信息技术有限公司 Method for interoperating distributed heterogeneous information systems
US8707277B2 (en) * 2011-05-02 2014-04-22 Raytheon Company Systems, methods, and language for SCA CORBA descriptor files
US8813092B2 (en) 2011-10-12 2014-08-19 Raytheon Company CORBA embedded inter-orb protocol (EIOP)
US8719813B2 (en) * 2011-11-29 2014-05-06 Raytheon Company Optimized SCA CORBA descriptor for SCA CORBA descriptor files
CN103188291B (en) * 2011-12-28 2016-01-13 北京大学 A kind of method of transfer of data and device
US9766906B2 (en) 2011-12-29 2017-09-19 International Business Machines Corporation Efficient sharing of artifacts between collaboration applications
GB201214429D0 (en) * 2012-04-20 2012-09-26 Tata Consultancy Services Ltd Configurable process managment system
US10185707B2 (en) 2015-12-16 2019-01-22 Microsoft Technology Licensing, Llc Aggregate visualizations of activities performed with respect to portions of electronic documents
US10176155B2 (en) 2016-08-09 2019-01-08 Microsoft Technology Licensing, Llc Modifying a document graph to reflect information relating to a document it represents
WO2018074042A1 (en) * 2016-10-20 2018-04-26 日本電気株式会社 Cooperative planning system, cooperative planning method, and cooperative planning program
US10740407B2 (en) 2016-12-09 2020-08-11 Microsoft Technology Licensing, Llc Managing information about document-related activities

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321605A (en) * 1990-06-01 1994-06-14 Motorola, Inc. Process flow information management system
US5630069A (en) * 1993-01-15 1997-05-13 Action Technologies, Inc. Method and apparatus for creating workflow maps of business processes
WO1998008177A1 (en) * 1996-08-21 1998-02-26 I2 Technologies, Inc. System and method for extended enterprise planning across a supply chain

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994018620A1 (en) 1993-02-08 1994-08-18 Action Technologies, Inc. Method and apparatus for managing business processes
US5745687A (en) 1994-09-30 1998-04-28 Hewlett-Packard Co System for distributed workflow in which a routing node selects next node to be performed within a workflow procedure
US5634127A (en) 1994-11-30 1997-05-27 International Business Machines Corporation Methods and apparatus for implementing a message driven processor in a client-server environment
US5931900A (en) * 1997-08-25 1999-08-03 I2 Technologies, Inc. System and process for inter-domain interaction across an inter-domain connectivity plane
US6157941A (en) 1998-03-18 2000-12-05 Oracle Corporation Architecture for client-server communication over a communication link
US6311144B1 (en) * 1998-05-13 2001-10-30 Nabil A. Abu El Ata Method and apparatus for designing and analyzing information systems using multi-layer mathematical models

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321605A (en) * 1990-06-01 1994-06-14 Motorola, Inc. Process flow information management system
US5630069A (en) * 1993-01-15 1997-05-13 Action Technologies, Inc. Method and apparatus for creating workflow maps of business processes
WO1998008177A1 (en) * 1996-08-21 1998-02-26 I2 Technologies, Inc. System and method for extended enterprise planning across a supply chain

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CIANCARINI P ET AL: "A multi-agent process centered environment integrated with the WWW", PROCEEDINGS - THE WORKSHOP ON ENABLING TECHNOLOGIES: INFRASTRUCTURE FOR COLLABORATIVE ENTERPRISES, 1 January 1997 (1997-01-01), pages 113 - 120, XP002090172, ISSN: 1080-1383 *
FOX ET AL: "The Integrated Supply Chain Management System", INTERNET CITATION, 7 December 1993 (1993-12-07), pages 1 - 11, XP002090173 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002010937A1 (en) * 2000-07-31 2002-02-07 Woodland Corporation Computer linking method and control system
EP1323052A1 (en) * 2000-08-25 2003-07-02 Practicefirst.COM L.L.C. Work sharing and communicating
EP1323052A4 (en) * 2000-08-25 2010-01-20 Practicefirst Com L L C Work sharing and communicating

Also Published As

Publication number Publication date
JP2002517826A (en) 2002-06-18
US7039597B1 (en) 2006-05-02
EP1082688A1 (en) 2001-03-14
AU5079899A (en) 1999-12-20
CA2333737A1 (en) 1999-12-09
TWI239461B (en) 2005-09-11
KR20010052567A (en) 2001-06-25

Similar Documents

Publication Publication Date Title
US7039597B1 (en) Method and system for managing collaboration within and between enterprises
US6442528B1 (en) Exemplar workflow used in the design and deployment of a workflow for multi-enterprise collaboration
US6119149A (en) System and process allowing collaboration within and between enterprises for optimal decision making
US6397191B1 (en) Object-oriented workflow for multi-enterprise collaboration
US6567783B1 (en) Communication across one or more enterprise boundaries regarding the occurrence of a workflow event
US6397192B1 (en) Synchronizing one or more workflows using one or more synchronization-join activities that include synchronization logic
US6334146B1 (en) System and method for remotely accessing data
US6289384B1 (en) System and method for event notification through a firewall
US6289385B1 (en) Computer workspace providing event management based on a permissibility framework
MXPA00012057A (en) Exemplar workflow used in the design and deployment of a workflow for multi-enterprise collaboration
MXPA00012056A (en) Method and system for managing collaboration within and between enterprises
MXPA00011718A (en) Workflow synchronization
MXPA00012051A (en) System and process for multi-enterprise collaboration
MXPA00012054A (en) System amd method for implementing object workspace agents in a decision support environment
MXPA00012050A (en) Workflow communication
MXPA00012058A (en) Improved method and system for providing client callbacks through a firewall within and between enterprises
MXPA00011320A (en) System and method for creating an object workspace

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CU CZ CZ DE DE DK DK EE EE ES FI 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 MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ 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 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
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1999935288

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2333737

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 1020007013736

Country of ref document: KR

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2000 552608

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: PA/a/2000/012056

Country of ref document: MX

WWP Wipo information: published in national office

Ref document number: 1999935288

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 1020007013736

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1020007013736

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1999935288

Country of ref document: EP