RU2445688C2 - Моделирование пользовательского ввода и взаимодействия в приложениях на основе рабочего процесса - Google Patents

Моделирование пользовательского ввода и взаимодействия в приложениях на основе рабочего процесса Download PDF

Info

Publication number
RU2445688C2
RU2445688C2 RU2008126237/08A RU2008126237A RU2445688C2 RU 2445688 C2 RU2445688 C2 RU 2445688C2 RU 2008126237/08 A RU2008126237/08 A RU 2008126237/08A RU 2008126237 A RU2008126237 A RU 2008126237A RU 2445688 C2 RU2445688 C2 RU 2445688C2
Authority
RU
Russia
Prior art keywords
workflow
computer
host
suspension
implemented method
Prior art date
Application number
RU2008126237/08A
Other languages
English (en)
Other versions
RU2008126237A (ru
Inventor
Андрес САНАБРИА (US)
Андрес САНАБРИА
Константин МИХАЙ (US)
Константин МИХАЙ
Никхил КОТАРИ (US)
Никхил КОТАРИ
Изрейел ХИЛЕРИО (US)
Изрейел ХИЛЕРИО
Майкл ХАРДЕР (US)
Майкл ХАРДЕР
Пол Э. МЕЙБИ (US)
Пол Э. МЕЙБИ
Original Assignee
Майкрософт Корпорейшн
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=38225702&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=RU2445688(C2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2008126237A publication Critical patent/RU2008126237A/ru
Application granted granted Critical
Publication of RU2445688C2 publication Critical patent/RU2445688C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/0633Workflow analysis
    • 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/06316Sequencing of tasks or work

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Изобретение относится к средствам осуществления рабочего процесса. Технический результат заключается в облегчении работы пользователя с рабочим процессом. Моделируют точки приостановки в рабочем процессе, причем точки приостановки позволяют принимать и встраивать в рабочий процесс пользовательский ввод во время выполнения рабочего процесса так, что позволяют пользователю динамически изменять рабочий процесс во время его выполнения. Сохраняют состояния рабочего процесса при обнаружении, что рабочий процесс был неактивен в течение некоторого периода времени, при этом сохранение рабочего процесса содержит выборочное сохранение информации о состоянии рабочего процесса в соответствии с одним или более рассмотрениями времени ожидания, включающими в себя неактивность рабочего процесса. Осуществляют обмен данными между хостом и рабочим процессом во время приостановки рабочего процесса. 3 н. и 17 з.п. ф-лы, 11 ил.

Description

Уровень техники
Рабочий процесс, как правило, является потоком информации и управления в таких организациях. Бизнес непрерывно старается определить, задокументировать и упорядочить такие процессы, чтобы эффективно их выполнять. В бизнес-окружении эти процессы включают в себя продажи и обработку заказов, задачи закупок, контроль и управление материально-производственными запасами, изготовление и контроль производства, отгрузку и прием, кредиторскую задолженность и т.п.
Вычислительные системы и ассоциативно связанное программное обеспечение теперь предоставляют инструментальные средства, с помощью которых коммерческие и другие организации могут усовершенствовать свой рабочий процесс. Программные инструментальные средства могут использоваться, чтобы моделировать рабочие процессы или планировать и идентифицировать "узкие места" и возможные усовершенствования. Кроме того, когда процесс затрагивает обмен данными между людьми, отделами, заводами или даже между отдельными компаниями, вычислительные системы и сети могут использоваться, чтобы осуществить эти обмены. Такие системы и программные инструментальные средства дополнительно способны осуществлять широкомасштабные вычисления и другую обработку данных и информации, которые в типичном варианте ассоциативно связаны с деловой информацией.
Соответственно, управление рабочим процессом включает в себя эффективное управление потоком информации и контроль в бизнес-процессах организации, в которых автоматизация такой обработки информации должна привести ко многим эффективным улучшениям в современном деловом мире. Более того, такая автоматизация управления рабочим процессом теперь позволяет деловым и другим организациям дополнительно улучшить производительность, выполняя операции рабочего процесса в вычислительных системах, включающих в себя глобальные вычислительные сети, такие как Интернет.
Типичное приложение на основе рабочего процесса часто требует, чтобы было удовлетворено множество условий. Например, одним таким условием является возможность принимать решения на основе бизнес-правил. Это может включать в себя простые правила (например, типа решения да-нет на основе результата проверки кредитоспособности), и более сложные правила (например, потенциально большой набор, который должен быть оценен, чтобы принять первоначальное подтверждающее решение). Другим требованием является связи с другим программным обеспечением и другими системами вне границ рабочего процесса. Например, первоначальный запрос может быть принят от одной части приложения, в то время как некоторые аспекты (например, контактирование с кредитной службой) могут требовать связи с помощью других веб-служб или технологий. Дополнительным условием, которое должно быть удовлетворено, является правильное взаимодействие рабочего процесса с пользователями. Например, рабочий процесс должен в типичном варианте допускать отображение самого пользовательского интерфейса или взаимодействие с человеком через другое программное обеспечение. Более того, способность сохранять состояние в течение продолжительности рабочего процесса является другим условием, которое необходимо удовлетворить. Соответственно, создание и выполнение рабочего процесса в программном обеспечении ставит уникальные сложные задачи.
Например, некоторые бизнес-процессы могут занимать часы, дни или недели до завершения, и требуется сохранение информации о текущем состоянии рабочего процесса в течение такой продолжительности времени. Более того, такой вид продолжительного рабочего процесса также будет в типичном варианте связываться с другим программным обеспечением неблокирующим способом, а асинхронная связь может вызвать трудности. В то же время, тогда как моделирование фиксированных взаимодействий между программным обеспечением относительно простое, клиенты имеют склонность непрерывно требовать дополнительной гибкости, такой как способность изменять бизнес-процесс на лету. Управление разнообразными приложениями может дополнительно добавить сложностей, затрагиваемых в создании и управлении рабочим процессом.
Многие приложения для инструментальных средств рабочего процесса являются внутренними по отношению к бизнесу или организации. С приходом связанных в сеть компьютеров, имеющих модемы или другой тип линий связи, вычислительные системы в удаленных местоположениях теперь могут легко связываться друг с другом. Такая улучшенная связь позволяет приложениям рабочего процесса вычислительной системы использоваться между удаленными объектами в организации. Пример будет включать в себя передачу заказа клиента из штаб-квартиры фирмы удаленному периферийному офису продаж для верификации соответствующим менеджером по продажам и возврат результата верификации в штаб-квартиру. Приложения рабочего процесса могут также быть отдельной служебной программой в обработке деловых операций между разными компаниями. В типичном применении две компании, имеющие взаимоотношение покупатель-продавец, могут пожелать автоматизировать формирование и обработку заказов на покупку, отправок изделий, выписку счетов и инкассаций.
Например, вокруг рабочего процесса может быть построено приложение, направленное на конкретную проблему, такую как управление связями с клиентами (CRM) или на конкретный вертикальный рынок, такой как финансовые операции. Такой вид приложения обычно выполняет ряд разных бизнес-процессов. Построение логики, которая управляет такими процессами на общей базовой архитектуре, такой как Windows Workflow Foundation (Базовая архитектура рабочего процесса Windows), может сделать приложение более быстрым в построении, более быстрым в изменении и более легким в настройке. Кроме того, автоматизация таких процессов может иметь в результате значительные улучшения эффективности, которые в иных случаях невозможны. Однако такое применение между компаниями технологии рабочего процесса требует совместной работы компаний и правильного согласования и правильной неизменяемой реализации служб существующих вычислительных систем и приложений отдельной компании.
До сих пор разрабатывались инструментальные средства приложения рабочего процесса, которые предоставляют некоторую возможность автоматизации рабочего процесса посредством определения расписаний рабочих процессов. Например, покупатель может захотеть передать ряд заказов на покупку вместе со списком покупаемых продуктов продавцу, а продавец может захотеть ответить подтверждением заказа и ожидаемой датой отгрузки. Такой тип сделки может затрагивать обычную покупку клиентом продуктов у розничного продавца или, альтернативно, две большие корпорации, которые ведут регулярные деловые операции. Данные, ассоциативно связанные с заказом и подтверждением, могут быть относительно небольшими, и время передачи данных может быть порядка долей секунды. Приложение планирования рабочего процесса, работающее в вычислительной системе, может выделять системные ресурсы для транзакции во время ее состояния неопределенности, которое является обычно очень коротким.
Однако моделирование взаимодействия пользователей в рабочем процессе вызывает трудности. В частности, когда привлекаются люди, рабочий процесс может занимать длительное время для завершения, и построение масштабируемых систем требует прекращения работы рабочего процесса для взаимодействия с пользователем. Более того, управление пользовательским интерфейсом (UI) основано на состоянии рабочего процесса, невзирая на то, какой вид приложения может дополнительно увеличить затрагиваемые сложности.
Следовательно, существует необходимость преодолеть вышеупомянутые примерные недостатки, ассоциативно связанные с традиционными системами и устройствами.
Сущность изобретения
Последующее представляет упрощенное краткое изложение, для того чтобы обеспечить базовое понимание некоторых аспектов заявленного предмета изобретения. Это краткое изложение не является исчерпывающим общим представлением. Оно не имеет намерения идентифицировать ключевые/критические составные части или устанавливать границы объема заявленного предмета изобретения. Его единственной целью является представить в упрощенном виде некоторые концепции в качестве вступления к более подробному описанию, которое представлено позже.
Предмет изобретения предоставляет системы и способы, которые реализуют интерактивность/пользовательский ввод как часть самого рабочего процесса, в котором данные передаются в и из рабочего процесса, чтобы сформировать интерактивный рабочий процесс через применение компонента интерактивного действия. Такой компонент интерактивного действия моделирует опорные точки (точки приостановки) в определении рабочего процесса и является агностическим по отношению к типу приложения, чтобы заключать в себе приложения веб-служб, консоль, рабочий стол, веб-службы и т.п. Соответственно, пользовательский ввод и ассоциативно связанное взаимодействие могут применяться в рабочем процессе во время различных перерывов интерактивности, которые требуют пользовательского ввода, чтобы разрешить управляемый/синхронный обмен данными между рабочим процессом и приложением хост-системы, которое ассоциативно связано с рабочим процессом. Таким образом, в определенные моменты времени в течение выполнения рабочего процесса пользовательский контекст может быть ассоциативно связан с экземпляром рабочего процесса.
В родственном аспекте компонент интерактивного действия и опорные точки могут относиться к смене пользователей рабочего процесса. Например, рабочий процесс может управлять пользовательским интерфейсом (UI) на основе состояния рабочего процесса во время приостановки, например, выводя информацию, относящуюся к пользователю рабочего процесса. Соответственно, обеспечивается интерактивный рабочий процесс, который выполняется до определенных точек и предоставляет обратную связь ведущему приложению. Кроме того, ведущее приложение может изменять внешний вид рабочего процесса на основе состояния приостановки. Тип рабочего процесса может быть определен (например, программным образом или через визуальное инструментальное средство), и приложение хост-системы может подписаться на приостанавливающие события, чтобы обеспечить привязку к выполнению рабочего процесса. Приостанавливающее событие(я) могут затем вызываться и основываться на информации в таком событии (например, информации о текущем пользователе рабочего процесса), внешний вид UI может изменяться. Таким образом, данные могут передаваться в и из класса рабочего процесса, и настроенные признаки могут быть определены для взаимодействия во время работы (например, строго типовой рабочий процесс).
Например, в контексте отчета о расходах первоначальный пользователь может инициировать рабочий процесс отчета о расходах, а утверждающий пользователь может затем утвердить такой отчет о расходах. Таким образом, процесс может быть абстрагирован в класс рабочего процесса, в котором процесс и класс рабочего процесса работают до точки, когда должен быть задействован утверждающий. В такой точке взаимодействие с первоначальным пользователем останавливается. Утверждающий может затем запустить приложение (например, с другой машины), чтобы запустить рабочий процесс и возобновить экземпляр рабочего процесса с помощью действия, определенного утверждающим (например, утвердить, отклонить и т.п.). Таким образом, данные могут передаваться в и из экземпляра рабочего процесса в точки приостановки в течение времени жизни экземпляра рабочего процесса.
Согласно методологии предмета изобретения действие в рабочем процессе может быть проверено с целью удостовериться, означает ли оно интерактивное действие. Если так, рабочий процесс приостанавливается. Впоследствии событие приостановки вызывается и сообщается хост-системе. По существу, пока экземпляр рабочего процесса приостановлен, данные получаются от хоста и передаются в и/или из рабочего процесса. Дополнительно, если данные, полученные от хоста, указывают событие возобновления, тогда рабочий процесс может быть возобновлен. Рабочий процесс может быть загружен на основе идентификации экземпляра рабочего процесса (например, через компонент поиска). Событие возобновления может быть принято рабочим процессом и выполнено так, чтобы найти следующее действие в процессе.
Для достижения вышеприведенных и связанных целей некоторые иллюстративные аспекты заявленного предмета изобретения описаны в материалах настоящей заявки со ссылками на последующее описание и приложенные чертежи. Эти аспекты являются указывающими на различные направления, в которых предмет изобретения может быть осуществлен на практике, все из которых подразумеваются находящимися в пределах объема заявленного предмета изобретения. Другие преимущества и новые признаки могут стать очевидными из последующего подробного описания при рассмотрении в соединении с чертежами.
Краткое описание чертежей
Фиг.1 иллюстрирует примерную системную схему хост-приложения, которое взаимодействует с рабочим процессом через компонент интерактивного действия.
Фиг.2 иллюстрирует выполнение рабочего процесса с множеством точек приостановки, которые требуют взаимодействия с пользователем и/или хостом.
Фиг.3 и 4 иллюстрируют отдельную блок-схему для отчета о расходах с точками приостановки согласно примерному аспекту предмета изобретения.
Фиг.5 иллюстрирует примерный графический интерфейс, предназначенный для представления различных действий, выполняемых во время выполнения рабочего процесса.
Фиг.6 иллюстрирует обмен данными между экземпляром рабочего процесса и хост-приложением в соответствии с аспектом предмета изобретения.
Фиг.7-9 иллюстрируют примерную методологию потока выполнения рабочего процесса в соответствии с аспектом предмета изобретения.
Фиг.10 иллюстрирует типичное окружение для реализации различных аспектов предмета изобретения.
Фиг.11 является схематической блок-схемой дополнительного вычислительного окружения, которое может применяться, чтобы осуществить рабочий процесс с помощью компонента интерактивного действия предмета изобретения.
Подробное описание
Различные аспекты рассматриваемого изобретения описаны далее со ссылкой на приложенные чертежи, на всем протяжении которых одинаковые номера указывают ссылкой на идентичные или соответствующие составные части. Должно быть понятно, однако, что чертежи и подробное описание, к ним относящееся, не имеют намерением ограничивать заявленный предмет изобретения конкретным раскрытым образцом. Скорее, намерение состоит в том, чтобы покрыть все модификации, эквиваленты и варианты, попадающие в пределы сущности и объема заявленного предмета изобретения.
В качестве используемых в этой заявке термины "компонент", "система", "служба" и тому подобные имеют намерение указывать ссылкой на имеющий отношение к компьютеру объект, любое из аппаратных средств, сочетания аппаратных средств и программного обеспечения, программного обеспечения, или программного обеспечения при исполнении. Например, компонент может быть, но не только, процессом, запущенным на процессоре, процессором, объектом, исполняемым файлом, потоком исполнения, программой или компьютером. В качестве иллюстрации как приложение, работающее на компьютере, так и компьютер могут быть компонентом. Один или более компонентов могут храниться внутри процесса и/или потока исполнения, и компонент может быть локализован на вычислительной машине или распределен между двумя и более вычислительными машинами.
Слово «примерный» используется в материалах настоящей заявки, чтобы означать служащий в качестве примера, экземпляра или иллюстрации. Любой аспект или конструкция, описанные в материалах настоящей заявки как «примерные», не обязательно должны быть истолкованы в качестве предпочтительных или преимущественных над другими аспектами или конструкциями.
Дополнительно, раскрытый предмет изобретения может быть реализован в виде системы, способа, устройства или изделия производства с использованием стандартных технологий программирования и/или проектирования для производства программного обеспечения, микропрограммного обеспечения, аппаратных средств, или любого их сочетания, чтобы управлять основанным на компьютере или процессоре устройством для реализации аспектов, детализированных в материалах настоящей заявки. Термин "компьютерная программа" в качестве используемого в материалах настоящей заявки, имеет намерение охватывать компьютерную программу, доступную из любого машиночитаемого устройства, несущей или носителей. Например, машиночитаемые носители могут заключать в себе, но не ограничиваться этим, магнитные устройства хранения (например, жесткий диск, гибкий магнитный диск, магнитные полосы…), оптические диски (к примеру, компакт-диск (CD), цифровой многофункциональный диск (DVD)…), смарт-карты и устройства флэш-памяти (к примеру, карта, флэш-карта…). Дополнительно должно быть принято во внимание, что сигнал несущей волны может быть использован, чтобы переносить машиночитаемые электронные данные, такие как используемые при передаче и приеме электронной почты или при осуществлении доступа к сети, такой как Интернет или локальная сеть (LAN). Конечно, специалисты в данной области техники будут отдавать себе отчет, что многие модификации могут быть сделаны по отношению к этой конфигурации, не выходя из объема и сущности заявленного предмета изобретения.
Обращаясь сначала к фиг.1, иллюстрируется блок-схема системы 101, которая реализует интерактивность как часть самого рабочего процесса, в котором данные передаются в и из рабочего процесса, чтобы сформировать интерактивный рабочий процесс. Система 101 применяет компонент 140 интерактивного действия, который моделирует точки приостановки в определении рабочего процесса и является агностическим по отношению к типу приложения так, чтобы заключать в себе приложения веб-служб, консоль, рабочий стол, веб-службы и т.п.
Кроме того, система 101 включает в себя хост-приложение 120, которое взаимодействует с системой 100 рабочего процесса, причем рабочий процесс может моделировать человеческий или системный процесс, который определен как карта действий. Действие является этапом в рабочем процессе и является элементом выполнения, повторного использования и состава рабочего процесса. Карта действий выражает правила, действия, состояния и их связь. В типичном варианте, рабочий процесс работает через механизм/рабочую среду 110 рабочего процесса, и рабочая среда рабочего процесса требует, чтобы внешнее приложение размещало ее согласно нескольким правилам, как изображено посредством хоста 120. Обмен данными между хостом 120 и системой 100 рабочего процесса может принадлежать к и/или описывать деловые документы и другие объекты, которые применяются для или которые облегчают деятельность рабочего процесса, или поток между локальными переменными рабочего процесса, которые используются, чтобы передавать данные с помощью хост-приложения 120.
Например, хост-приложение 120 может взаимодействовать с поставщиком 115 рабочего процесса, ассоциативно связанным с системой 100 рабочего процесса, через базовый класс 117 поставщика рабочего процесса и/или реализацию, ассоциативно связанную с ним. Кроме того, хост 120 может отвечать за ряд дополнительных и критических аспектов, таких как создание одного или более рабочих процессов, размещение вызовов между различными компонентами, как необходимо для правильного выполнения рабочего процесса, и установку механизмов изоляции. Более того, хост 120 может создать множество процессов, чтобы получить преимущество множество центральных процессоров (CPU) в машине по причинам масштабируемости или запустить большое число экземпляров рабочего процесса на ферме машин. Хост 120 может дополнительно управлять политиками, чтобы применять их, когда рабочий процесс подвергается длительному ожиданию, прослушивается на предмет конкретных событий и сообщает их пользователю или администратору, устанавливает время ожидания и повторения для каждого рабочего процесса, показывает счетчики производительности и записывает информацию журнала в целях отладки и диагностики.
Рабочий процесс, ассоциативно связанный с системой 101 рабочего процесса, может связываться с внешним миром через службу, установленную конкретно для этой цели, при этом такая служба может вызывать события, которые будут захватывать управляемые событием активности внутри рабочего процесса. Также служба раскрывает открытые (публичные) способы (методы) рабочего процесса, чтобы вызывать и отправлять данные к хосту.
Как иллюстрировано на фиг.1, компонент 140 интерактивного действия может реализовывать интерактивность как часть самого рабочего процесса, в котором данные передаются в и из рабочего процесса, чтобы сформировать интерактивный рабочий процесс. Компонент 140 интерактивного действия моделирует точки приостановки в определении рабочего процесса. Соответственно, пользовательский ввод и ассоциативно связанное взаимодействие могут предоставляться в рабочий процесс во время различных перерывов интерактивности, которые требуют пользовательского ввода, допуская управляемый/синхронный обмен данными между рабочим процессом и хост-приложением, которое ассоциативно связано с рабочим процессом. Таким образом, в определенные моменты времени в течение выполнения рабочего процесса пользовательский контекст может быть ассоциативно связан с экземпляром рабочего процесса.
Фиг.2 иллюстрирует выполнение рабочего процесса 200 с множеством точек приостановки, которые требуют взаимодействия с пользователем. Точки 212-215 приостановки (1-n, где n является целым) могут быть смоделированы компонентом интерактивного действия, чтобы соответствовать примерам во время исполнения рабочего процесса, в котором рабочий процесс может быть приостановлен для обмена данными с хост-приложением, например. Кроме того, такие точки 212-215 приостановки могут относиться к смене пользователей рабочего процесса. Например, рабочий процесс может управлять пользовательским интерфейсом (UI) на основе состояния рабочего процесса во время приостановки, например, информацией, относящейся к пользователю рабочего процесса.
Рабочий процесс 200 может быть определен в форме расписания (планирования) выполнения в вычислительной системе. Расписание может включать в себя набор действий, имеющих определенный параллелизм, зависимость и атрибуты операций, ассоциативно связанных с ними. Каждое расписание имеет ассоциативно связанное состояние расписания, которое включает в себя определение расписания, текущее местоположение в расписании, также как и активные или живые данные и объекты, ассоциативно связанные с расписанием. В расписании границы транзакции могут существовать на основе группировок действий. В этом отношении операция может заключать в себе отдельные действия или операции или их группы. Действия могут быть сгруппированы в последовательности, которые выполняются последовательным образом, также как и в задачи, в которых действия выполняются одновременно, например. Следовательно, на основе группировок могут быть разрешены атрибуты параллельности для действий и операций в расписании.
Действия соответствуют работе, которая должна быть проделана в рамках расписания, и являются основным элементом, составляющим его. Такие действия могут включать в себя атрибуты, относящиеся ко времени ожидания, параллелизму и компенсации, либо альтернативно, либо в комбинации, в контексте расписания. Например, действие может отправлять внешне созданные стимулы в расписание, таким образом предоставляя возможность внешним программам улучшать состояние расписания. Эти стимулы могут быть событием, сообщением или вызовом защищенного компонента. В случае события запущенное расписание действует как абонент. Конкретные экземпляры расписания смогут выполнить действие, такое как событие, сообщение или вызов защищенного компонента.
Кроме того, действия могут управлять вызовами метода в отношении компонентов. Такие действия в типичном варианте создают компонент (например, создают экземпляр компонента), вызывают метод в отношении экземпляра и впоследствии освобождают ссылку на экземпляр, если он не используется позднее в расписании. Когда приложение выполняет расписание, может быть создан экземпляр механизма планировщика, и загружаются расписание и ассоциативно связанная привязка. Действия, кроме того, могут включать в себя информацию об ожидаемом или фактическом времени окончания или времени задержки. Такая информация может быть осуществлена в определении расписания, когда определяется расписание, и/или может быть предоставлена динамически в рабочей среде на основе исторической или прогнозной информации о времени задержки действия.
Точки 212-215 приостановки могут также указывать моменты "осушения" в рабочем процессе. Так как рабочий процесс может работать в течение часов, дней или недель, рабочая среда 200 может автоматически завершать работающий рабочий процесс и непрерывно сохранять его состояние в точках 212-215 приостановки, когда он был неактивным в течение периода времени. "Осушение", как правило, ссылается на метод выборочного сохранения состояния расписания на носителе хранения на основе рассмотрения времени ожидания. Например, когда действие в расписании предполагает ожидать в течение пяти часов входящее сообщение, состояние расписания может быть перенесено ("высушено") на диск до тех пор, пока не будет принято сообщение. В такой ситуации система может выполнять другие задачи, пока сообщение не будет принято, таким образом, значительно улучшая производительность работы и эффективность системы. Соответственно, пользовательский ввод и ассоциативно связанное взаимодействие могут применяться в рабочем процессе во время различных перерывов интерактивности, которые требуют пользовательского ввода, чтобы позволить управляемый/синхронный обмен данным между рабочим процессом и хост-приложением, которое ассоциативно связано с рабочим процессом. Таким образом, в определенные моменты времени в течение выполнения рабочего процесса пользовательский контекст может быть ассоциативно связан с экземпляром рабочего процесса.
Следующее предоставляет примерное определение компонента интерактивного действия, чтобы приостановить и/или возобновить экземпляр рабочего процесса в точках 212-215 приостановки:
Figure 00000001
Figure 00000002
Figure 00000003
Как указано, класс активности может применять свою собственную управляющую программу в целях блокирования выполнения рабочего процесса, вызывая метод Suspend в отношении службы Interactivity Service. Так можно инициировать распространение InteractionIdentifier, ассоциативно связанного с компонентом Interactive Activity до обработчика в хосте.
Соответственно, может быть предоставлен интерактивный рабочий процесс, который выполняется до определенных точек и предоставляет обратную связь к хост-приложением. Хост-приложение может изменять внешнее представление рабочего процесса на основе состояния приостановки. Тип рабочего процесса может быть определен (например, программным образом или через визуальное инструментальное средство), и хост-приложение подписывается на приостанавливающие события, чтобы обеспечить привязку к выполнению рабочего процесса. Приостанавливающее событие(я) могут затем вызываться и основываться на информации в таком событии (например, информации о текущем пользователе рабочего процесса), внешнее представление вид UI может изменяться. Таким образом, данные могут передаваться в и из класса рабочего процесса, и настроенные признаки могут быть определены для взаимодействия во время работы (например, процесс со строгим определением типов).
Фиг.3 и 4 иллюстрируют отдельные блок-схемы для отчета о расходах с точками приостановки, которые разрешают пользовательский ввод и ассоциативно связанное взаимодействие в течение различных перерывов интерактивности, которые требуют пользовательского ввода, для того чтобы разрешить управляемый и/или синхронный обмен данными между рабочим процессом и хост-приложением, которое ассоциативно связано с рабочим процессом. Блок-схемы 300 и 400 иллюстрируют применение действия SwitchUser и компонента InteractiveActivity в качестве точек приостановки в общем рабочем процессе Expense Reporting.
По существу и в контексте отчета о расходах первоначальный пользователь может инициировать рабочий процесс составления отчета о расходах, а утверждающий пользователь может затем утвердить такой отчет о расходах. Таким образом, процесс может быть абстрагирован в класс рабочего процесса, в котором процесс и класс рабочего процесса работают до точки, когда должен быть задействован утверждающий. В такой точке взаимодействие с первоначальным пользователем останавливается. Утверждающий может затем запустить приложение (например, с другой машины), чтобы запустить рабочий процесс и возобновить экземпляр рабочего процесса с помощью действия, определенного утверждающим (например, утвердить, отклонить и т.п.). Таким образом, данные могут передаваться в и из экземпляра рабочего процесса в точки приостановки в течение времени жизни экземпляра рабочего процесса.
Как показано на фиг.3, блок 310 представляет действие SubmittedER, в котором состояние приостановки указывается для приложения хост-системы, чтобы предоставить предложенный вид отчета о расходах через графический интерфейс (например, специализированная форма), как описано подробно ниже на фиг.5. Кроме того, действие 320 в определении 300 рабочего процесса представляет экземпляр действия SwitchUser, посредством которого предмет изобретения изменяет текущую ассоциативную связь между пользователем, ответственным за выполнение следующего сегмента рабочего процесса, и экземпляром рабочего процесса. Это в типичном варианте гарантирует, что рабочий процесс может быть возобновлен действием утверждения/отклонения, выполненным в контексте выполнения только соответствующего пользователя. Подобные действия 330, 430 представляют экземпляры прерывания InteractiveActivity в соответствии с примерным аспектом предмета изобретения. Подобным образом, этап 420, который обозначен как NewER, иллюстрирует новый отчет о расходах, в котором рабочий процесс становится приостановленным, пока ожидает глобальные данные отчета о расходах, которые должны быть предоставлены в результате пользовательского ввода через графический интерфейс (например, специализированная форма на фиг.5).
Рабочий процесс характеризует приложение для предоставления и утверждения отчетов о расходах, в котором приложение содержит множественные страницы, которые организованы рабочим процессом. В дополнение к различным действиям и конструкциям потока управления рабочий процесс демонстрирует то, как ассоциативно связанный пользователь может быть заменен при предоставлении утверждающему лицу отчета о расходах, например. Как объяснено ранее, во время действия 430 FillER рабочий процесс приостанавливается, и пользователь может продолжить добавлять элементы строк в отчет о расходах. Может также быть включен запрос отображения списка доступных незавершенных рабочих процессов в приложении рабочего процесса.
Например, приложение отчета о расходах может содержать домашнюю страницу, которая перечисляет незавершенные отчеты о расходах, которые были предложены текущим пользователем, и любые отчеты о расходах, ожидающие утверждения пользователем. Такое приложение позволяет создавать новые отчеты о расходах посредством определения информации, такой как назначение отчета о расходах и т.п.; добавления отдельных элементов строк; верификации точности информации. Более того, приложение может отправлять уведомление 460 по электронной почте утверждающему лицу, когда предлагается новый отчет о расходах. Утверждающее лицо может впоследствии просмотреть отчет о расходах и либо утвердить его, либо отклонить его, по окончании чего отправляется сообщение.
Следующее предоставляет примерное определение рабочего процесса Expense Reporting, который включает в себя интерактивность в соответствии с примерным аспектом предмета изобретения.
Figure 00000004
Figure 00000005
Figure 00000006
Figure 00000007
Figure 00000008
Figure 00000009
Figure 00000010
Фиг.5 иллюстрирует примерный графический интерфейс (например, специализированную форму), которая может применяться в связи с различными аспектами предмета изобретения. Такое приложение отчетности о расходах для потока 510 страниц характеризует веб-приложение для представления и утверждения, например, отчетов о расходах. Приложение содержит множественные страницы, которые организованы рабочим процессом. В добавление к различным действиям и конструкциям потока управления рабочий процесс демонстрирует то, как ассоциативно связанный пользователь может быть заменен. Поток 510 страниц также демонстрирует запрос отображения списка доступных незавершенных (в процессе обработки) рабочих процессов в приложении рабочего процесса. Например, рабочий процесс может управлять пользовательским интерфейсом (UI) на основе состояния рабочего процесса во время приостановки, например, информации, относящейся к пользователю рабочего процесса. Соответственно, обеспечивается интерактивный рабочий процесс, который выполняется до определенных точек и предоставляет обратную связь с ведущим (хостирующим) приложением. Кроме того, ведущее приложение может изменять внешнее представление рабочего процесса на основе состояния приостановки. Как объяснено выше в контексте отчета о расходах, может быть определен тип рабочего процесса (например, программным образом или через визуальное инструментальное средство), и хост-приложение подписывается на приостанавливающие события, чтобы обеспечить привязку к выполнению рабочего процесса. Приостанавливающее событие(я) могут затем вызываться, и основываясь на информации в таком событии (например, информации о текущем пользователе рабочего процесса), может изменяться внешний вид UI. Таким образом, данные могут передаваться в и из класса рабочего процесса, и настроенные признаки могут быть определены для взаимодействия во время работы (например, строго типовой рабочий процесс). Также хост может приказать экземпляру рабочего процесса идентифицировать текущее интерактивное действие, которое заставило рабочий процесс приостановиться и/или прекратить работу.
Фиг.6 иллюстрирует блок-схему системы 600, которая может моделировать точки приостановки в определении рабочего процесса, в котором данные передаются в и из рабочего процесса, чтобы сформировать интерактивный рабочий процесс. В типичном варианте событие приостановки может быть вызвано в экземпляре 640 рабочего процесса, который имеет компонент 610 интерактивного действия, играющего роль его части, чтобы разрешить приостановление в выполнении рабочего процесса либо в терминах времени, либо посредством смены текущего пользователя, например. Рабочий процесс может начать выполнение, выполняя содержащееся в составе StartActivity, и закончиться, когда выполняется StopActivity. В ходе выполнения каждое действие может проверяться, чтобы подтвердить, может ли оно быть выполнено. Если действие не может выполниться, рабочий процесс, например, приостанавливается. Если действие может быть выполнено, вызывается ассоциативно связанный метод Execute, и если метод возвращает успешный результат, переход соответствующего действия используется, чтобы определить следующее действие. Рабочие процессы могут приостанавливаться по ряду причин, таких как отмена выполнения действия, неспособность действия продолжать выполнение, конкретная задержка, введенная, чтобы отложить следующее выполнение, и смена пользовательского контекста, требующего, чтобы последующее действие выполнялось другим пользователем. После приостановки экземпляр рабочего процесса может быть сохранен/преобразован в последовательную форму в базу данных или эквивалентное хранилище, из которого он впоследствии может быть возвращен, преобразован из последовательной формы и возобновлен. Рабочий процесс может также вводить состояние ошибки, если выполнение действия заканчивается ошибкой, которая не обрабатывается.
Как иллюстрировано на фиг.6, компонент 610 интерактивного действия может вызвать событие через службу 620 интерактивности, которая ассоциативно связана с механизмом/рабочей средой 635 рабочего процесса. Впоследствии рабочий процесс приостанавливается, и хост 630 может обменяться данными (например, получить данные) с экземпляром 640 рабочего процесса. Хост может затем возобновить рабочий процесс через вызов службы 620 интерактивного действия, чтобы возобновить выполнение рабочего процесса. Соответственно, пользовательский ввод и ассоциативно связанное взаимодействие могут применяться в рабочем процессе во время различных перерывов интерактивности, которые требуют пользовательского ввода, чтобы разрешить управляемый/синхронный обмен данными между рабочим процессом и хост-приложением, которое ассоциативно связано с рабочим процессом.
Фиг.7-9 иллюстрируют примерные блок-схемы потока выполнения рабочего процесса в соответствии с аспектом предмета изобретения. В то время как примерный способ иллюстрирован и описан в данном документе как последовательность блоков, представляющих различные события и/или действия, предмет изобретения не ограничивается иллюстрированным порядком таких блоков. Например, некоторые действия или события могут происходить в различных последовательностях и/или одновременно с другими действиями или событиями наряду с последовательностью, проиллюстрированной в данном документе, в соответствии с изобретением. Кроме того, не все проиллюстрированные блоки, события или действия могут требоваться для того, чтобы реализовать методологию в соответствии с предметом изобретения. Кроме того, следует понимать, что примерный способ и другие способы согласно изобретению могут быть осуществлены в ассоциативной связи со способом, иллюстрированным и описанным в данном документе, также как и в ассоциативной связи с другими не иллюстрированными или описанными системами и устройством. Как иллюстрировано на фиг.7, методология (способ) 700 выполняет рабочий процесс 705 и переходит к следующему действию в процессе. Выполнение рабочего процесса может проверять на этапе 710, означает ли действие, которое должно быть выполнено, конец рабочего процесса. Если так, выполнение рабочего процесса заканчивается на этапе 720. Иначе, методология переходит к действию 730, в котором действие, которое должно быть выполнено рабочим процессом, проверяется, чтобы подтвердить, является ли оно интерактивным действием. Если так, рабочий процесс приостанавливается на этапе 740, чтобы допустить взаимодействие с приложением хост-системы, как описано подробно выше. Иначе, методология возвращается к этапу 705, в котором рабочий процесс выполняет текущий этап и переходит к следующему.
Как иллюстрировано на фиг.7 и следом за приостановлением рабочего процесса на этапе 740, поток выполнения переходит к вызову события приостановки в хосте на этапе 750. По существу, как иллюстрировано на фиг.8, пока экземпляр рабочего процесса приостановлен на этапе 860, происходит обмен данными между хостом и рабочим процессом на этапе 862. По существу, данные могут быть переданы в и/или из рабочего процесса. Такое может включать в себя получение данных из экземпляра рабочего процесса на этапе 864 и/или установку данных хостом на этапе 866. Соответственно, пользовательский ввод и ассоциативно связанное взаимодействие могут применяться в рабочем процессе во время различных перерывов интерактивности, которые требуют пользовательского ввода, чтобы разрешить управляемый/синхронный обмен данными между рабочим процессом и хост-приложением, которое ассоциативно связано с рабочим процессом. Таким образом, в определенные моменты времени в течение выполнения рабочего процесса пользовательский контекст может быть ассоциативно связан с экземпляром рабочего процесса.
На этапе 870 может быть выполнена верификация, чтобы проверить, являются ли данные, инициированные хостом, событием возобновления. Если нет, тогда экземпляр рабочего процесса может оставаться в приостановленном состоянии, чтобы продолжить обмен данными, и методология (способ) возвращается к действию 862. Иначе, методология переходит к фиг.9, на которой хост может отправить событие рабочему процессу, чтобы возобновить выполнение на этапе 980. Верификация может выполняться на этапе 982 относительно того, загружен ли рабочий процесс. Если так, рабочий процесс принимает событие возобновления на этапе 986 и впоследствии возвращается к действию 705, чтобы выполнить следующее действие в потоке выполнения. Иначе, и если рабочий процесс не загружен, тогда рабочий процесс загружается на основе идентификационной информации, ассоциативно связанной с ним (например, когда экземпляр рабочего процесса был создан), на этапе 984 и затем переходит к этапу 986 для возобновления рабочего процесса.
Чтобы предоставить контекст для различных аспектов заявленного предмета изобретения, фиг.10 и 11, также как и последующее обсуждение, предназначены, чтобы предоставить краткое общее описание подходящего окружения, в котором могут быть реализованы различные аспекты рассматриваемого предмета изобретения. Несмотря на то, что предмет изобретения был описан выше в общем контексте машинно-исполняемых инструкций компьютерной программы, которая работает на компьютере и/или компьютерах, специалисты в данной области техники будут принимать во внимание, что изобретение также может быть реализовано в сочетании с другими программными модулями. В целом, программные модули включают в себя процедуры, программы, компоненты, структуры данных и т.д., которые выполняют конкретные задачи и/или реализуют конкретные абстрактные типы данных. Более того, специалисты в данной области техники должны принять во внимание, что изобретательные способы могут быть осуществлены на практике с другими конфигурациями компьютерных систем, в том числе однопроцессорными или многопроцессорными компьютерными системами, миниатюрными вычислительными устройствами, универсальными вычислительными машинами, а также персональными компьютерами, "карманными" вычислительными устройствами (например, персональными цифровыми секретарями (PDA), телефонами, наручными часами…), основанных на микропроцессорах или программируемой бытовой или промышленной электронной аппаратурой, и тому подобным. Проиллюстрированные аспекты также могут быть осуществлены на практике в распределенных вычислительных средах, где задачи выполняются удаленными обрабатывающими устройствами, которые связаны через сеть передачи данных. Тем не менее некоторые, если не все, аспекты изобретения могут быть применены на практике на автономных компьютерах. В распределенном вычислительном окружении программные модули могут размещаться и на локальных, и на удаленных устройствах хранения данных.
Со ссылками на фиг.10, типичное окружение 1010 для реализации различных аспектов заявленного предмета изобретения включает в себя компьютер 1012. Компьютер 1012 включает в себя процессор 1014, системную память 1016 и системную шину 1018. Системная шина 1018 соединяет компоненты системы, в том числе (но не только) системную память 1016 с процессором 1014. Процессор 1014 может быть любым из различных доступных процессоров. Архитектуры с двумя микропроцессорами и другие многопроцессорные архитектуры также могут быть использованы в качестве процессора 1014.
Системная шина 1018 может быть любого из нескольких типов структур(ы) шин, в том числе шины памяти или контроллера памяти, периферийной шины или внешней шины и/или локальной шины, используя любую из множества архитектур шин, в том числе (но не только) 11-битную шину, шину промышленного стандарта (ISA), шину микроканальной архитектуры (MCA), расширенную шину ISA (EISA), встроенный интерфейс накопителей (IDE), локальную шину Ассоциации по стандартам в области видеоэлектроники (VLB), шину соединения периферийных компонентов (PCI), универсальную последовательную шину (USB), ускоренный графический порт (AGP), шину Международной ассоциации производителей плат памяти для персональных вычислительных машин (PCMCIA) и шину интерфейса малых вычислительных систем (SCSI).
Системная шина 1016 включает в себя энергозависимое запоминающее устройство 1020 и энергонезависимое запоминающее устройство 1022. Базовая система ввода-вывода (BIOS), содержащая основные процедуры, чтобы передавать информацию между элементами в вычислительной машине 1012, например, при загрузке, сохраняется в энергонезависимом запоминающем устройстве 1022. В качестве иллюстрации, но не ограничения, энергонезависимое запоминающее устройство 1022 может включать в себя постоянное запоминающее устройство (ROM), программируемое ПЗУ (PROM), электрически программируемое ПЗУ (EPROM), электрически стираемое ПЗУ (EEPROM) или флэш-память. Энергозависимое запоминающее устройство 1020 включает в себя оперативное запоминающее устройство (RAM), которое выступает в качестве внешней кэш-памяти. В качестве иллюстрации, но не ограничения, RAM доступно во многих формах, например синхронное ОЗУ (SRAM), динамическое RAM (DRAM), синхронное DRAM (SDRAM), SDRAM с двойной скоростью передачи данных (DDR SDRAM), улучшенное SDRAM (ESDRAM), Synchlink DRAM (SLDRAM) и direct Rambus RAM (DRRAM).
Компьютер 1012 также включает в себя сменный/стационарный, энергозависимый/энергонезависимый носитель хранения данных компьютера. Фиг.10 иллюстрирует, например, накопитель 1024 на дисках. Накопитель 1024 на дисках включает в себя (но не только) такие устройства, как накопитель на магнитных дисках, накопитель на гибких дисках, ленточный накопитель, накопитель Jaz, накопитель Zip, накопитель LS-100, карту флэш-памяти или карту Memory Stick. Помимо этого, накопитель 1024 на дисках может включать в себя носитель хранения данных независимо или в сочетании с другим носителем хранения, в том числе (но не только) накопитель на оптических дисках, например устройство чтения компакт-дисков (CD-ROM), накопитель на записываемых компакт-дисках (CD-R Drive), накопитель на перезаписываемых компакт-дисках (CD-RW Drive) или накопитель чтения универсальных цифровых дисков (DVD-ROM). Чтобы содействовать подключению дисковых запоминающих устройств 1024 к системной шине 1018, в типичном варианте используется съемный или несъемный интерфейс, такой как интерфейс 1026.
Следует принимать во внимание, что фиг.10 описывает программное обеспечение, которое выступает в качестве посредника между пользователями и базовыми вычислительными ресурсами, описанными в надлежащем операционном окружении 1010. Такое программное обеспечение включает в себя операционную систему 1028. Операционная система 1028, которая может быть сохранена на диске 1024, служит для того, чтобы контролировать и распределять ресурсы вычислительной системы 1012. Системные приложения 1030 используют преимущества управления ресурсами операционной системой 1028 посредством программных модулей 1032 и программных данных 1034, сохраненных либо в системном запоминающем устройстве 1016, либо на диске 1024. Следует принимать во внимание, что различные компоненты, описанные в данном документе, могут быть реализованы с различными операционными системами или сочетаниями операционных систем.
Пользователь вводит команды или информацию в компьютер 1012 посредством устройств(а) 1036 ввода. Устройства 1036 ввода включают в себя (но не только) указательное устройство, такое как мышь, шаровой манипулятор, перо, сенсорную панель, клавиатуру, микрофон, джойстик, игровую панель, спутниковую антенну, сканер, плату ТВ-тюнера, цифровую камеру, цифровую видеокамеру, веб-камеру и т.п. Эти и другие устройства ввода подключаются к процессору 1014 через системную шину 1018 посредством интерфейсного порта(ов) 1038. Интерфейсный порт(ы) 1038 включает в себя, например, последовательный порт, параллельный порт, игровой порт и универсальную последовательную шину (USB). Устройство(а) 1040 вывода использует те же типы портов, что и устройство(а) 1036 ввода. Таким образом, например, порт USB может быть использован для того, чтобы предусмотреть ввод в компьютер 1012 и чтобы выводить информацию из компьютера 1012 на устройство 1040 вывода. Адаптер 1042 вывода предусмотрен для того, чтобы проиллюстрировать, что существуют некоторые устройства 1040 вывода, такие как мониторы, динамики и принтеры среди прочих устройств 1040 вывода, которые требуют специальных адаптеров. Адаптеры 1042 вывода включают в себя, в качестве иллюстрации, но не ограничения, видео- и звуковые платы, которые обеспечивают средство соединения между устройством 1040 вывода и системной шиной 1018. Следует заметить, что другие устройства и/или системы устройств предоставляют возможности как ввода, так и вывода, такие как удаленный компьютер(ы) 1044.
Компьютер 1012 может работать в сетевом окружении, используя логические соединения к одному или более удаленным компьютерам, например удаленным компьютерам 1044. Удаленным компьютером(ами) 1044 может быть персональный компьютер, сервер, маршрутизатор, сетевая ПЭВМ, рабочая станция, устройство на базе микропроцессора, одноранговое устройство или другой стандартный сетевой узел и т.п., и типично включает в себя большинство или все элементы, описанные относительно компьютера 1012. В целях краткости, только запоминающее устройство 1046 хранения проиллюстрировано с удаленным компьютером(ами) 1044. Удаленные компьютеры 1044 логически подключены к компьютеру 1012 посредством сетевого интерфейса 1048 и затем физически подключены через коммуникационное соединение 1050. Сетевой интерфейс 1048 заключает в себе сети обмена данными, такие как локальные сети вычислительные (LAN) и глобальные вычислительные сети (WAN). Технологии LAN включают в себя распределенный интерфейс передачи данных по волоконно-оптическим каналам (FDDI), распределенный проводной интерфейс передачи данных (CDDI), Ethernet/IEEE 802,3, Token Ring/IEEE 802,5 и т.п. Технологии WAN включают в себя, но не только, двухточечные каналы связи, сети с коммутацией каналов, такие как цифровые сети с комплексными услугами (ISDN) и их разновидности, сети с коммутацией пакетов и цифровые абонентские линии (DSL).
Коммуникационные соединения 1050 означает аппаратные средства/программное обеспечение, используемое для того, чтобы подключить сетевой интерфейс 1048 к шине 1018. Хотя коммуникационное соединение 1050 показано в целях иллюстративной ясности внутри компьютера 1012, оно также может быть внешним по отношению к компьютеру 1012. Аппаратные средства/программное обеспечение, необходимое для подключения к сетевому интерфейсу 1048, включает в себя (только для типичных целей) внутренние и внешние технологии, например модемы, в том числе модемы на регулярных телефонных линиях, кабельные модемы и DSL-модемы, ISDN-адаптеры и платы Ethernet.
Фиг.11 - схематическая блок-схема примерного вычислительного окружения 1100, которое может быть использовано для реализации рабочего процесса с компонентом интреактивности настоящего изобретения. Система 1100 включает в себя одного или более клиентов 1110. Клиентом(ами) 1110 могут быть аппаратные средства и/или программное обеспечение (к примеру, потоки, процессы, вычислительные устройства). Система 1100 также включает в себя один или более серверов 1130. Сервером(ами) 1130 также могут быть аппаратные средства и/или программное обеспечение (к примеру, потоки, процессы, вычислительные устройства). Серверы 1130, например, могут обеспечивать содержание потоков для выполнения преобразований посредством применения компонентов, описанных в данном документе, например. Одна из возможных связей между клиентом 1110 и сервером 1130 может быть осуществлена в виде пакета данных, адаптированного для передачи между двумя или более вычислительными процессами. Система 1100 включает в себя структуру 1150 обмена данными, которая может быть использована, чтобы облегчить обмен данными между клиентом(ами) 1110 и сервером(ами) 1130. Клиент(ы) 1110 функционально подключены к одному или более запоминающих устройств 1160 данных клиента, которые могут быть использованы, чтобы сохранять информацию локально на клиенте(ах) 1110. Так же сервер(ы) 1130 удобно подключены к одному или более запоминающих устройств 1140 данных сервера, которые могут быть использованы, чтобы сохранять информацию локально на серверах 1130.
То, что было описано в данном документе, включает в себя различные примерные аспекты. Конечно, невозможно описать каждое вероятное сочетание компонентов или методологий в целях описания этих аспектов, но обычный специалист в данной области техники может признать, что многие дополнительные сочетания и перестановки таких вариантов осуществления допустимы. Следовательно, описанные в данном документе аспекты предназначены для того, чтобы охватывать все подобные преобразования, модификации и разновидности, которые попадают под дух и область применения прилагаемой формулы изобретения. Более того, в пределах того, как термин "включает в себя" используется либо в подробном описании, либо в формуле изобретения, этот термин должен быть включающим способом, аналогичным термину "содержит", как "содержит" интерпретируется, когда используется в качестве промежуточного слова в формуле изобретения.

Claims (20)

1. Реализованная компьютером система осуществления интерактивного рабочего процесса, содержащая следующие компоненты:
процессор,
память, содержащую систему рабочего процесса, имеющую компонент интерактивного действия, который моделирует точки приостановки в рабочем процессе, причем точки приостановки позволяют принимать и встраивать в рабочий процесс пользовательский ввод во время выполнения рабочего процесса так, что компонент интерактивного действия позволяет пользователю динамически изменять рабочий процесс во время его выполнения, при этом система рабочего процесса сконфигурирована для сохранения состояния рабочего процесса при обнаружении, что рабочий процесс был неактивен в течение некоторого периода времени, при этом сохранение рабочего процесса содержит выборочное сохранение информации о состоянии рабочего процесса в соответствии с одним или более рассмотрениями времени ожидания, включающими в себя неактивность рабочего процесса; и
хост, который обменивается данными с рабочим процессом в точках приостановки.
2. Реализованная компьютером система по п.1, в которой точки приостановки имеют перерывы интерактивности для пользовательского ввода.
3. Реализованная компьютером система по п.1, в которой компонент интерактивного действия переключается между множеством пользователей.
4. Реализованная компьютером система по п.2, в которой рабочий процесс является загружаемым на основе идентификационной информации, ассоциативно связанной с ним.
5. Реализованная компьютером система по п.1, в которой точки приостановки ассоциативно связаны с изменяемым внешним видом пользовательского интерфейса (UI) рабочего процесса.
6. Реализованная компьютером система по п.5, в которой UI управляется на основе состояния рабочего процесса во время приостановки.
7. Реализованная компьютером система по п.5, в которой рабочий процесс является возобновляемым посредством действия хост-системы.
8. Реализованная компьютером система по п.5, в которой система рабочего процесса имеет класс поставщика рабочего процесса для связи с хостом.
9. Реализованный компьютером способ реализации интерактивного рабочего процесса, содержащий следующие этапы, на которых:
встречают в работе компьютерной системы действие, которое приостанавливает рабочий процесс в точке приостановки, причем точки приостановки позволяют принимать и встраивать в рабочий процесс пользовательский ввод во время выполнения рабочего процесса так, что компонент интерактивного действия позволяют пользователю динамически изменять рабочий процесс во время его выполнения, при этом система рабочего процесса сконфигурирована сохранять состояние рабочего процесса при обнаружении, что рабочий процесс был неактивен в течение некоторого периода времени, при этом сохранение рабочего процесса содержит выборочное сохранение информации о состоянии рабочего процесса в соответствии с одним или более рассмотрениями времени ожидания, включающими в себя неактивность рабочего процесса,
обмениваются данными между хостом и рабочим процессом во время приостановки рабочего процесса.
10. Реализованный компьютером способ по п.9, дополнительно содержащий этап, на котором устанавливают данные посредством хоста.
11. Реализованный компьютером способ по п.9, дополнительно содержащий этап, на котором отправляют событие посредством хоста рабочему процессу, чтобы возобновить выполнение.
12. Реализованный компьютером способ по п.9, содержащий этап, на котором загружают рабочий процесс на основе идентификационной информации экземпляра рабочего процесса.
13. Реализованный компьютером способ по п.9, дополнительно содержащий этап, на котором выполняют верификацию, являются ли данные событием возобновления.
14. Реализованный компьютером способ по п.9, дополнительно содержащий этап, на котором вызывают событие приостановки в хосте.
15. Реализованный компьютером способ по п.14, дополнительно содержащий один из этапов из: изменения и модификации UI на основе события приостановки.
16. Реализованный компьютером способ по п.14, дополнительно содержащий этап, на котором подают пользовательский ввод данных в рабочий процесс.
17. Реализованный компьютером способ по п.14, дополнительно содержащий этап, на котором подписывают хост на приостанавливающие события в рабочем процессе.
18. Реализованный компьютером способ по п.14, дополнительно содержащий этап, на котором определяют состояние рабочего процесса через запрашивание экземпляра рабочего процесса идентифицировать интерактивное действие, которое вызвало приостановление рабочего процесса.
19. Реализованный компьютером способ по п.14, дополнительно содержащий этап, на котором изменяют внешний вид рабочего процесса на основе точек приостановки.
20. Реализованная компьютером система осуществления интерактивного рабочего процесса, содержащая следующие компоненты:
средство для обработки выполняемых компьютером инструкций,
средство для сохранения выполняемых компьютером инструкций, причем упомянутые инструкции формируют:
средство для приостановки рабочего процесса в точке приостановки, причем точки приостановки позволяют принимать и встраивать в рабочий процесс пользовательский ввод во время выполнения рабочего процесса так, что компонент интерактивного действия позволяют пользователю динамически изменять рабочий процесс во время его выполнения, при этом система рабочего процесса сконфигурирована для сохранения состояния рабочего процесса при обнаружении, что рабочий процесс был неактивен в течение некоторого периода времени, при этом упомянутое сохранение содержит выборочное сохранение информации о состоянии рабочего процесса в соответствии с одним или более рассмотрениями времени ожидания, включающими в себя неактивность рабочего процесса, при этом система рабочего процесса дополнительно позволяет принимать пользовательский ввод для этого рабочего процесса, в то время как информация о состоянии рабочего процесса является выборочно сохраненной; и
средство для обмена данными между хостом и рабочим процессом во время приостановки рабочего процесса,
средство для возобновления рабочего процесса.
RU2008126237/08A 2005-12-29 2006-12-07 Моделирование пользовательского ввода и взаимодействия в приложениях на основе рабочего процесса RU2445688C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/321,490 US8849691B2 (en) 2005-12-29 2005-12-29 Modeling user input and interaction in workflow based applications
US11/321,490 2005-12-29

Publications (2)

Publication Number Publication Date
RU2008126237A RU2008126237A (ru) 2010-01-10
RU2445688C2 true RU2445688C2 (ru) 2012-03-20

Family

ID=38225702

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008126237/08A RU2445688C2 (ru) 2005-12-29 2006-12-07 Моделирование пользовательского ввода и взаимодействия в приложениях на основе рабочего процесса

Country Status (8)

Country Link
US (2) US8849691B2 (ru)
EP (1) EP1969484A4 (ru)
JP (1) JP2009522645A (ru)
KR (1) KR20080087804A (ru)
CN (1) CN101346713B (ru)
BR (1) BRPI0618302A8 (ru)
RU (1) RU2445688C2 (ru)
WO (1) WO2007078593A1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015076695A1 (en) * 2013-11-25 2015-05-28 Yandex Llc System, method and user interface for gesture-based scheduling of computer tasks

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412513B2 (en) * 2003-11-14 2008-08-12 Microsoft Corporation Systems and methods for using metrics to control throttling and swapping in a message processing system
US8849691B2 (en) 2005-12-29 2014-09-30 Microsoft Corporation Modeling user input and interaction in workflow based applications
JP2009110276A (ja) * 2007-10-30 2009-05-21 Toshiba Corp 顧客対応作成管理装置、顧客対応管理システム、及び顧客対応作成管理プログラム
US8429668B2 (en) * 2007-12-07 2013-04-23 Sap Ag Workflow task re-evaluation
US10169199B2 (en) 2008-06-10 2019-01-01 Microsoft Technology Licensing, Llc Automatic model-specific debugger extensions
EP2199960A1 (en) * 2008-12-17 2010-06-23 Accenture Global Services GmbH Manufacturing collaboration hub data exchange interface
US9354847B2 (en) 2008-12-29 2016-05-31 Microsoft Technology Licensing, Llc Interface infrastructure for a continuation based runtime
JP2011008506A (ja) * 2009-06-25 2011-01-13 Fuji Xerox Co Ltd 文書処理装置、文書処理プログラム、及び文書フローシステム
CN101741666B (zh) * 2010-02-26 2012-02-01 西安交通大学 一种通过网络结构划分来实现工作流多实例的方法
US8522256B2 (en) * 2010-10-12 2013-08-27 Microsoft Corporation Hosting non-messaging workflows in a messaging host
US8984531B2 (en) * 2011-06-01 2015-03-17 Microsoft Technology Licensing, Llc Episodic coordination model for distributed applications
US9536264B2 (en) 2011-11-14 2017-01-03 Microsoft Technology Licensing, Llc Host agnostic messaging in a continuation based runtime
KR101508496B1 (ko) * 2011-11-25 2015-04-10 서강대학교산학협력단 자산 기반의 요구사항 시뮬레이터 및 요구사항 관리 방법
US10332213B2 (en) * 2012-03-01 2019-06-25 Ricoh Company, Ltd. Expense report system with receipt image processing by delegates
US9483307B2 (en) * 2013-09-04 2016-11-01 Swiftpage Act! Llc Asynchronous, interactive task workflows
US10289411B2 (en) 2013-11-18 2019-05-14 Microsoft Technology Licensing, Llc Diagnosing production applications
KR102348354B1 (ko) * 2013-11-19 2022-01-11 국민대학교산학협력단 원격 시뮬레이션 과정을 관리하는 클라우드 서비스 제공 방법
KR102205651B1 (ko) * 2013-11-19 2021-01-21 국민대학교산학협력단 원격 시뮬레이션 과정을 관리하는 클라우드 서비스 제공 방법
EP2933064A1 (en) * 2014-04-17 2015-10-21 Aldebaran Robotics System, method and computer program product for handling humanoid robot interaction with human
US9552562B2 (en) * 2014-09-26 2017-01-24 Oracle International Corporation Visual information builder for business rules
US9612939B2 (en) * 2014-10-29 2017-04-04 Microsoft Technology Licensing, Llc. Diagnostic workflow for production debugging
US10235337B2 (en) * 2015-06-24 2019-03-19 EMC IP Holding Company LLC Distributed work flow using database replication
US10127509B2 (en) 2015-09-17 2018-11-13 Bank Of America Corporation System for temporarily suspending a workflow associated with a work item
US10528327B2 (en) * 2015-11-23 2020-01-07 Microsoft Technology Licensing Llc Workflow development system with ease-of-use features
US10423393B2 (en) 2016-04-28 2019-09-24 Microsoft Technology Licensing, Llc Intelligent flow designer
US10353560B2 (en) 2016-04-28 2019-07-16 Microsoft Technology Licensing, Llc Debugging a flow
US11169982B2 (en) * 2016-06-30 2021-11-09 Microsoft Technology Licensing, Llc Dynamic deactivation of cold database in database service
US10379826B1 (en) * 2018-03-08 2019-08-13 International Business Machines Corporation Determining inputs to an integration flow component
US10904238B2 (en) 2018-07-13 2021-01-26 Sap Se Access token management for state preservation and reuse
US11238386B2 (en) 2018-12-20 2022-02-01 Sap Se Task derivation for workflows
US11467858B2 (en) * 2019-03-27 2022-10-11 Amazon Technologies, Inc. Techniques for performing continuation workflows
US11366681B2 (en) 2019-03-27 2022-06-21 Amazon Technologies, Inc. Chaining virtual machines
US10963287B2 (en) 2019-03-27 2021-03-30 Amazon Technologies, Inc. Reducing request latency in a multi-tenant web service host
US20210089990A1 (en) * 2019-09-19 2021-03-25 Sap Se Intelligent forms platform for modeling workflow forms
US11446818B2 (en) * 2019-10-01 2022-09-20 UiPath, Inc. Resuming robotic process automation workflows based on external triggers
US11444903B1 (en) * 2021-02-26 2022-09-13 Slack Technologies, Llc Contextual discovery and design of application workflow
CN116909768B (zh) * 2023-07-12 2024-09-03 深圳市魔数智擎人工智能有限公司 一种基于工作流的应用程序中对用户输入和交互建模系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999910A (en) * 1997-10-06 1999-12-07 Fmr Corp. Processing a workflow item
US6151583A (en) * 1996-09-27 2000-11-21 Hitachi, Ltd. Workflow management method and apparatus
US6397191B1 (en) * 1998-06-05 2002-05-28 I2 Technologies Us, Inc. Object-oriented workflow for multi-enterprise collaboration
RU2191425C2 (ru) * 2000-04-03 2002-10-20 Северо-Кавказский региональный центр информатизации высшей школы Способ оптимизации параллельной обработки информации для минимизации ее времени
US6473794B1 (en) * 1999-05-27 2002-10-29 Accenture Llp System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework

Family Cites Families (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490097A (en) 1993-03-22 1996-02-06 Fujitsu Limited System and method for modeling, analyzing and executing work process plans
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
JP2666755B2 (ja) 1995-01-11 1997-10-22 日本電気株式会社 ワークフローシステム
US7069451B1 (en) * 1995-02-13 2006-06-27 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5999911A (en) 1995-06-02 1999-12-07 Mentor Graphics Corporation Method and system for managing workflow
US6272672B1 (en) 1995-09-06 2001-08-07 Melvin E. Conway Dataflow processing with events
DE19705955A1 (de) 1996-03-29 1997-10-02 Ibm Verfahren zum Generieren einer Implementierung eines Workflow-Prozessmodells in einer Objektumgebung
AU2453797A (en) 1996-04-10 1997-10-29 Paul M. Konnersman Computer-based system for work processes that consist of interdependent decisions involving one or more participants
US5748962A (en) 1996-09-30 1998-05-05 Mci Communications Corporation Common channels for inter-application communications
US6041306A (en) * 1996-12-05 2000-03-21 Hewlett-Packard Company System and method for performing flexible workflow process execution in a distributed workflow management system
JPH10207939A (ja) 1997-01-17 1998-08-07 Nec Corp ワークフローシステム
EP0854431A3 (en) 1997-01-20 2001-03-07 International Business Machines Corporation Events as activities in process models of workflow management systems
US6047260A (en) 1997-06-05 2000-04-04 Attention Control Systems, Inc. Intelligent planning and calendaring system with cueing feature and floating tasks
US5960404A (en) 1997-08-28 1999-09-28 International Business Machines Corp. Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation
CA2226062A1 (en) * 1997-12-31 1999-06-30 Ibm Canada Limited-Ibm Canada Limitee Workflow mechanism for a stateless environment
US6339838B1 (en) 1998-01-02 2002-01-15 At&T Corp. Control of commercial processes
US6230197B1 (en) 1998-09-11 2001-05-08 Genesys Telecommunications Laboratories, Inc. Method and apparatus for rules-based storage and retrieval of multimedia interactions within a communication center
JPH11306244A (ja) 1998-04-16 1999-11-05 Hitachi Ltd ワーク管理システム
US6134559A (en) 1998-04-27 2000-10-17 Oracle Corporation Uniform object model having methods and additional features for integrating objects defined by different foreign object type systems into a single type system
US6430538B1 (en) 1998-04-30 2002-08-06 Enterworks Workflow management system, method and medium with personal subflows
US6442528B1 (en) 1998-06-05 2002-08-27 I2 Technologies Us, Inc. Exemplar workflow used in the design and deployment of a workflow for multi-enterprise collaboration
US6282531B1 (en) 1998-06-12 2001-08-28 Cognimed, Llc System for managing applied knowledge and workflow in multiple dimensions and contexts
US6772407B1 (en) 1998-10-02 2004-08-03 International Business Machines Corporation Staging objects in workflow management systems
US6820118B1 (en) 1999-01-20 2004-11-16 International Business Machines Corporation Method and system for providing a linkage between systems management systems and applications
DE10003015A1 (de) * 1999-02-06 2000-08-17 Ibm Die Erzeugung von Ereignis-Bedingungs-Aktions-Regeln aus Prozessmodellen
US6499023B1 (en) 1999-02-19 2002-12-24 Lucent Technologies Inc. Data item evaluation based on the combination of multiple factors
US8862507B2 (en) 1999-06-14 2014-10-14 Integral Development Corporation System and method for conducting web-based financial transactions in capital markets
US6539396B1 (en) 1999-08-31 2003-03-25 Accenture Llp Multi-object identifier system and method for information service pattern environment
US6434568B1 (en) 1999-08-31 2002-08-13 Accenture Llp Information services patterns in a netcentric environment
JP2001084320A (ja) * 1999-09-13 2001-03-30 Oki Electric Ind Co Ltd ワークフロー管理システム
US6769113B1 (en) 1999-10-08 2004-07-27 International Business Machines Corporation Enterprise process models and enterprise application for information technologies
KR100377189B1 (ko) 1999-12-24 2003-03-28 한국전자통신연구원 워크플로우 시스템과 어플리케이션간의 데이터 교환시스템 및 그 방법
US6968503B1 (en) 2000-03-09 2005-11-22 Quovadx, Inc. XML user interface for a workflow server
US7503033B2 (en) 2000-04-28 2009-03-10 Microsoft Corporation Model for business workflow processes
US6772216B1 (en) 2000-05-19 2004-08-03 Sun Microsystems, Inc. Interaction protocol for managing cross company processes among network-distributed applications
US6922685B2 (en) 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
JP2001356907A (ja) 2000-06-09 2001-12-26 Ibm Japan Ltd 処理コード情報を有するデータベース・システムおよび情報処理システム
US20030033191A1 (en) * 2000-06-15 2003-02-13 Xis Incorporated Method and apparatus for a product lifecycle management process
US6854016B1 (en) 2000-06-19 2005-02-08 International Business Machines Corporation System and method for a web based trust model governing delivery of services and programs
US7219304B1 (en) 2000-06-19 2007-05-15 International Business Machines Corporation System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform
US6859217B2 (en) 2000-07-19 2005-02-22 Microsoft Corporation System and method to display and manage data within hierarchies and polyarchies of information
US20020038450A1 (en) 2000-08-03 2002-03-28 International Business Machines Corporation Method and system to run stored procedures as workflow activity implementations
AU2001286848A1 (en) 2000-08-28 2002-03-13 Michael D. Harold System and method for transmitting and retrieving data via a distributed persistence framework
US20020188597A1 (en) 2000-09-01 2002-12-12 Jonathan Kern Methods and systems for linking tasks to workflow
AU2001288827A1 (en) 2000-09-08 2002-03-22 Asera, Inc. Integrated design environment for a commerce server system
US7653566B2 (en) 2000-11-30 2010-01-26 Handysoft Global Corporation Systems and methods for automating a process of business decision making and workflow
US6801227B2 (en) 2001-01-16 2004-10-05 Siemens Medical Solutions Health Services Inc. System and user interface supporting user navigation and concurrent application operation
US6675133B2 (en) 2001-03-05 2004-01-06 Ncs Pearsons, Inc. Pre-data-collection applications test processing system
US6847974B2 (en) * 2001-03-26 2005-01-25 Us Search.Com Inc Method and apparatus for intelligent data assimilation
US6966049B2 (en) 2001-04-24 2005-11-15 Heuristics Physics Laboratories, Inc. Software development tool employing workflows for developing user interactive programs
JP2002324155A (ja) 2001-04-26 2002-11-08 Hitachi Ltd ワークフロー・システムおよびプログラム
US6941514B2 (en) 2001-04-30 2005-09-06 Bellsouth Intellectual Property Corporation System and method for priority-based work order scheduling
US6983421B1 (en) 2001-06-22 2006-01-03 I2 Technologies Us, Inc. Using connectors to automatically update graphical user interface elements at a client system according to an updated state of a configuration
US7100147B2 (en) 2001-06-28 2006-08-29 International Business Machines Corporation Method, system, and program for generating a workflow
US7069536B2 (en) 2001-06-28 2006-06-27 International Business Machines Corporation Method, system, and program for executing a workflow
GB2377779A (en) 2001-07-18 2003-01-22 Hewlett Packard Co Computer apparatus for implementing a workflow with graphical representation
US20030023622A1 (en) 2001-07-27 2003-01-30 Liaison Technology, Inc. Manual activity persistence in content management workflow systems
WO2003015000A1 (en) 2001-08-08 2003-02-20 Trivium Systems Inc. Workflow engine for automating business processes in scalable multiprocessor computer platforms
US20030135384A1 (en) 2001-09-27 2003-07-17 Huy Nguyen Workflow process method and system for iterative and dynamic command generation and dynamic task execution sequencing including external command generator and dynamic task execution sequencer
US20030078975A1 (en) 2001-10-09 2003-04-24 Norman Ken Ouchi File based workflow system and methods
EP1444609A4 (en) 2001-10-18 2007-09-05 Bea Systems Inc APPLICATION VISIBILITY COMPONENT FOR SYSTEM INTEGRATION
US20030090514A1 (en) 2001-10-23 2003-05-15 Cole Douglas J. Business process user interface generation system and method
US7389335B2 (en) 2001-11-26 2008-06-17 Microsoft Corporation Workflow management based on an integrated view of resource identity
US7370335B1 (en) * 2001-11-29 2008-05-06 Vignette Corporation System and method for providing a public application program interface
US7865867B2 (en) 2002-03-08 2011-01-04 Agile Software Corporation System and method for managing and monitoring multiple workflows
US20030233374A1 (en) 2002-03-14 2003-12-18 Ulrich Spinola Dynamic workflow process
EP1502218A4 (en) 2002-04-15 2005-08-17 Invensys Sys Inc METHOD AND DEVICES FOR A PROCESS-, FACTORY-, ENVIRONMENT-, ENVIRONMENT- AND COMPUTER AIDED MANUFACTURING-BASED OR OTHERWISE CONTROL SYSTEM WITH REAL-TIME DATA DISTRIBUTION
US7627631B2 (en) 2002-05-02 2009-12-01 Bea Systems, Inc. Systems and methods for collaborative business plug-ins
JP2003331095A (ja) 2002-05-13 2003-11-21 Nec Software Kyushu Ltd Db管理によるワークフロー(申請承認業務)システム
US7149747B1 (en) 2002-06-27 2006-12-12 Siebel Systems, Inc. Dynamic generation of user interface components
AU2003262702A1 (en) 2002-08-23 2004-03-11 Jway Group, Inc. Extensible user interface (xui) framework and development environment
US20040078105A1 (en) 2002-09-03 2004-04-22 Charles Moon System and method for workflow process management
US7729935B2 (en) 2002-10-23 2010-06-01 David Theiler Method and apparatus for managing workflow
US20040103014A1 (en) 2002-11-25 2004-05-27 Teegan Hugh A. System and method for composing and constraining automated workflow
US7299244B2 (en) 2002-12-10 2007-11-20 Hewlett-Packard Development Company, L.P. System and method for dynamic sequencing of a requirements-based workflow
US7448024B2 (en) 2002-12-12 2008-11-04 Bea Systems, Inc. System and method for software application development in a portal environment
US7272820B2 (en) 2002-12-12 2007-09-18 Extrapoles Pty Limited Graphical development of fully executable transactional workflow applications with adaptive high-performance capacity
US7171664B2 (en) 2002-12-16 2007-01-30 International Business Machines Corporation Content management system and method of employing extensible workflow entities with user-defined attributes in an object-oriented framework
US7711694B2 (en) 2002-12-23 2010-05-04 Sap Ag System and methods for user-customizable enterprise workflow management
US7555538B2 (en) 2002-12-26 2009-06-30 Research In Motion Limited System and method for building and execution of platform-neutral generic services' client applications
US7409674B2 (en) 2002-12-26 2008-08-05 Research In Motion Limited System and method of creating and communicating with component based wireless applications
GB2396928A (en) 2003-01-04 2004-07-07 Quicksilva Ltd Business process management tool framework
US20040162741A1 (en) * 2003-02-07 2004-08-19 David Flaxer Method and apparatus for product lifecycle management in a distributed environment enabled by dynamic business process composition and execution by rule inference
US6839062B2 (en) 2003-02-24 2005-01-04 Microsoft Corporation Usage semantics
US20050022164A1 (en) 2003-02-25 2005-01-27 Bea Systems, Inc. Systems and methods utilizing a workflow definition language
US20050044173A1 (en) 2003-02-28 2005-02-24 Olander Daryl B. System and method for implementing business processes in a portal
US20050005259A1 (en) 2003-03-14 2005-01-06 Infowave Software, Inc. System and method for communication and mapping of business objects between mobile client devices and a plurality of backend systems
US7370333B2 (en) 2003-06-02 2008-05-06 Microsoft Corporation Efficient processing of a convoy workflow scenario in a message driven process
US7876705B2 (en) 2003-06-25 2011-01-25 Schlumberger Technology Corporation Method and apparatus and program storage device for generating a workflow in response to a user objective and generating software modules in response to the workflow and executing the software modules to produce a product
JP2005050318A (ja) 2003-07-16 2005-02-24 Ricoh Co Ltd ワークフロー管理装置、ワークフロー管理方法、ワークフロー管理プログラム及び記録媒体
JP2005063253A (ja) 2003-08-18 2005-03-10 Knowledge Works:Kk クリニカルフロー実行方法、及び、クリニカルフロー実行システム
CA2443454A1 (en) 2003-09-11 2005-03-11 Teamplate Inc. Data binding method in workflow system
US20050096959A1 (en) * 2003-10-31 2005-05-05 Microsoft Corporation Rule engine method and system
US7698383B2 (en) 2004-02-27 2010-04-13 Research In Motion Limited System and method for building component applications using metadata defined mapping between message and data domains
US20050203757A1 (en) 2004-03-11 2005-09-15 Hui Lei System and method for pervasive enablement of business processes
US7881233B2 (en) 2004-09-01 2011-02-01 Cisco Technology, Inc. Techniques for planning a conference using location data
US7464366B2 (en) 2004-10-01 2008-12-09 Microsoft Corporation Programming interface for a componentized and extensible workflow model
US7792693B2 (en) 2005-02-25 2010-09-07 Novell, Inc. Distributed workflow techniques
US8140373B2 (en) * 2005-04-07 2012-03-20 International Business Machines Corporation Data driven dynamic workflow
US8230042B2 (en) * 2005-04-19 2012-07-24 International Business Machines Corporation Policy based auditing of workflows
US7363628B2 (en) 2005-06-27 2008-04-22 Microsoft Corporation Data centric and protocol agnostic workflows for exchanging data between a workflow instance and a workflow host
US20070156487A1 (en) 2005-12-29 2007-07-05 Microsoft Corporation Object model on workflow
US8849691B2 (en) 2005-12-29 2014-09-30 Microsoft Corporation Modeling user input and interaction in workflow based applications
US7680683B2 (en) 2005-12-29 2010-03-16 Microsoft Corporation Dynamically repositioning workflow by end users
US20070156486A1 (en) 2005-12-29 2007-07-05 Microsoft Corporation Multiple concurrent workflow persistence schemes
US20070245300A1 (en) 2006-03-22 2007-10-18 Benjamin Chan Apparatus, system, and method for presenting project scheduling information in combination with workflow information
US8024405B2 (en) 2006-03-30 2011-09-20 Microsoft Corporation Declarative model for concurrency-control across lightweight threads
US8069439B2 (en) 2006-03-30 2011-11-29 Microsoft Corporation Framework for modeling continuations in workflows
US7739135B2 (en) 2006-03-30 2010-06-15 Microsoft Corporation Asynchronous fault handling in process-centric programs
US20070239505A1 (en) 2006-03-30 2007-10-11 Microsoft Corporation Abstract execution model for a continuation-based meta-runtime
US20070239498A1 (en) 2006-03-30 2007-10-11 Microsoft Corporation Framework for modeling cancellation for process-centric programs
JP2007279838A (ja) * 2006-04-03 2007-10-25 Ibm Japan Ltd 情報処理装置、方法およびプログラム
US20080040417A1 (en) 2006-08-09 2008-02-14 Gearworks, Inc. System and method for allocating workflow operations to a computing device
US9183011B2 (en) 2006-10-31 2015-11-10 Oracle America Inc. Method and system for runtime environment emulation
US7506001B2 (en) 2006-11-01 2009-03-17 I3Solutions Enterprise proposal management system
US20080243524A1 (en) 2007-03-28 2008-10-02 International Business Machines Corporation System and Method for Automating Internal Controls
WO2008152687A1 (ja) 2007-06-11 2008-12-18 Fujitsu Limited ワークフロー定義変更プログラム、ワークフロー定義変更方法およびワークフロー定義変更装置
US7827127B2 (en) 2007-10-26 2010-11-02 Microsoft Corporation Data scoping and data flow in a continuation based runtime
US8868532B2 (en) 2008-08-08 2014-10-21 Microsoft Corporation Message exchange pattern rendezvous abstraction
US9354847B2 (en) 2008-12-29 2016-05-31 Microsoft Technology Licensing, Llc Interface infrastructure for a continuation based runtime
US8307368B2 (en) 2009-05-26 2012-11-06 Microsoft Corporation Locality-based scheduling in continuation-based runtimes
US20100324948A1 (en) 2009-06-18 2010-12-23 Microsoft Corporation Managing event timelines
US9536264B2 (en) 2011-11-14 2017-01-03 Microsoft Technology Licensing, Llc Host agnostic messaging in a continuation based runtime

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151583A (en) * 1996-09-27 2000-11-21 Hitachi, Ltd. Workflow management method and apparatus
US5999910A (en) * 1997-10-06 1999-12-07 Fmr Corp. Processing a workflow item
US6397191B1 (en) * 1998-06-05 2002-05-28 I2 Technologies Us, Inc. Object-oriented workflow for multi-enterprise collaboration
US6473794B1 (en) * 1999-05-27 2002-10-29 Accenture Llp System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework
RU2191425C2 (ru) * 2000-04-03 2002-10-20 Северо-Кавказский региональный центр информатизации высшей школы Способ оптимизации параллельной обработки информации для минимизации ее времени

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015076695A1 (en) * 2013-11-25 2015-05-28 Yandex Llc System, method and user interface for gesture-based scheduling of computer tasks

Also Published As

Publication number Publication date
WO2007078593A1 (en) 2007-07-12
CN101346713B (zh) 2011-10-26
US8849691B2 (en) 2014-09-30
JP2009522645A (ja) 2009-06-11
CN101346713A (zh) 2009-01-14
EP1969484A4 (en) 2011-06-22
EP1969484A1 (en) 2008-09-17
US9710773B2 (en) 2017-07-18
KR20080087804A (ko) 2008-10-01
US20070156485A1 (en) 2007-07-05
BRPI0618302A2 (pt) 2011-08-23
BRPI0618302A8 (pt) 2016-12-20
US20150206079A1 (en) 2015-07-23
RU2008126237A (ru) 2010-01-10

Similar Documents

Publication Publication Date Title
RU2445688C2 (ru) Моделирование пользовательского ввода и взаимодействия в приложениях на основе рабочего процесса
RU2433463C2 (ru) Динамическое перепозиционирование потока работ конечными пользователями
US20070156487A1 (en) Object model on workflow
US11310165B1 (en) Scalable production test service
US7653566B2 (en) Systems and methods for automating a process of business decision making and workflow
US20070156486A1 (en) Multiple concurrent workflow persistence schemes
US8990820B2 (en) Runtime task with inherited dependencies for batch processing
US20030004770A1 (en) Method, system, and program for generating a workflow
US20080133210A1 (en) Method and implementation for automating processes using data driven pre-recorded transactions
TW201541259A (zh) 第三方應用的執行方法及系統
US20130047135A1 (en) Enterprise computing platform
MX2008011910A (es) Control de falla asincronico en programas centricos de procedimiento.
US20130290500A1 (en) Differentiated service identification in a networked computing environment
US20220318067A1 (en) Orchestration layer for user defined automation workflows
Chen et al. Cloud computing value chains: Research from the operations management perspective
US20180218306A1 (en) System, method and computer program product for a cognitive project manager engine
US8407663B2 (en) Upgrading simple applications to full scale solutions
Zhang et al. Workflow-oriented grid service composition and scheduling
Stransky Modelling procurement processes by UML diagrams
Ferme et al. IT-Centric Process Automation: Study About the Performance of BPMN 2.0 Engines
Ding BMC Control-M 7: A Journey from Traditional Batch Scheduling to Workload Automation
KR101824084B1 (ko) 클라우드 컴퓨팅 기반의 경영분석 서비스 시스템에서 다양한 분석모델에 적용가능한 데이터 처리방법
US20120136810A1 (en) Systems and methods for locally outsourcing work
Stefansen et al. A Work Allocation Language with Soft Constraints.
US20140195288A1 (en) Systems and methods for locally outsourcing work

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150526