Conventionally, techniques are not available for managing service flows pertaining to business process execution. Such service flows are normally categorized as Best Effort (BE) flow or another high priority flow, and the priority normally varies with the state of the workflow instance. With the advent of 4G wireless networks in the realm of business process execution, the sheer volume of data to transfer and tasks to manage can potentially overwhelm conventional business process management arrangements.
In summary, one aspect of the invention provides a method comprising: detecting an event in a wireless network; employing a service appliance in the wireless network to perform: associating the event with a task; assimilating the task into a pool of tasks; and constructing a workflow session respective to the pool of tasks; said constructing comprising assigning priority to each task and arranging the tasks in accordance with the priorities; and accommodating data subsequent to the workflow session as learning for future workflow sessions.
Another aspect of the invention provides an apparatus comprising: one or more processors; and a computer readable storage medium having computer readable program code embodied therewith and executable by the one or more processors, the computer readable program code comprising: computer readable program code configured to detect an event; computer readable program code configured to associate the event with a task; computer readable program code configured to assimilate the task into a pool of tasks; computer readable program code configured to construct a workflow session respective to the pool of tasks; computer readable program code further configured to assign priority to each task and arranging the tasks in accordance with the priorities; and computer readable program code configured to accommodate data subsequent to the workflow session as learning for future workflow sessions.
An additional aspect of the invention provides a computer program product comprising: a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising: computer readable program code configured to detect an event; computer readable program code configured to associate the event with a task; computer readable program code configured to assimilate the task into a pool of tasks; computer readable program code configured to construct a workflow session respective to the pool of tasks; computer readable program code further configured to assign priority to each task and arranging the tasks in accordance with the priorities; and computer readable program code configured to accommodate data subsequent to the workflow session as learning for future workflow sessions.
For a better understanding of exemplary embodiments of the invention, together with other and further features and advantages thereof, reference is made to the following description, taken in conjunction with the accompanying drawings, and the scope of the claimed embodiments of the invention will be pointed out in the appended claims.
It will be readily understood that the components of the embodiments of the invention, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations in addition to the described exemplary embodiments. Thus, the following more detailed description of the embodiments of the invention, as represented in the figures, is not intended to limit the scope of the embodiments of the invention, as claimed, but is merely representative of exemplary embodiments of the invention.
Reference throughout this specification to “one embodiment” or “an embodiment” (or the like) means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” or the like in various places throughout this specification are not necessarily all referring to the same embodiment.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the various embodiments of the invention can be practiced without one or more of the specific details, or with other methods, components, materials, et cetera. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
The description now turns to the figures. The illustrated embodiments of the invention will be best understood by reference to the figures. The following description is intended only by way of example and simply illustrates certain selected exemplary embodiments of the invention as claimed herein.
It should be noted that the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, apparatuses, methods and computer program products according to various embodiments of the invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Referring now to
As shown in
PCI local bus 50 supports the attachment of a number of devices, including adapters and bridges. Among these devices is network adapter 66, which interfaces computer system 100 to LAN, and graphics adapter 68, which interfaces computer system 100 to display 69. Communication on PCI local bus 50 is governed by local PCI controller 52, which is in turn coupled to non-volatile random access memory (NVRAM) 56 via memory bus 54. Local PCI controller 52 can be coupled to additional buses and devices via a second host bridge 60.
Computer system 100 further includes Industry Standard Architecture (ISA) bus 62, which is coupled to PCI local bus 50 by ISA bridge 64. Coupled to ISA bus 62 is an input/output (I/O) controller 70, which controls communication between computer system 100 and attached peripheral devices such as a keyboard, mouse, serial and parallel ports, et cetera. A disk controller 72 connects a disk drive with PCI local bus 50. The USB Bus and USB Controller (not shown) are part of the Local PCI controller (52).
Broadly contemplated herein, in accordance with at least one embodiment of the invention, are systems and methods for managed service delivery at the edge in 4G wireless networks (that is, the edge refers to access network that is closer to the user and not the core network) for: dynamic QoS (Quality of Service) provisioning and prioritization of sessions based on the task (current, future) of the workflow instance; predicting the current and future network requirements based on the current and future tasks of all business process sessions and preparing session QoS accordingly. This invention is not limited to the edge of the network and can be applied to other parts of the network namely the core and endpoints of the business process sessions.
Also broadly contemplated herein, in accordance with at least one embodiment of the invention, are providing an audit trail of business process execution and reporting on business process execution. Such measures can be applied similarly to dynamic QoS provisioning as mentioned above, as an alternative or adjunct to dynamic QoS provisioning.
Generally speaking, it should be noted that the management of business process sessions is a complex task and especially will become so in the context of 4G wireless broadband networks. In the context of several coincident business process sessions, there is broadly contemplated, in accordance with embodiments of the invention, a prioritization among sessions to manage scarce wireless resource and increase value per wireless bit.
Generally, in accordance with at least one embodiment of the invention, related business process sessions are identified and associated. These are then prioritized based on their workflow state (i.e., the current step in the workflow, the conditions met and states traversed so far to reach the current step and the priority of the current and future steps). Current workflow states and next states are used to appropriately predict and plan for future requirements. Important Tasks or events, specified as input, that are identified by a service appliance trigger a business/service layer for business process management functions, which in turn triggers a monitoring system for managing sessions.
The disclosure now turns to
In accordance with embodiments of the invention, service appliance 302 is in communication with a service command and control center 308, which carries out workflow in a manner to be described. GW 310 is communicatively interposed between service command/control center 308 and service appliance 302, with business-related priority information and event triggers also being communicated between service command/control center 308 and service appliance 302 (similarly to the functional relationship shown between service appliance 202 and business process management/service layer 208 of
A general process flow can be appreciated between a core network 300 and an edge network 301. Core network 300 includes the service command control center 308 while the edge network includes service appliance 302, base station 304 and mobile stations 306a/b. GW 310 essentially bridges these two networks 300/301. A general process flow 300a from core network 300 to edge network 301 involves business process sessions (which may be in the form of HTTP packets or any protocol) while a reverse general process flow 301a from edge network 301 to core network 300 involves feedback and updating by way of changing workflow parameters. Such feedback can also of course serve to update other elements such as actor/service databases 302a/b to be described below. These very general process flows 300a/301a will be more fully understood and appreciated from the ensuing discussion.
In accordance with embodiments of the invention, the mechanics of workflow are manifested in a Directed Acyclic Graph (DAG) 303, with the nodes of the DAG (here, A, B, C and D) representing tasks or activities. While only four tasks are shown and considered here, of course a greater number of tasks are conceivable within the scope of embodiments of the invention. In accordance with embodiments of the invention, the service appliance 202 develops the DAG 303 by way of prioritizing tasks and allocating resources, and thereby obviating a severe throttling of efficiency that might otherwise occur without such measured prioritization and allocation.
Essentially, in accordance with embodiments of the invention, DAG 303 is an abstract representation of an underlying business process. DAG 303 serves as an abstract representation capturing the tasks, their dependencies, priorities, the actors or personnel responsible for each tasks in a concise format. In embodiments of the invention, DAG 303 is provided as input in the context of the business process under consideration, wherein optimizations and ordering are captured as part of this input in the form of DAG 303.
In accordance with at least one embodiment of the invention, each of the tasks A/B/C/D are characterized by any of a variety of pertinent factors. Such factors may include, but of course need not be limited to payload size, media type, permitted delay or latency, “timeout”; priority of the task (Pt); frequency of the task to be executed; and QoS requirements for the task. In embodiments of the invention, media type refers to voice, video, data, etc., and “timeout” refers to a maximum time available to complete a step. In embodiments of the invention, each task in the DAG 203 has its own requirements in terms of the information (payload) used or created, priority, actors or humans performing the task etc. Also, these tasks have dependencies resulting, in the example shown, in task A followed by B and C more or less concurrently, followed by task D. The implication is, as the requirement and conditions of the task changes, their underlying network QoS requirements also change and need to be accommodated for efficient delivery.
In embodiments of the invention, service appliance 302 includes or has access to two databases, namely, actor database (DB) 302a and service DB 302b. Actor DB 302a contains information and data about actors available to carry out tasks 302a and service DB 302b contains information and data about the tasks themselves. Both can be updated manually and/or automatically pursuant to tasks carried out and to feedback received from the execution of such tasks.
By way of a non-restrictive and illustrative example in accordance with sample embodiments of the invention, the aforementioned actors are in the form of a mobile operational workforce, and individual actors each include or have access to a mobile station 306a/b such as in a 4G wireless network. (While only two mobile stations 306a/b are shown here, it of course should be appreciated that this number is provided merely by way of example and that a larger number of actors and attendant mobile stations are of course conceivable.) Communication between base station 304 and mobile stations 306a/b, in an example, may be via an 802.16 interface or essentially any other suitable interface. By way of organizing information and data, in accordance with at least one embodiment of the invention, the service appliance 302 serves to consolidate information/data on actors as characterized by the MSID (Mobile Station ID) 306a/b of the actor or IP address of the actor and/or the task executed. In accordance with at least one embodiment of the invention, a service or activity step is characterized or identified by the IP address and port of the web service, and/or the media type of the sessions.
Next, a business process step is detected or learned in execution of the workflow session and associated flows (404). Such identification can be carried out on any or all of at least the following bases: a DAG representation of workflow, IP Address, MSID etc.; the type of media of the session; the service address; the actor or the actor's MSID; the content of the session (SOAP messages). (Typically, service address are the URL of webservices and the webservices employ SOAP protocols. SOAP is but one example of where the service information of the business process can arrive from.)
Next (406), in embodiments of the invention, task priority is determined and QoS requirements for the related flows of the sessions and specific business related timing constraints are identified from the identified step and task specifications given as input from step 404. Again, in embodiments of the invention, priority or order is derived from the underlying business process and decided as part of the business process analysis; here, it is given as input to the system via DAG 303 (see
First, a determination is made of next workflow steps (502). Thence, the QoS of future tasks is determined (504) and priority/QoS requirements are adjusted (506). More precisely, session parameters are dynamically adjusted as per any requirements identified and also based on input from business-related middleware (as, e.g., resides in data centers to manage overall workflow executions). Based on a current step and a future predicted step, parameters are dynamically provisioned as appropriate for workflow sessions. In an example embodiment of the invention, an audit trail is also maintained of the workflow execution based on the steps and their attributes that are identified. With parallel reference to
By way of further appreciating and understanding embodiments of the invention, it should be noted that a network session typically includes control plane and data plane sub sessions. The control plane sub session has the necessary signaling mechanisms for QoS, mobility etc associated with the session and the data plane carries the actual payload. The control plane and data plane can be separate or combined. Generally, in accordance with at least one embodiment of the invention, events are detected from inspecting both the control plane and data plane of the underlying session.
Here below are three example scenarios that may be carried out in accordance with embodiments of the invention. The scenarios relate to an automotive manufacturing yard with cars destined for outbound destinations. Mobile Stations correspond to workers accessing and moving the vehicles. (Particularly, cars are manufactured and shipped by truck to a parking lot to be transported onward.) During this process, the car is checked for any known faults/defects and if no faults are found, they are parked for onward transportation. in the present example, truck drivers take pictures/videos of the cars as proof of no known visual defects and also ID the car and its location to retrieve the car later during transportation. Abbreviations include: BSID=Base Station ID; MS=Mobile Station.
By way of brief elaboration, in Scenario 1, based on the actor and the location of the actor, the step of workflow is detected. A truck driver, upon reaching a parking lot, uploads the image of a car to the central server to certify the nonexistence of any visual defects. In Scenario 2, based on the service end point, the user is trying to view the vehicles that are already in the parking lot. In Scenario 3, video is uploaded. This event is compared with the workflow steps uploading the video along with the previous steps identified with the session are compared with the workflow DAG to identify/prune the actual task being executed.
Scenario 1:
Detected Event A: Event <MSID1, *, *, *, *, BSID2>
MSID1 is Device id of Van driver Parking the vehicle
BSID2 is the parking lot
Inference: Upload bandwidth needed to upload the image and place of location
Scenario 2:
Detected Event B: <MSID2, *, *, Service-endpoint, *, BSID1>
Service-endpoint: http://xyz.com: 8023/viewVehicles.svc?wsdl
Inference:
Scenario 3:
Detected Event C: <MSID1, *, *, *, Video, *, BSID/Loc>
Based on the active workflow instances:
(Scenario 3 represents essentially a finite state machine based on the previous tasks detected and the current payload type and consistent with the DAG representation of the business process.)
As shown in
Generally, optimization or prioritization can take place in accordance with any of a variety of criteria. For instance, tasks employing similar media may be grouped or executed together while, among similar media, the priority of the task to be executed is determined (in accordance with at least one embodiment of the invention) based on the current step of the workflow and the input task priorities.
It should be noted that aspects of the invention may be embodied as a system, method or computer program product. Accordingly, aspects of the invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java®, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer (device), partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
This disclosure has been presented for purposes of illustration and description but is not intended to be exhaustive or limiting. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiments were chosen and described in order to explain principles and practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.
Although illustrative embodiments of the invention have been described herein with reference to the accompanying drawings, it is to be understood that the embodiments of the invention are not limited to those precise embodiments, and that various other changes and modifications may be affected therein by one skilled in the art without departing from the scope or spirit of the disclosure.
Number | Name | Date | Kind |
---|---|---|---|
6857020 | Chaar et al. | Feb 2005 | B1 |
7369498 | Ma et al. | May 2008 | B1 |
7656882 | Ji et al. | Feb 2010 | B2 |
8090611 | Hodges et al. | Jan 2012 | B2 |
20020156904 | Gullotta et al. | Oct 2002 | A1 |
20060224432 | Li | Oct 2006 | A1 |
20080008188 | Buga et al. | Jan 2008 | A1 |
20080040630 | Travostino et al. | Feb 2008 | A1 |
20080049787 | McNaughton et al. | Feb 2008 | A1 |
20080068445 | Rockefeller et al. | Mar 2008 | A1 |
20100002692 | Bims | Jan 2010 | A1 |
20100085917 | Gorokhov et al. | Apr 2010 | A1 |
20110067030 | Isard et al. | Mar 2011 | A1 |
Number | Date | Country |
---|---|---|
WO03009560 | Jan 2003 | WO |
Entry |
---|
Jahnert, Jurgen, et al, “The ‘pure-IP’ Moby Dick 4G architecture”, Computer Communication 28 (2004), copyright 2004 Elsevier B.V., available at URL:http://www.sciencedirect.com/science, as of Dec. 20, 2004. |
Mobile Broadband Driving Change—Challenges and Opportunities, available at URL:http://www.tellabs.com/services/tlab—npm—ov.pdf, as of Apr. 2010. |
4G & Smart Objects, available at URL:http://vertoda.wordpress.com, as of Apr. 19, 2010 17:46. |
Operax and DMX Technologies Sign Strategic Partnership, available at URL:http://www.ossnewsreview.com/telecom-oss/operax-and-dmx-technologies-sign-strategic-partnership/, as of Apr. 19, 2010 17:51. |
WiBAS, Advanced broadband wireless solutions, available at URL:http://www.sitronics.com/upload/iblock/ce3/wibas.pdf, as of Apr. 2010. |
Lawful Interception for 3G and 4G Networks, White Paper, Mar. 2010, Aqsacom Document No. 100458, available at URL:http://www.aqsacomna.com/us/articles/Aqsacom—White—paper—4G—LI—v1.pdf. |
Yuan, Soe-Tsyr and Lin, Kwei-Jay, “WISE-building simple intelligence into Web services”, Department of Management, Inf. Syst., Nat. Chengchi Univ., Taipei, Taiwan, Web Intelligence, 2003, WI 2003. Proceedings, IEEE/WIC International Conference on Publication Date: Oct. 13-17, 2003, On pp. 26-32. |
Moorsel, Aad Van, Metrics for the Internet Age: Quality of Experience and Quality of Business, Technical Report HLP-2001-179, HP Labs, Aug. 2001, also published in 5th Performability Workshop, Sep. 2001, Erlangen, Germany. |
PCT International Search Report (Forms PCT/ISA/220 and 210), PCT/EP2011/059309, International Searching Authority/European Patent Office, Oct. 27, 2011, 4 pages. |
Number | Date | Country | |
---|---|---|---|
20110321054 A1 | Dec 2011 | US |