CA2533318A1 - Policy-driven mobile forms applications - Google Patents
Policy-driven mobile forms applications Download PDFInfo
- Publication number
- CA2533318A1 CA2533318A1 CA002533318A CA2533318A CA2533318A1 CA 2533318 A1 CA2533318 A1 CA 2533318A1 CA 002533318 A CA002533318 A CA 002533318A CA 2533318 A CA2533318 A CA 2533318A CA 2533318 A1 CA2533318 A1 CA 2533318A1
- Authority
- CA
- Canada
- Prior art keywords
- mobile
- forms
- policy
- forms application
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/086—Access security using security domains
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
Abstract
A system for capturing data via an extensible markup language form is disclosed comprising a policy-based mobile content engine, a mobile-Forms application client, and a transport engine. The policy-based mobile content engine is adapted to process a plurality of definitions from one or more mobile-forms application definition files. The policy-based mobile content engine translates the mobile-forms application definitions into policies and actions enforced by the policy-based mobile content engine. The mobile-forms application client has a plurality of rendering engines targeted for a mobile user device to render form controls and to process the forms-based application. The mobile-forms application client is operable on a mobile user device and is adapted to capture the data as an extensible-markup-language document. The transport engine is adapted to transport the mobile-forms application definition files and captured data through a transport layer between the policy-based mobile content engine and the mobile-forms application client.
Description
I'OLTCX~AR.IVEN MpBILE FORMS APPLICATIONS
~IF:Li) pF THE INVENTION
(040'1 ) The present invention relates benerally to content management and, more particularly, to a system and method for defining, deploying, and managing mobile forms applications, in a mufti-tenant (mufti-domain) hosted environment, that can display and capture data on a wide variety of mobile devices in the context of a business workflow routed through a wide variety of intermittently connected networks both inside and outside o.f corporate 1'irewalls.
BACKGROUND OF THE iNVENTtON
~IF:Li) pF THE INVENTION
(040'1 ) The present invention relates benerally to content management and, more particularly, to a system and method for defining, deploying, and managing mobile forms applications, in a mufti-tenant (mufti-domain) hosted environment, that can display and capture data on a wide variety of mobile devices in the context of a business workflow routed through a wide variety of intermittently connected networks both inside and outside o.f corporate 1'irewalls.
BACKGROUND OF THE iNVENTtON
[0002] Today, tz~ost data in field force industries (e.g., fiEld sales, field services, inspection and reporting, etc.) is distributed and captured on paper-based forms. The data entered on paper-based forms are typically returned to the business offtce to be rrtanually entered electronically and integrated with a back office system. furthectnore, an enterprise business process might require the captured data to be reviewed by other members of the organization (e.g., authorization, up sell opportunity, billing, ete.) before, during, or after the field has interacted with the data. The process of distributing, updating, captuung, and returning form data and adapting it to a unique business process applies to a larbE natnber of mobile workers perforrrxing a variety of tasks such as, but not limited to, inspections (e.g., property, health, etc.), sales force reporting, and work order dispatches (e.g_,1-IVAC, insurance claims, ete.).
[0003) Typically, in more complex forrns-based business processes, work requests and form data are initially dispatched to field force workers using a voice channel (e.g., cell phone) or p~~e-printed paper forms (c.g., clipboard) that is then manually tilled out or updated by th.e mobile Worker (e.g., technician). t~ completed work request might also require one or many subsequent requests (e.g_, required pans, required autharir~tion, up-sell opportunities, etc.) that are typically done through a call over a cellular phone, or return trip to the office, or may cause the displacement of the mobile worket~_ Today, field inspectors may also capture data in the feld using a series of paper forms and binders to complete their inspection tasks, resulting in a slow and inefficient pzocess.
[0004) Businesses incur high wireless voice and vehicle fleet costs due to the above-described processes used in dispatching field workers, capturing or updating form data, and completing work oxde~rs or inspection forms iz~ the held. Additionally, there are signif cant cost and inefficiencies with slow, manual processes for the exchange of data using paper-based forms, from. tb.e cost of the paper based forms, to duplicate data entry, to errors made in data capture on paper, to waiting for the person with the data to update another person or system, etc.
[0005] Electronic forms and XFonns (XML Forms) solutions (such as, Adobe LiveCycle, Microsoft Xnfopatlt, FormDocs, Altova, Advantys, MDS1, X-Smiles, formsPlayer, and Navell XForms) are generally PC-centric and Local Area Network (LAN) oriented as opposed to being opti~xzi~ed for nnobile devices arid wireless use. Additionally, these solutions are on-line and browser-centric, as opposed to being optimized for on- and off line use over intermittently connected wireless networks with varying degrees of cost and quality of service. These solutions typically do not provide mechanisms for hosting zrzulti-tenants (.rz~ulti-dotxtain) fozxns applications using a common 1T infrastructure (e.g., Managed Service Provider hosted environment), nor do they have support for sophisticated routing and tracking of forms and policiES
that define a rtZObile forms application_
that define a rtZObile forms application_
[0006] Therefore, it would be desirable to have a system and method for defining,. deploying, displaying, modifying, capturing, validating, and submitting/retuming form data on mobile device msing an intermittent network connection that addresses one or mare of these issues.
SUMMARY OF THE INVENTION
[.0007] A,ccordinD to one embodiment of the present invention, a system for capturing data via an extensible markup language form is disclosed. The system. comprises a policy-based mobile content engine, a mobile-forms application client, and a transport engine. The policy based mobile content engine is adapted to process a plurality of mobile-farms application definitions from one or more mobile-forms application definition files. The policy-based mobiae content engine is adapted to translate the plurality of mobile-forms application definitions into policies attd activ.ns. The policy-based mobile content engine is adapted to enforce the policies and actions that have been translated. The mobile-forms application client has a plurality of rendering engines targeted for one or more mobile user device. The rendering engines utilize a forms application definition markup language to render form controls and to process the forms-based application. The mobile-forms application client is operable on the one or more mobile user device and is adapted to capture the data bath online or offline as an extensible-markup-language document. The transport engine is adapted to transport the mobile-forms application definition files arid captured data through a transport layer between the policy-based mobile content engine and the mobile-forms application client.
(0008) According to another embodiment of the present invention, a method for defirzinb and erztorcing routing .rules to define a business process vvorkflovcr is disclosed. The method comprises the act of defining, via a mobile-forms application desi~er, a mobile-forms application-definition tile that defines a mobile forms application by providizzg, (i) a mobile forms application definition markup lanb age, (ii) an extensible-markup-language-based policy model that applies to one or rrzore data irzstartces that are to be captured, (iii) routing information specifyinb one or more targeted mobile user devices to deploy the mobile-forms applicatiorz-definition file ta, and (iv) a means of distribution of the forms-based application to targeted mobile users devices. The method further comprises the act of detcrmininb the routinb rules for the business process workf3ow by reading, via a business process engizze proxy, the mobile-forzxz.s application-definition file for the specified routing information and associated extensible-rxzarkup-[az~.guage-based policy model_ The method further comprises the act of enforcing, via a policy-based content management engine, the routing rules determined based on the defned and read mobile-forms application-definition file. The deploynent, form interaction, routing, and management of the mobile forms application is automatically supported by reading, deploying, and enforcing the mobile-forms application-definition file.
(0009) AccordinD to yet another embodiment of the present invention, a method for recognizing data superimposed on a paper fonm is disclosed. The method comprises the act of scam~ing a paper based form to create a paper-based form temptate_ '1"he method further comprises the act of capturing the location of a form data instance element overlaid on the papcr-based form template. The method further comprises the act of caph~ring, the si~,e of a form data insta~zce element overlaid on the paper-based fono template. T'he method further comprises the act of creating an input field based on the location and size of the form data instance element.
The method further comprises the act of linking the paper-based forfrt terrzp[ate to an application data madel_ The method further comprises the act of populating the paper-based form template with mobile-forms application data for a specific data instance in the input held.
[0010] The above summary of the present invention is not intended to represent each ezxxbodimexlt, or every aspect, of the present invention. Additional feattues and benefiits of the present invention are apparent from the detailed description, fiigurcs, and claims set forth below.
BRIFH DE$C.'RIPTION pFTHEARAWING$
[0011] FIG. 1 is an illustration of a content management system for mobile forms applications, according to one embodiment of the present invention.
[0012] FIG. z is an illustration of a mobile-forms based content management network, according to one embodiment of the present invention.
[0013] >; (G_ 3 illustrates a business process engine proxy integrated with a policy-based mobile contEnt engine, according to one embodirrzent_ (0014] F1G. 4 is an illustration of a process for creatizzg, traztsrnittirlg, and receiving data via a mobile forms application, accordinb to one embodiment of the present invention.
[0075] While the invention is susceptible to various modifications and alternative forms, specifc embodiments have been shown by way of example in the drawings and will be described in detail herein. It should be undemtood, however, that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modifications, ecluivalcnts, and alternativES falling within the spirit and scope of the invention as defined by the appended claims.
DETAILED DESCR1P'1'ION OF THE ILLUSTRATED EMBODIMENTS
[0016] According to one embodiment of the present invention, the content managetx~ent system for mobile forms applications enables organizations to define axtd deploy mobile applications, forms, and business process workflow to mobile users across an enterprise or by using a Managed Service Provider (MSP) hosted environment. The content management system for mobile forms applications can be utilized without any programming language code being written or scripted since it is defined by policies, wizards, tezxlplates, and XML models. The content manabement system for mobile for.rrxs applications provides secure centralized control and support for hosting multiple security domains, whilE addressin ; all the complications of mobility (access outside the firewall, intermitte~ttly connected, wide variety of mobile devices and networks of 'varying capabilities, integration with existing business processes, IT
in~TaStructuTe, etc_~_ [0017a The content management system defines a mobile-forms-applications definition model and associated tools for: (1) defining XML-based applications, forms, and business process _;
workt3ow that are optimi?ed for mobility; (2) for interacting with XML data in a nrtobile forms application instance with model-driven, mobile-device-optimized fonns; (3) structuring and defining with model-driven policies-the process for delivering, storing, managing, notifying and routin; XML forms and associated form content (data, voice notes, photographs, sketches, GPS/location data, e~tezxial data inputs-e.g., bar-code scanners, etc.) to and frorx~: users and systems for mobile forms applications; (4) managing and monitoring with device-optimized interfaces-the status of XML mobile tbrms applications and all its instances, including support for on and off line use; and (5) document-based translation of XML to and from a wide variety of forms for importing, exporting, transforming, and publishing the data and coxatent associated with an instance of a XIvI~, ncxobile forms application.
[0018[ The content manabement system for mobile forms applications leverages several XML standards and will be compatible with emerging XML standards in the area of business process management. However, the content management system for mobile forms applications provides innovation beyond what is defined in XML and XFom~s standards by addressing uniduc challenges presented by wireless and mobility (users, devices, networks, cost of service, quality of service, etc.)_ The content rt~anagement system for mobile forms applications provides an automated, model-driven visual framework for the deployment and life-cycle management of mobile forms applications, and the processes associated with them (real-time and near-real time integration with strucWred and unstn2etured enterprise applications and content sources, confi'urable and dynamic notiFcations and alerts, routing of content, applications, and form data to and from mobile devices automatically or manually, etc.).
[0019] The policy-driven mobile forms applications have been desired and optimized for:
(I) deployrraent and operation within an Enterprise or a hosted MSP
environment for Enterprises (mufti-tenatat or mufti-domain); (2) support for multiple types of OS-enabled PCs and mobile devices (beyond a PC/Laptop, including but not limited to Smartphones, PDAs, Handhelds, Tablet PCs, bTandsets, Browscr-based devices, Portable and Embedded terminals, etc_); (3) use behind the enterprisE firewall (e.g. LAN, Wireless LAN, cradle) and while in the f eld (e.g., on/off line, asynchronous mobile wireless network connections, Wide-Area Wireless connection, etc..); (4) use by non-technical users within every "role" (form design, business process owner, ertd-user, administrators, etc.) and Sma41 and Medium Sized Enterprises (SME's) as opposed to technical-risers in enterprise 1T departments and Larbe Enterprise Deployments; and (5) use without requirinb extensive .IT components needing to already be in place (e.b., middleware, enterprise content management, document and records management systems, databases, web servers, etc.).
[0020] Turning now to the drawings, FIG. 1 illustrates a content managearient system for mobile forms applications I0, accordinb to one embodiment of the present invention. The content management system for mobile forms applications 10 includes eialat main components: a plurality of mobile-forms application definition files 14; a mobile-forms application client 18; a policy-based mobile content ermine (server) 22; a transpozt engine 2G; a mobile-application rrtanagement client 30; a mobile-forms application desi~er 34; a phirality of translators 38; and an adnunistration client 42_ [0021] The tt~obile-forms application definition files 14, according to onE
embodiment, are specified in XML-based forms application definition markup lanwage based on the W3C
XForms specification to define a rich presentation of forms rendered in a Graphical User Interface (GUI) by the mobile forms application thick or thin-Client. Same enhancements have been made to extend the XFomzs schema to make it more efficient far mobile forms applications, as well as to suppoirt layout of form controls on mobile devices, and inteb acing routing of forn~s between users iii a mobile forms application. An X.Mb,-based policy model is utili~..ed by tkie mobile-forms application definition f les 14 to define application and form states, workflow, validations, conditions, and actions to be processed for the life cycle of a new or updated foczxz data instance. The poli.ey model defines how the form data is manabed {e.g., transformation azid validation of data, publication of data to tarbeted resources, publication of data based on the type network connection, z~otxEcations and alerts to users based on forni actions and events, etc.) and distributed, as well as to whom (people, systems, resources, etc.) it is distributed.
[0022 As discussed above, the mobile extensible forms markup language (mXForms) used in the mobile-forms application-dctinition files 14 is based on the XForms W3C
recommendation (which can be found at http://www_w3.org/TR/2003/REC-xforms-20031014.
This mXForms markup language defines how to render rich GUIs online or offline far mobile devices, and display, update and captures data. mXForms and XFort~i~s distinctly define the presentation definition (look and feel), the format of the data captured, form controls, and the
SUMMARY OF THE INVENTION
[.0007] A,ccordinD to one embodiment of the present invention, a system for capturing data via an extensible markup language form is disclosed. The system. comprises a policy-based mobile content engine, a mobile-forms application client, and a transport engine. The policy based mobile content engine is adapted to process a plurality of mobile-farms application definitions from one or more mobile-forms application definition files. The policy-based mobiae content engine is adapted to translate the plurality of mobile-forms application definitions into policies attd activ.ns. The policy-based mobile content engine is adapted to enforce the policies and actions that have been translated. The mobile-forms application client has a plurality of rendering engines targeted for one or more mobile user device. The rendering engines utilize a forms application definition markup language to render form controls and to process the forms-based application. The mobile-forms application client is operable on the one or more mobile user device and is adapted to capture the data bath online or offline as an extensible-markup-language document. The transport engine is adapted to transport the mobile-forms application definition files arid captured data through a transport layer between the policy-based mobile content engine and the mobile-forms application client.
(0008) According to another embodiment of the present invention, a method for defirzinb and erztorcing routing .rules to define a business process vvorkflovcr is disclosed. The method comprises the act of defining, via a mobile-forms application desi~er, a mobile-forms application-definition tile that defines a mobile forms application by providizzg, (i) a mobile forms application definition markup lanb age, (ii) an extensible-markup-language-based policy model that applies to one or rrzore data irzstartces that are to be captured, (iii) routing information specifyinb one or more targeted mobile user devices to deploy the mobile-forms applicatiorz-definition file ta, and (iv) a means of distribution of the forms-based application to targeted mobile users devices. The method further comprises the act of detcrmininb the routinb rules for the business process workf3ow by reading, via a business process engizze proxy, the mobile-forzxz.s application-definition file for the specified routing information and associated extensible-rxzarkup-[az~.guage-based policy model_ The method further comprises the act of enforcing, via a policy-based content management engine, the routing rules determined based on the defned and read mobile-forms application-definition file. The deploynent, form interaction, routing, and management of the mobile forms application is automatically supported by reading, deploying, and enforcing the mobile-forms application-definition file.
(0009) AccordinD to yet another embodiment of the present invention, a method for recognizing data superimposed on a paper fonm is disclosed. The method comprises the act of scam~ing a paper based form to create a paper-based form temptate_ '1"he method further comprises the act of capturing the location of a form data instance element overlaid on the papcr-based form template. The method further comprises the act of caph~ring, the si~,e of a form data insta~zce element overlaid on the paper-based fono template. T'he method further comprises the act of creating an input field based on the location and size of the form data instance element.
The method further comprises the act of linking the paper-based forfrt terrzp[ate to an application data madel_ The method further comprises the act of populating the paper-based form template with mobile-forms application data for a specific data instance in the input held.
[0010] The above summary of the present invention is not intended to represent each ezxxbodimexlt, or every aspect, of the present invention. Additional feattues and benefiits of the present invention are apparent from the detailed description, fiigurcs, and claims set forth below.
BRIFH DE$C.'RIPTION pFTHEARAWING$
[0011] FIG. 1 is an illustration of a content management system for mobile forms applications, according to one embodiment of the present invention.
[0012] FIG. z is an illustration of a mobile-forms based content management network, according to one embodiment of the present invention.
[0013] >; (G_ 3 illustrates a business process engine proxy integrated with a policy-based mobile contEnt engine, according to one embodirrzent_ (0014] F1G. 4 is an illustration of a process for creatizzg, traztsrnittirlg, and receiving data via a mobile forms application, accordinb to one embodiment of the present invention.
[0075] While the invention is susceptible to various modifications and alternative forms, specifc embodiments have been shown by way of example in the drawings and will be described in detail herein. It should be undemtood, however, that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modifications, ecluivalcnts, and alternativES falling within the spirit and scope of the invention as defined by the appended claims.
DETAILED DESCR1P'1'ION OF THE ILLUSTRATED EMBODIMENTS
[0016] According to one embodiment of the present invention, the content managetx~ent system for mobile forms applications enables organizations to define axtd deploy mobile applications, forms, and business process workflow to mobile users across an enterprise or by using a Managed Service Provider (MSP) hosted environment. The content management system for mobile forms applications can be utilized without any programming language code being written or scripted since it is defined by policies, wizards, tezxlplates, and XML models. The content manabement system for mobile for.rrxs applications provides secure centralized control and support for hosting multiple security domains, whilE addressin ; all the complications of mobility (access outside the firewall, intermitte~ttly connected, wide variety of mobile devices and networks of 'varying capabilities, integration with existing business processes, IT
in~TaStructuTe, etc_~_ [0017a The content management system defines a mobile-forms-applications definition model and associated tools for: (1) defining XML-based applications, forms, and business process _;
workt3ow that are optimi?ed for mobility; (2) for interacting with XML data in a nrtobile forms application instance with model-driven, mobile-device-optimized fonns; (3) structuring and defining with model-driven policies-the process for delivering, storing, managing, notifying and routin; XML forms and associated form content (data, voice notes, photographs, sketches, GPS/location data, e~tezxial data inputs-e.g., bar-code scanners, etc.) to and frorx~: users and systems for mobile forms applications; (4) managing and monitoring with device-optimized interfaces-the status of XML mobile tbrms applications and all its instances, including support for on and off line use; and (5) document-based translation of XML to and from a wide variety of forms for importing, exporting, transforming, and publishing the data and coxatent associated with an instance of a XIvI~, ncxobile forms application.
[0018[ The content manabement system for mobile forms applications leverages several XML standards and will be compatible with emerging XML standards in the area of business process management. However, the content management system for mobile forms applications provides innovation beyond what is defined in XML and XFom~s standards by addressing uniduc challenges presented by wireless and mobility (users, devices, networks, cost of service, quality of service, etc.)_ The content rt~anagement system for mobile forms applications provides an automated, model-driven visual framework for the deployment and life-cycle management of mobile forms applications, and the processes associated with them (real-time and near-real time integration with strucWred and unstn2etured enterprise applications and content sources, confi'urable and dynamic notiFcations and alerts, routing of content, applications, and form data to and from mobile devices automatically or manually, etc.).
[0019] The policy-driven mobile forms applications have been desired and optimized for:
(I) deployrraent and operation within an Enterprise or a hosted MSP
environment for Enterprises (mufti-tenatat or mufti-domain); (2) support for multiple types of OS-enabled PCs and mobile devices (beyond a PC/Laptop, including but not limited to Smartphones, PDAs, Handhelds, Tablet PCs, bTandsets, Browscr-based devices, Portable and Embedded terminals, etc_); (3) use behind the enterprisE firewall (e.g. LAN, Wireless LAN, cradle) and while in the f eld (e.g., on/off line, asynchronous mobile wireless network connections, Wide-Area Wireless connection, etc..); (4) use by non-technical users within every "role" (form design, business process owner, ertd-user, administrators, etc.) and Sma41 and Medium Sized Enterprises (SME's) as opposed to technical-risers in enterprise 1T departments and Larbe Enterprise Deployments; and (5) use without requirinb extensive .IT components needing to already be in place (e.b., middleware, enterprise content management, document and records management systems, databases, web servers, etc.).
[0020] Turning now to the drawings, FIG. 1 illustrates a content managearient system for mobile forms applications I0, accordinb to one embodiment of the present invention. The content management system for mobile forms applications 10 includes eialat main components: a plurality of mobile-forms application definition files 14; a mobile-forms application client 18; a policy-based mobile content ermine (server) 22; a transpozt engine 2G; a mobile-application rrtanagement client 30; a mobile-forms application desi~er 34; a phirality of translators 38; and an adnunistration client 42_ [0021] The tt~obile-forms application definition files 14, according to onE
embodiment, are specified in XML-based forms application definition markup lanwage based on the W3C
XForms specification to define a rich presentation of forms rendered in a Graphical User Interface (GUI) by the mobile forms application thick or thin-Client. Same enhancements have been made to extend the XFomzs schema to make it more efficient far mobile forms applications, as well as to suppoirt layout of form controls on mobile devices, and inteb acing routing of forn~s between users iii a mobile forms application. An X.Mb,-based policy model is utili~..ed by tkie mobile-forms application definition f les 14 to define application and form states, workflow, validations, conditions, and actions to be processed for the life cycle of a new or updated foczxz data instance. The poli.ey model defines how the form data is manabed {e.g., transformation azid validation of data, publication of data to tarbeted resources, publication of data based on the type network connection, z~otxEcations and alerts to users based on forni actions and events, etc.) and distributed, as well as to whom (people, systems, resources, etc.) it is distributed.
[0022 As discussed above, the mobile extensible forms markup language (mXForms) used in the mobile-forms application-dctinition files 14 is based on the XForms W3C
recommendation (which can be found at http://www_w3.org/TR/2003/REC-xforms-20031014.
This mXForms markup language defines how to render rich GUIs online or offline far mobile devices, and display, update and captures data. mXForms and XFort~i~s distinctly define the presentation definition (look and feel), the format of the data captured, form controls, and the
7 behavior of the formsybased application (e.g_, data validation, navigation, workflow, actions, etc.). It is a language that can fully leverage the limited display and functionality (including native and extezraal peripherals-c.g., barcode scanner, GPS rxaodule, etc.) of some of the targeted mobile devices. Multiple views or mobile forms applications may be required to complete the data capture of a forms-based application, including support for contextual (e.b., dynamic) views or interaction with the foam (e.g., Y happens only if the user has selected X iz~.
the form). Unique form controls are also needed to display, add, edit, and delete repeating line items on such linuted devices. The cx~arkup language also affords for creation of 'unique form controls that Future business processes may require. These multiple views and Fonm contt~oIs can be used on- or off line, via thin/thiek elict~ts on mobile devices that are OS-enabled.
[0023] The mobile-forms application client 18 includes a plurality of rendering engines tazgeted for each Operating System (OS) enabled mobile device or browser enabled device that can be used as a thick and thin client. The rendering engines use the XML-based fortxxs application definition markup lan ;cage to render a rich set of GUI form controls and to process the correspondinD behavior of the forms-based application for the end-user_ The rendering enti nes are adapted to create a fully configurable Look and/or feel for the end-mer. Furthermore, the mobile-forms application client 18 is capable of displaying (read-only or read/write), updating, at~d capturinb the end-user's inputted data on- or off Iine as one or more XML
documents, as well as attachmeztt tiles and managed lists that may be in a forr~lat other than XML.
[0424] The mobile-forms application eliEnt 18 is also able to display, update, capture and attach a wide variety of mufti-media content to the form data. Alternatively or additionally, the rendering engines are adapted to encode this data to the :CIVIL form data instance as a base64 encoded element or reference the inputted text or binary hle as a separate entity_ The form data rraay include, For example, signatures, photos, voice notes, sketches, global positioning information, Goo~eMaps, bar code scanninD information, autornobile monitorinb infortrtation, etc.
[0025] For example, the mobile,forms application client 18 can call and contzol (interchan4e data) with an eztabled device's Global Positioninb System (GPS) coordinates to feed this information (as part of an XML fotTn data instance or data blob) to the policy-based mobile content engine 2z (or to a forms solution). This data may then be used to assist in device g manabement-adding business value by allowing a user to, for example, locate a lost device or assist in locating and dispatching a desired field worker to a specific job.
Additionally, GPS
coordinates may be dispatched along with a work order to allow a field worker to utiliLe a mapping tool (e.?., 'GoogIeMaps, MapPoint Location Server, etc.) to find the directions to the site for the work order. The mobile-fax~ns application client 18 can pass this data to .feed a xr~obile device application. For example, if the address of a dispatched work order is known, the mobile-forms application client 18 can pass this data to Microsoft pocketStreets and launch the application so the field worker can see the mapped address of their next work order. Aceordaz~g to one embodi;vent, the bar code seanninb information can be mapped to an input field within a form, or may be used to extract information .from an external data source (e.g., a managed list, ete.). For example, the bar code information may represent a part number that can then be searched through a part list to extract the part's name, description, price, ete.
[0026 ~'he content used by the mobile-forms application client 18 can either be embedded within the XML form data (basefi4 encoded) or be referenced and manabed as attachment files in a very elegant way as content under the control of policies that control how the content is managed and distributed (e.g., don't force sending of large multimedia f les associated with the form when the form is submitted wirelessly-unlike other database/sync or real-time forms solutions). The mobile-forms application client 18 can support a wide variety of technologies and input devices (e.g., Personal Digital Assistants (PDAs), smarrphones, etc_) for data captLUe and form navigation. The input devices are linked to anal interact with controls defined in the mobile exte~isible forms markup language to provide and enable data capture and form navigation.
(0027) By way of example, the mobile-forms application client 18, via the defined controls, are adapted to support a plurality of input devices, such as: keyboards (e.g., PC keyboard, keypad, Simple Input Panel (SIP), soft-keyboard, etc.); navigation, mouse, axxd T/O devices (e.g., optical mouse, RS-232 standard modules, touch-screens, scroll wheels, USB
rt~emory dongles, hard-drives, etc.); writinb instrlments and pointers (e.g., stylus, electronic pen/ink, handwriting to text conversion apps, etc.); audio (e.g., speech to text recognition, speech used the selection of an item from a list, speech used for form navigation using technology such as 'V12ML, voice recorders, ete.); infrared reader; magnetic reader and cards (e.g., swipe card, proximity card, smart card, expandable media cards and storage devices such as, for example, SD, MMC, compact hash, memory stick, etc.); Radio Frequency Identification (lt.hXD);
external or internal device peripheral (e.g., GPS, environmental meter, printers, etc.} including devices or data monitoring and reporting modules within an automobile (e.g., telematics);
external or internal applications (e.g., VoTP softphone software, GPS software, etc.); scanners (e_g., optical character reader. (OC12), bar code, hfornetrlc, etc.); incort>xng messages (e.g., via SMS, Smart Messages, OMA, SyncML, Eznail, SNMP, Active Sync, SMPP, SMTP, RSS/XML, etc.); and camera and digital imaging tools and devices__ [0028) The policy-based mobile cotttertt engine 22 includes a Business Process Ena°'ine Proxy (BPIwP) 22a that processes mobile forms application definitions from the mobile-foz~rns application defizzitiozt axles 14 and translates the application definitions into folder structures, files, and security roles as well as policies and actions that the poiicy~based mobile content engine 22 enforces. 'flaese poi icies and actions are utilized by the policy-based mobile content engine 22 to nuidc each instance of a mobile form through the business workflow process, including but not limited to, routing tire form to different users and sending out notifications as the data hElds of the mobile form are updated and actions axe taken. The BPEP
22a uses the policy model (application data model, process states, user groups, folder structure, workflow, actions, conditions, ete.) defined in the mobile-forms application definition filES 14. The policy model is extensible, flexible, visual, and may be wizard driven. As such, the policy model may be designed to be used and interacted with by .non-technical users. Note that a mobile forms application is created by the BPEP 22a into a single security domain_ The policy-based mobile content engine 22 explicitly represents the concept of multiple tenants (multiple domains) in its internal structures and partitions the content management, security roles, authorization, and policies associated with a mobile forms application by tenant (domain).
100z9j The transport engine 2<> i.s an integrated cliendservez transport engine that is adapted to reliably transport (e_g_, form data instance integrity and auditing of actions on the policy-driven mobile content engine 22 and mobile user device) the XML mobile application, forms data, and content through a contl ;ured transport layer (e.D., HTTP/HTTP(S), SynchML, AetiveSync, SOAP, FTP, SMTP, SMPP, RIvII, iIOP, etc.) betweezt the policy-based mobile content engine Z2 and the mobile-forms application client 18_ The transport engine 26 is optimised for mobility in regards to support for on- and off line use, support for multiple OS-cnabled mobile devices, support for various wireless and mobile networks with detection, consideration and maxxagezxtent for their various cost and quality of services, etc. Cozxxpzession, byte differencing, and network policies {e.g., do not send large attachments when low bandwidth connection) are used to provide intelligent use of bandwidth_ file caching, robust session management, partial file transmission support, and a robust synchronization protocol aver HTTP
are provided to address network unreliability.
[Ofl30] The policy-based mobile content engine 22 addresses the challenges (limited and unique physical auributes, cost of service, quality of service, etc.) associated with wireless and mobile devices and networks through the use o.f netwozk policies in conjunction with the transport engine 2G. The transport engine 26 determines whether data compression should be used to minimize data transmitted over the transport layer as well as a number of other technidues (use right network at the ribht time, compression, byte-level differencing, check-point restart, caching and queuing of requests, automatic and manual clientlseaver interactions, ete.) [0031] The mobile-application mana5ement client 30 is made available on each Operating System (OS) enabled mobile device or browser enabled device chat can be used as a thick and thin client__ The mobile-application management client 30 allows a manager or dispatcher to create, vivov, edit, assign, sort, search, or track the progress of Form data for atzy given mobile forms application_ The mobile.-application management client 30 allows such functionality based on the infornlation in the mobile-forms application-definition files 14.
The mobile-forms application-definition files 14 xrxap special "search fields" to information in a mobile form, including the current owner, the current state, as well as allowing custom defined fields_ '.)~he mobile-application management client 3U leverages the folder structure and policies generated by the BPEP 22a, to display to a person managing mobile .forms applications (e.g., dispatcher, office administrator, cte.) all the instances of a mobile form application, currently in prob ess.
Additionally, the manajer can see what state the mobile form is in, who it is assigned to, if the field worker has installed the ri;ht data on tlaeir device, etc. The mobile-application management client 30 incorporates the same rendering engine used by the mobile-form application client 18, so that a manager can select any fom~ instance to view or edit it or create a new one. The manager caz~ use this to change the stains of a form or assign it to a different person.
[003Z] The mobile-forms application designer 34 is adapted to create the mobile-forms application definitions contained within the mobile-forms application definition f lcs 14. In particular, the mobile-fotxns application designer 34 allows a non-technical designer (having minimal or no scripting, programming, or coding knowledge) to define an application in terms of: (i) the rtzobile .forms application definition markup language; (ii) the XML-based policy model that applies to the captured data; {iii) the targeted OS-enabled mobile device (e.g., PCs, TabletPCs, Laptop, PDA, Srnartphone, hlandheld, Handset, Browser-enabled mobile device, ecc.) or browser for the forms application definition; and {iv) the means of distribution of the forms-based application to targeted users (e.g., via push technology, SMTP, or available through a Uniform Resource Identifier (URI), etc.).
[0033[ The mobile-forms application designer 34 is a simple Integrated Development Environment (1D~) for ereatinb one or more mobile-forms application definition file 14.
According to one embodiment of the current invention, the mobile-forms application designer 34 is a standalone PC-based application, but can also be an add-in to an existing application (e.g.
Microsoft Visual Studio) or can be browser/web based. The data structure of the forms instance can be created by importing (e.g_, via an enterprise content source) XML
schema definitions or an instance of an XML file that is used as a demarcation point for back-end system integration.
This includes flexible handling of version control and change propagation and data migration when refneznents are made to the schema upon which a mobile forms application is based. The mobile-forms application designer 34 supports up~ades to a forms solution without diszziptinb the use of the forms solution by the field workers. Changes to the model shared between multiple participatzts arc carefully migrated to the ups ~aded Data Instances (DIs) on the policy-based mobile content engine 22 transparently to the users of the forms solution. Version control on the DIs is important to understanding the data mib atiozl that needs to occur --possibly on the tly~-~~-at the time it is created and/or updated on the sezver by a field tech during the transition period until every field worker has the upgraded application/model on their user device_ [0034 The look and feel of the forms application is defined by the mobile-forms application designer 34. The form designer can create form-based applications using a rich set of form controls that can be dragged and dropped or defzzted on a single or multiple form view. The mobile-firms application designer 34 enables the use of drag and drop properties and other means and controls to define the form flow or navigation of the application_ The form flow is howv the user of the application can use a forms control (e.g., buttoza, image, link, menu item, ete.) to modify forms. The Form flow is rxtostly defined by an action added to a button.
Conditional navigation can be controlled by the behavior typically defined by the "bind"
property of the control or the parent container of the control. The mobile-forms application designer 34 can associate actions to the form control to define the forxn flow.
[0035[ The mobile-forms application desi~cr 34 further defines a rich set of templates to speed the creations of or build forms (new or update fozms) based application for specific OS-enabled targeted devices. 'his includes a translation service that hElps with the automatic translation (grad optimization) from a form optimized for one device into other devices (e.g., browser, laptop, etc.), as opposed to the user having to stazt from scratch for each device. The mobile-fom~s application designer 34 deFnes several wizards to simplify the steps to create, modify, copy, publish, test, etc. a forms based application and includes a lest environment to process the authored mobile-forms application-definition files on the targeted device_ Additionally, the mobile-forms application designer 34 provides workflow and form data validation., i.n one embodiment, throubh the search values and the predefined policies for a tar;eted participant for the workflow and the behavior as defined in XForms for validation.
(0036] The paekaainb of the forms application is provided by the mobile-foixns application desibner 34 as a simple installable application to any OS-enabled mobile devices (e.g., Windows NT/2000/XP/Tablet, Pocket PC, Win CE, ete.) or via a web-browser. The distribution of the fom~s application to system and non-system users via a BPEP 22a integrated with the policy-based mobile content engine 22 through push technoloby, SMTP, or a URl where the application can be downloaded, or rendered on the server and interacted with in a browser session.
[003'7] The plurality of translators 38 are adapted to transla#e the mobile forrrxs application instance data and content into a variety of formats (XML/1-1TML, PDF, SQL, CSV, Printers, Faxes, etc.) for fuxther importind/exportirtD or for data manipulation, termination, or storage. A
technique for form-based data superimposition recognition allows an author to define and automatically correlate the absolute positioning of form data, text, or irr~;age to be printed o.n a paper-based or electronic form template or layout.
[0038] A special desi ;n tool and document translator has been designed as part of this invention to facilitate the creation of a mobile forms application from existing papez-based forms. In typical paper-based processes, mobile workers collect data in paper fornns that are faxed or printed. A mobile forms application also needs to use electronic data to print or fax a hard copy to the client on the same paper-based form. Existing print SDKs require absolute positioninb of objects (e.b., text, images) in order to position and size the captured form data sent it to a local printer to be printed on a template paper-based foz'xt~-(00391 The paper form data superimposition recognition is a special design tool and document translator that can scan existing paper-forms to create a document template and then link it to the application data model-through simple drab and drop or definition of data controls via the mobile-forms application designer 34. The mobile forms application data for a spee~e application instance can then be used to populate the template that is ready for printing or faxinb_ 'fhe paper .forr~a data superimposition recognition allows a designer to arttomatically build a forms application for a given forms solution using a scatarted version of an existing paper-based farm. The model and DI can autotxaatieally be generated using the paper-based form. In some embodiments, the paper form data superimposition recognition zequires the desi~tcr to: (1) review the form and c'hangc the input fields to other types of fonn controls (e.g., text box chanbed to a date picker or a sinnature control); (2) deFne groups of repeated line items; etc.
[0040] The administration client 42 is adapted to allow an end-user administrator to setup the rights provided to a specific user or device, the groups the user or device belongs to, the content available to the user or device, the domains the user or device is able to access, etc. The administration client 42 is particularly useful in embodiments where a number o.f company's content and forms are located on the same policy-based mobile content engine 22. The end-user administrator can theta use the administration client 42 to allow access to the company's content only to, for example, company erxtployees. The administration client 42 transmits access rights to the policy-based mobile content engine 22 that then can limit the access to the content based ora th;e user or device information of the user device trying to access the various content.
[0041 ( Typically, when a mobile fon~ application is developed utilizing the mobile-forms application designer 34, the user information, groups, and access rights are generated as well.
However, as the access rights change over time, tine end-user administrator can utilize tb.e administration client 42 to adjust the access rights, users, or groups accordingly. This allows the end-user's IT depatrtmcnt to manage their content and resources in a secure, desirable, and efficient manner.
(0042] One or more enterprise content sotuces 46 are in communication with the policy-based mobile content engine 22. The one or more enterprise content sources 46 may also communicate with the rt~obile-forms application designer 34 or the mobile-farms application client 18. 'The one or more enterprise content sources 46 are integrated directly with the policy-based ~xzobile content engine 22, the mobile-forms applicatiozz designer 34, and the mobile-forms application client 18 via a plurality of connectors.
[0043] 'fhe policy-based mobile content engine 22 can access the content and information stored on the one or more entezprise content sources 46 and transmit it to the various user devicES based on the policies def7zaed by the mobile-forms application-definition files 14. The mobile-forms application client 18 can utilize the one or more enterprise content sources 46 for pushing or receiving forms as XIvIL files. Additionally, ttze mobile-forms application designer 34 can utilize the content contained with the one or more entezprise content sources 4G as a starting paint for designin? the nrzobile-forms application definition files 14.
[0044] Referring also to FIG_ 2, a mobile-forms based content management network GO is illustrated, according to one embodiment of the presexzt invention. The content rz~.anaacment network 60 allows the communication of the mobil~forms application client 18 with the policy-based mobile content engine 22 to transpozrt the mobile-fom~s application-definition ~fles 14 and all form data instances to and from a mobile device G4. The mobile-forrras application client I $
is primarily eoz'n.prised of a forms rendering enbine that can present a user interface G8 as defined by in the mobile-forms application-definition files 14. The mobile-fours application-definition tiles 14 describe the user interface{s) G8 using the mobile extensible forms markup lan;uage that the forxxzs rendering engines) intezprcts when displayin5 the user interface 6$_ [0045] The mobile-forms application client I$ is available on a wide variEty of OS-enabled mobile devices both as a native application 72 ("Thick Client") and as browser-enabled application 76 ("Thin Client"). It should be noted that even the browser-enabled applications are optimized to address the constraints of the devices they are operating on_ T7~e mobile-forms application client 18 communicates with the policy-based mobile content enbine 22 via a client Application Progt'amming Interface (AFI) to transport the mobile-forms application-definition files 1.4 and all form data instances 80 (associated XML data and eorztent) to and from the mobile device.
[0046] As illustrated in FIG. 2, the policy-based mobile content engine 22, via the transpozrt engine 26, delivers and receives the form data instances that are viewed and updated in the mobile-.forms application client 18 (via the forms rendering engine) on a variety of devices 64, 72. Botla "flick-client" 72 and "thin-client" 76 versions of the mobile-forms application client 18 leverage the transport engine 26 tv communicate with the policy-based mobile content server 22 over intenziittently connected networks 84 (sometimes onli.u,e, sotxtetimes of~ine). The connnurwication coTasists mainly of delivering an instance of mobile form data, as well as mabile-fonns application~definition tiles 14 to the mobile-forms application client 18 that determine how the mobile form data should be presented to the user. When the user updates the mobile form data instances 8U, using the mobile-forms application client 18, they are communicated back to the policy-based mobile content engine 22 via the transport engine 26.
,A,ny changes to any instances are first persisted to a file prior to transporting them to the policy-base mobile content engine 22. This is done to ensure the user can safely keep workizzg even if they are currently disconnected, to keep historical data on the device (if specified in the mobilE forms application definition), and to provide a backup capability in case of device failure including but not lizrited to power failure such as no more battery power left.
[0047] Referring also to FTG_ 3, the integration of the BPEP 22a with the policy-based mobile content engine 22 is further illustmtEd, according to one embodiment-A, business process workflow is defined in one or more mobile-forms application-definition files 14 that are processed in the policy-based mobile content engine 22 via the BPEP 22a, according to one embodiment. The BP1;P 22a is a component of the policy-based mobile content engine 22 that processes mobile forms applications and forms definitions. The mobile-forms application-defnition files 14 used by the BPEP 22a can be defined by th.e non-technical form author using the mobile-forms application designer 34. When utilizing the mobile-forms application designer 34 the form author defines the states, workflow, and composition of the fortxi data instance, the conditions that define.the next state to process (e.g., if the technician requires t.~ew parts then bo to state 'X'), axzd the actions to be processed on a given state in the form's data instance life cycle.
[0048] 1~or exazxtplc, the followinb sample actions are supported by the mobile-forms application designer 34 and are capable of being interpreted by the BPEP 22a and enforced by the policy-based mobile content engine 22. eoz~tcnt publication (e.g., add/move/eopy/dElete docum.exxt or form data) to an existing/new network folder or other services (This action takes into accouztt the user's access pern~issions to the document or form data on the tar;eted destination prior to publishing the content.); content auditing (auditing of user, device, and content it~forrraation updated via the policy-based mobile content engine 22);
eor~tez~t distribution via email, fax, SMS, print and content push via the policy-based mobile content engine 22;
content notification via email, fax, SMS, SNMP, SMPP, print, and/or other external web services; content teansfotmation that may contain any other previously deF~ned actions (lt is possible to transform the data prior to distributing it via email (e.g., make it a viewable HTML
document)); content validation (Some targeted devices might not support local validation against an XML schema. Therefore, the validation can be deed as an action and cause the document to be rerouted 'to the sender.); and network management (This action can require the sender to publish associated attachments to the data instance on a speci f c network type (e.g., EDGE/GPRS, UMTS, CI~MA I x, W-CDMA, WiFi, 802.13 aib/g, Bluetooth, LAN, cradle, etc.).).
f 0049] Aeeorditta to one embodiment, the communication protocol of the content management system 1(3 utilizes HTTP(S) as the preferred protocol to transport all farm data instance and attachments to the Policy-based Mobile Conteztt )vn~ne. The content management system 10 may utilize, as the preferred protocol to distribute and notify other internal or external resources (e.g., users, other machines, ere.), HTTP/HT'TPS, SyncML, ActiveSyne, SOAP, SMTP, FTP, SMS, SNMP, SMPP, RMI, IIOP, etc. Other communication protocols can be utilized without nullifying th;e key attributes of the above-described implementation. For example, web extensions such as SOAP and .NET can also be utilized, as well as proprietary corxizxtunication protocols. The policy-based mobile content engine 22 may also act as an authorizing proxy 'for each of these protocols that allows the mobile-fozms application client 18 to communicate in real time with one or more enterprise content sources 46 hosted behind the enterprise tircwall. For example, a drop down list in a mobile form could be dynamically generated by a SOAP request to an etaterprise content source 46- 'The policy-based mobile content engine 22 would apply appropriate policies both before and after routing the SOAP
request ti'om the mobile-forms application client 18 onto the enterprise content source 46_ [0050] The coxttezzt management system 10 may utilize Secure Socket Layer (SSL) to encrypt all communication between the clients, othez internal and external resources, and the policy based mobile content engine 22_ Other encryption techniques can be utilized without nullifying the key attributes of the invention_ For example, a VPN tunnel could be used to secure the conra~ction between the mobile-forzos application client 18 and the policy-based mobile content eta.ginc 22. Similarly, an s-mitx3,e technique could also be adopted where the target application is e-mail. Furthermore, the forms designer can specify that the data captured as an XML document on the mobile device may be encrypted using a public or secret-key eryptosystem {e.b., Kerberos, PKI, etc.) to properly secure the content on the tmobilc device if the device was stolEn or lost, or if the policy-based mobile content engine 22 was campraxniscd.
[0051 J The content management system 10 enables existing authentication such as existing hUAP and RADIUS servers (local or remote, outside or behind the firewall with support for "single sign on" schemas) among others, to be used 6y the policy-based mobile content ez~gi.ne 22 to authenticate users of tlZe mobile-forms application client 18, the mobile-application management client 30, and the administration client 42. The policy based mobile content engine 22 can either automatically detect the required authentication or the policy-based mobile content engizte 22 can be told by a system administrator to do so. Authorization providers are used to determine it the client is authorized based on their access permissions deternrzined, but not limited to, the client's role and/or roup access permission on the accessed resource (e.g. updating or creating a forms data instance), [005zJ The mobile-forms application desibner 34 provides the end-user with custom-built fo.rzxt applications available on a thick ox thin client. It also enables the forms designer to define all aspects of floe mobile-forms application-defnition files 14, target mobile devices, associate a test environment where the mobile-forms application-definition files 14 can be tested, associate business workflow, Foz~xt navigation, behavior, data capture and define how the mobile forms applications can be procured and haw they can be distributed, updated, or revoked from privileged users.
(0053) The content management system 10 provides superior end user, network, and client performance in several different ways. First, data coxnpression may be used both in downloadiztg newly dispatched and uploading updated form data instances. Furthermore, the policy-based mobile content engine 22 determines when file attachments associated with the mobile form application data instance should bE delivered using both the type of network and attachment size.
Additionally, the content managEment system 10 supports external model updates (e.g., customer list, price Iist, inventory list, ete.). These types of lists typically consist of a large amount of data that should only be updated at wen times or when netwozk availability permits.
Fox mare time critical updates to the list, byte level differencing and data compressiolt can be used to update the end-users list with the changes rather than the updated list. This can reduce the network data Ig constunption by over 80"~0 dependin ; on the changes made to the list_ Byte level differencing is done by transmitting only the changes between the old list and the new list (byte Level differences) and by applying those changes as an update to the old list on the mobile device to create tl~e new list on the mobile device. It can also be used to update an attacltment to a form data instance.
[0054] 'fhe content management system 10 provides superior availability to mobile workers by enabling offline form fillinj when cantined to areas with restricted network connectivity and by enabling ortline, near real time, updates of form data to the server.
Furthez, the content manabement system 10 helps to ensure that forms application and associated resources (e.g., external lists) are pushed as mandatory items. The content management system 10 controls delivery of captured data instances aa3d foi~ns application on a device based on, but not limited to, network connectivity, tithe, etc_ Near real time or scheduled updates to a mobile-forms application-definition file is enabled by, for example, using byte level differencing and data coznprcssion to reduce the size of tlxe markup transported to the mobile device. The content management system 10 further enables automatic calculations, comparisons, enforced fields, data input limitations, mandatory fields, contextual form behavior, read-only and pre-filling of form data, thus assisting in speeding up data capture and business process completion.
[0055] As discussLd above, the content management system for mobile forms applications 10 utilizes the mobile forms application markup language. The mobile forms application markup land abe can be utili?ed to define a number of enhanced fornZ controls_ For example, the mobile forms application markup lanb gage can defne controls for: viewing the defnition of a mobile-forms application-definition file 14 to better group controls and maximize display area of nnobile devices with limited viewing area; providing new appearances for repeat line item cozatrols;
providing controls to view attachments; providing attributes to determine how an attachment is attached to the data instance (e.g_, as a base 64 encoded, binary, ox as a URI); providing support to display images; providing support to display links allowing form-view navigation or web page launch; providing a trigger with a background image; providing a toolbar with menu items used as a trigger yr a submit XForrns eletxtent; providing a header definition that allows the grouping of repeated controls used on di Fferent views; providing a footer definition that allows the gouping of repeated controls used on different views; and providing toolbar, header', and footer references used in a form-view definition to maximize limited resources on given devices (e.g., PPC). These controls can also be bound to dynamic real-time requests that are routed to enterprise content sources 46, via the policy-based mobile content engine 22.
[OOSG] Twwing now to FTGr. 4, a process for creating a mobile forms application, traz~sznitting floe mobile fortes application, and receiving data via the mobile forms application is illustrated, according to one embodiment of the present invention. By utilizinb the mobile-forms application designer 34 (FIG. t), a non-technical user can define a mobile-forms application-definition file 14 (FXG. 1 ) at step I I U. The mobile-forms application-def nition file 14 defines tlxe data model, form navi ;anon, form validation, behavior, look and feel for the form application, and the various processing states that a fornn. document will transition through. A
mobile policy is also defizted wb.ich specifies the roles and policies about routing, distribution, notif canon / alerts, devices, authorization, etc. All of these are created using a wizard-based, point-and-click interface, which requires no coding, seriptinb or programming on the part of the designer. There are also special tools for defining form based user interfaces that end-users can used to interact with application data, as well as spECial tools for defining format translations to import and export application data from XML into other formats (HTML, plaF, SQL, CSV, ASCII, etc.) including sending to a printer or fax_ And there is a tool for importing, exporting, creating and editing XML sche~nas that define the structurE of the data supported by the mobile-forms application-definition client 18. The mobile-fogs application-definition file 14 is them stored to a hard disk.
(0057( The application data model, process states, folder structure, user groups, mobile policies, format translations, and user interfaces are all defined in XML-based mobile-forms application-definition files 14 that axe Generated onto the policy-based mobile content engine 22 at step 12U~ Th.e policy-based mobile content engine 22 serves as a gateway between mobile forms applications and existing business processes, enterprise content sources, and applications.
[0058] The policy-based mobile content engine 22 automatically or manually can be used to create and set up folder structures at step 120a and to create user groups at step l2Ub_ At stEp 120c, the mobile-forms application-definition file 14 its actually transferred to the policy-based mobile content engine 22. Infbrmation contained ixA the mobile-forms application-definition frle I4 is used to define a folder structure in the policy-based mobile content engine 22, which will store the content associated with each application, and to define the user groups in the poliey-z0 based mobile content engine 22, that will be allowed to access application data and content during the various processing states of an. application instance.
[0059] The policy-based mobile content engine 22 generates a plurality of searcla and trackin5 fields at step 120d that allow a forms nrtartager to look for and monitor the mobile foams applications that have been provided (and deployed) by the policy-based content management engine 22. At step 120e, the policy-based content trxanaaemEnt engine 22 generates client installation packages for. installinD the mobile form application onto the user devices. Routing and deployment policies are determined at step 120f by the policy-based content management engine 22 for the mobile form application based on the mobile-forms application-definition fIe 14. The policy-based content management engine 22 then generates a user's extensible-markup-langua~e file at step 1200.
[0060] The mobile forrms application created by the mobile-forms application designer 34, is deployed to the user devices at step 130 by die policy-based mobile content engine 22 (F1G. 1 ) and its associated transport enbine 26 (FIG. 1)_ The deployment activates the mobile forms application such that the application and associated files, user lists, etc.
will be pushed down to the user's mobile devices 64 (FIG. 2). Alternatively, the deploymexxt tnay be accomplished by generating a media card (e.g., a SD card, mini-SD, etc.) along with user configuration files. The media card may then be utilized to automatically and intelligently install the mobile forms application and configuration files onto an OS-enabled user device. The deployment process manages both forms application upgrades as well as data zr~i~-ation that may be required for existing form instances persistent on the policy-based mobile content engine 22 and mobile devices_ [0061] The mobile-fornas application client 18 (FIG. 1) is available on a wide variety of user devices (PC, Laptop, Tablet, PDA, Blackberry, Smartphone, Browser-based thin-client, etc.) that allows end-users to interact with application data and content. The wobile-application management client 30 (FIG_ 1 ) is also available which allows managers to create, assign, and monitor application instances. Document translators 3$ (FIG. 1) are used to view and print application data content, as well as transform it for use by other systerrzs_ [0062] The policies of the mobile contextt engine are applied in response to any content management event (including, but not limited to reconcile requests from clients, new or updated files, ales assi~ed to users, etc.). Policies are able to leverage whatever information is available to the content management engine tizxze in deciding what actions should occur (type of network, content or state of the files being transferred, users involved etc.). In particular, when a relevant state change is detected by the mobile application client 18 on a znobilE
device 64 (FIG. 2), the policy-based mobile content engine 22 is notified, and the policies for the particular mobile-forms application-defitzit.ion ale 14 are enforced at step 140_ The state change may be, fox example, the creation or modification of a form data instance $0 (FIG. 2) on the mobile device 64. The mobile-application z~anabement client 30 can be utilised at step 150 to create new Form data instances and assign them to users (both actions will result in content management events that txi~er the appropriate policies for the mobile forms application).
Further, at step 150, the mobile-application management client 30 cazz be utilized to track the status of all data instances (e.b., what state they are in, w.ho they are assigned to) using the search and tracking fields generated at step ] 20d.
[0063] Based on. the policies relevant to the state change, the new or rnodired data instance can be transferred between the policy-based mobile content engine 22 and the user devices at step 160. This information can further be transferred between. the policy-based mobile content en;ine 22 and tl~e other user devices within the particular user group_ The user or other users are then capable of interacting with the application data arzd content at step 170 once that information has been pushed to their user device by the policy-based mobile content engine 22.
[0064] This scenario is much more effective compared to other solutions that use data replication to synchronize databases on mobile devices with a central server database_ First, such databases quickly become too big in practice given the limited capabilities of mobile devices.
Second, a lot of. unnecessary information is moved back and forth. Policy-driven mobile forms applications are designed to minimi?e the exchange of data wirelessly (use right network at the right time, compression, byte-level differencin ;, check-point restart, caching and queuing of requests, autoxnatie and manual client/server interactions, ete.)_ [OU65] While the present invention has been described with reference to one or more particular embodiments, those skilled in the art will recognise that many changes may be zxzade thereto without departing from the spirit and scope of th.e present invention.
Each of these embodiments and obvious variations thereof is contemplated as falling within the scope of the claimed invention, which is set forth in the following claims.
the form). Unique form controls are also needed to display, add, edit, and delete repeating line items on such linuted devices. The cx~arkup language also affords for creation of 'unique form controls that Future business processes may require. These multiple views and Fonm contt~oIs can be used on- or off line, via thin/thiek elict~ts on mobile devices that are OS-enabled.
[0023] The mobile-forms application client 18 includes a plurality of rendering engines tazgeted for each Operating System (OS) enabled mobile device or browser enabled device that can be used as a thick and thin client. The rendering engines use the XML-based fortxxs application definition markup lan ;cage to render a rich set of GUI form controls and to process the correspondinD behavior of the forms-based application for the end-user_ The rendering enti nes are adapted to create a fully configurable Look and/or feel for the end-mer. Furthermore, the mobile-forms application client 18 is capable of displaying (read-only or read/write), updating, at~d capturinb the end-user's inputted data on- or off Iine as one or more XML
documents, as well as attachmeztt tiles and managed lists that may be in a forr~lat other than XML.
[0424] The mobile-forms application eliEnt 18 is also able to display, update, capture and attach a wide variety of mufti-media content to the form data. Alternatively or additionally, the rendering engines are adapted to encode this data to the :CIVIL form data instance as a base64 encoded element or reference the inputted text or binary hle as a separate entity_ The form data rraay include, For example, signatures, photos, voice notes, sketches, global positioning information, Goo~eMaps, bar code scanninD information, autornobile monitorinb infortrtation, etc.
[0025] For example, the mobile,forms application client 18 can call and contzol (interchan4e data) with an eztabled device's Global Positioninb System (GPS) coordinates to feed this information (as part of an XML fotTn data instance or data blob) to the policy-based mobile content engine 2z (or to a forms solution). This data may then be used to assist in device g manabement-adding business value by allowing a user to, for example, locate a lost device or assist in locating and dispatching a desired field worker to a specific job.
Additionally, GPS
coordinates may be dispatched along with a work order to allow a field worker to utiliLe a mapping tool (e.?., 'GoogIeMaps, MapPoint Location Server, etc.) to find the directions to the site for the work order. The mobile-fax~ns application client 18 can pass this data to .feed a xr~obile device application. For example, if the address of a dispatched work order is known, the mobile-forms application client 18 can pass this data to Microsoft pocketStreets and launch the application so the field worker can see the mapped address of their next work order. Aceordaz~g to one embodi;vent, the bar code seanninb information can be mapped to an input field within a form, or may be used to extract information .from an external data source (e.g., a managed list, ete.). For example, the bar code information may represent a part number that can then be searched through a part list to extract the part's name, description, price, ete.
[0026 ~'he content used by the mobile-forms application client 18 can either be embedded within the XML form data (basefi4 encoded) or be referenced and manabed as attachment files in a very elegant way as content under the control of policies that control how the content is managed and distributed (e.g., don't force sending of large multimedia f les associated with the form when the form is submitted wirelessly-unlike other database/sync or real-time forms solutions). The mobile-forms application client 18 can support a wide variety of technologies and input devices (e.g., Personal Digital Assistants (PDAs), smarrphones, etc_) for data captLUe and form navigation. The input devices are linked to anal interact with controls defined in the mobile exte~isible forms markup language to provide and enable data capture and form navigation.
(0027) By way of example, the mobile-forms application client 18, via the defined controls, are adapted to support a plurality of input devices, such as: keyboards (e.g., PC keyboard, keypad, Simple Input Panel (SIP), soft-keyboard, etc.); navigation, mouse, axxd T/O devices (e.g., optical mouse, RS-232 standard modules, touch-screens, scroll wheels, USB
rt~emory dongles, hard-drives, etc.); writinb instrlments and pointers (e.g., stylus, electronic pen/ink, handwriting to text conversion apps, etc.); audio (e.g., speech to text recognition, speech used the selection of an item from a list, speech used for form navigation using technology such as 'V12ML, voice recorders, ete.); infrared reader; magnetic reader and cards (e.g., swipe card, proximity card, smart card, expandable media cards and storage devices such as, for example, SD, MMC, compact hash, memory stick, etc.); Radio Frequency Identification (lt.hXD);
external or internal device peripheral (e.g., GPS, environmental meter, printers, etc.} including devices or data monitoring and reporting modules within an automobile (e.g., telematics);
external or internal applications (e.g., VoTP softphone software, GPS software, etc.); scanners (e_g., optical character reader. (OC12), bar code, hfornetrlc, etc.); incort>xng messages (e.g., via SMS, Smart Messages, OMA, SyncML, Eznail, SNMP, Active Sync, SMPP, SMTP, RSS/XML, etc.); and camera and digital imaging tools and devices__ [0028) The policy-based mobile cotttertt engine 22 includes a Business Process Ena°'ine Proxy (BPIwP) 22a that processes mobile forms application definitions from the mobile-foz~rns application defizzitiozt axles 14 and translates the application definitions into folder structures, files, and security roles as well as policies and actions that the poiicy~based mobile content engine 22 enforces. 'flaese poi icies and actions are utilized by the policy-based mobile content engine 22 to nuidc each instance of a mobile form through the business workflow process, including but not limited to, routing tire form to different users and sending out notifications as the data hElds of the mobile form are updated and actions axe taken. The BPEP
22a uses the policy model (application data model, process states, user groups, folder structure, workflow, actions, conditions, ete.) defined in the mobile-forms application definition filES 14. The policy model is extensible, flexible, visual, and may be wizard driven. As such, the policy model may be designed to be used and interacted with by .non-technical users. Note that a mobile forms application is created by the BPEP 22a into a single security domain_ The policy-based mobile content engine 22 explicitly represents the concept of multiple tenants (multiple domains) in its internal structures and partitions the content management, security roles, authorization, and policies associated with a mobile forms application by tenant (domain).
100z9j The transport engine 2<> i.s an integrated cliendservez transport engine that is adapted to reliably transport (e_g_, form data instance integrity and auditing of actions on the policy-driven mobile content engine 22 and mobile user device) the XML mobile application, forms data, and content through a contl ;ured transport layer (e.D., HTTP/HTTP(S), SynchML, AetiveSync, SOAP, FTP, SMTP, SMPP, RIvII, iIOP, etc.) betweezt the policy-based mobile content engine Z2 and the mobile-forms application client 18_ The transport engine 26 is optimised for mobility in regards to support for on- and off line use, support for multiple OS-cnabled mobile devices, support for various wireless and mobile networks with detection, consideration and maxxagezxtent for their various cost and quality of services, etc. Cozxxpzession, byte differencing, and network policies {e.g., do not send large attachments when low bandwidth connection) are used to provide intelligent use of bandwidth_ file caching, robust session management, partial file transmission support, and a robust synchronization protocol aver HTTP
are provided to address network unreliability.
[Ofl30] The policy-based mobile content engine 22 addresses the challenges (limited and unique physical auributes, cost of service, quality of service, etc.) associated with wireless and mobile devices and networks through the use o.f netwozk policies in conjunction with the transport engine 2G. The transport engine 26 determines whether data compression should be used to minimize data transmitted over the transport layer as well as a number of other technidues (use right network at the ribht time, compression, byte-level differencing, check-point restart, caching and queuing of requests, automatic and manual clientlseaver interactions, ete.) [0031] The mobile-application mana5ement client 30 is made available on each Operating System (OS) enabled mobile device or browser enabled device chat can be used as a thick and thin client__ The mobile-application management client 30 allows a manager or dispatcher to create, vivov, edit, assign, sort, search, or track the progress of Form data for atzy given mobile forms application_ The mobile.-application management client 30 allows such functionality based on the infornlation in the mobile-forms application-definition files 14.
The mobile-forms application-definition files 14 xrxap special "search fields" to information in a mobile form, including the current owner, the current state, as well as allowing custom defined fields_ '.)~he mobile-application management client 3U leverages the folder structure and policies generated by the BPEP 22a, to display to a person managing mobile .forms applications (e.g., dispatcher, office administrator, cte.) all the instances of a mobile form application, currently in prob ess.
Additionally, the manajer can see what state the mobile form is in, who it is assigned to, if the field worker has installed the ri;ht data on tlaeir device, etc. The mobile-application management client 30 incorporates the same rendering engine used by the mobile-form application client 18, so that a manager can select any fom~ instance to view or edit it or create a new one. The manager caz~ use this to change the stains of a form or assign it to a different person.
[003Z] The mobile-forms application designer 34 is adapted to create the mobile-forms application definitions contained within the mobile-forms application definition f lcs 14. In particular, the mobile-fotxns application designer 34 allows a non-technical designer (having minimal or no scripting, programming, or coding knowledge) to define an application in terms of: (i) the rtzobile .forms application definition markup language; (ii) the XML-based policy model that applies to the captured data; {iii) the targeted OS-enabled mobile device (e.g., PCs, TabletPCs, Laptop, PDA, Srnartphone, hlandheld, Handset, Browser-enabled mobile device, ecc.) or browser for the forms application definition; and {iv) the means of distribution of the forms-based application to targeted users (e.g., via push technology, SMTP, or available through a Uniform Resource Identifier (URI), etc.).
[0033[ The mobile-forms application designer 34 is a simple Integrated Development Environment (1D~) for ereatinb one or more mobile-forms application definition file 14.
According to one embodiment of the current invention, the mobile-forms application designer 34 is a standalone PC-based application, but can also be an add-in to an existing application (e.g.
Microsoft Visual Studio) or can be browser/web based. The data structure of the forms instance can be created by importing (e.g_, via an enterprise content source) XML
schema definitions or an instance of an XML file that is used as a demarcation point for back-end system integration.
This includes flexible handling of version control and change propagation and data migration when refneznents are made to the schema upon which a mobile forms application is based. The mobile-forms application designer 34 supports up~ades to a forms solution without diszziptinb the use of the forms solution by the field workers. Changes to the model shared between multiple participatzts arc carefully migrated to the ups ~aded Data Instances (DIs) on the policy-based mobile content engine 22 transparently to the users of the forms solution. Version control on the DIs is important to understanding the data mib atiozl that needs to occur --possibly on the tly~-~~-at the time it is created and/or updated on the sezver by a field tech during the transition period until every field worker has the upgraded application/model on their user device_ [0034 The look and feel of the forms application is defined by the mobile-forms application designer 34. The form designer can create form-based applications using a rich set of form controls that can be dragged and dropped or defzzted on a single or multiple form view. The mobile-firms application designer 34 enables the use of drag and drop properties and other means and controls to define the form flow or navigation of the application_ The form flow is howv the user of the application can use a forms control (e.g., buttoza, image, link, menu item, ete.) to modify forms. The Form flow is rxtostly defined by an action added to a button.
Conditional navigation can be controlled by the behavior typically defined by the "bind"
property of the control or the parent container of the control. The mobile-forms application designer 34 can associate actions to the form control to define the forxn flow.
[0035[ The mobile-forms application desi~cr 34 further defines a rich set of templates to speed the creations of or build forms (new or update fozms) based application for specific OS-enabled targeted devices. 'his includes a translation service that hElps with the automatic translation (grad optimization) from a form optimized for one device into other devices (e.g., browser, laptop, etc.), as opposed to the user having to stazt from scratch for each device. The mobile-fom~s application designer 34 deFnes several wizards to simplify the steps to create, modify, copy, publish, test, etc. a forms based application and includes a lest environment to process the authored mobile-forms application-definition files on the targeted device_ Additionally, the mobile-forms application designer 34 provides workflow and form data validation., i.n one embodiment, throubh the search values and the predefined policies for a tar;eted participant for the workflow and the behavior as defined in XForms for validation.
(0036] The paekaainb of the forms application is provided by the mobile-foixns application desibner 34 as a simple installable application to any OS-enabled mobile devices (e.g., Windows NT/2000/XP/Tablet, Pocket PC, Win CE, ete.) or via a web-browser. The distribution of the fom~s application to system and non-system users via a BPEP 22a integrated with the policy-based mobile content engine 22 through push technoloby, SMTP, or a URl where the application can be downloaded, or rendered on the server and interacted with in a browser session.
[003'7] The plurality of translators 38 are adapted to transla#e the mobile forrrxs application instance data and content into a variety of formats (XML/1-1TML, PDF, SQL, CSV, Printers, Faxes, etc.) for fuxther importind/exportirtD or for data manipulation, termination, or storage. A
technique for form-based data superimposition recognition allows an author to define and automatically correlate the absolute positioning of form data, text, or irr~;age to be printed o.n a paper-based or electronic form template or layout.
[0038] A special desi ;n tool and document translator has been designed as part of this invention to facilitate the creation of a mobile forms application from existing papez-based forms. In typical paper-based processes, mobile workers collect data in paper fornns that are faxed or printed. A mobile forms application also needs to use electronic data to print or fax a hard copy to the client on the same paper-based form. Existing print SDKs require absolute positioninb of objects (e.b., text, images) in order to position and size the captured form data sent it to a local printer to be printed on a template paper-based foz'xt~-(00391 The paper form data superimposition recognition is a special design tool and document translator that can scan existing paper-forms to create a document template and then link it to the application data model-through simple drab and drop or definition of data controls via the mobile-forms application designer 34. The mobile forms application data for a spee~e application instance can then be used to populate the template that is ready for printing or faxinb_ 'fhe paper .forr~a data superimposition recognition allows a designer to arttomatically build a forms application for a given forms solution using a scatarted version of an existing paper-based farm. The model and DI can autotxaatieally be generated using the paper-based form. In some embodiments, the paper form data superimposition recognition zequires the desi~tcr to: (1) review the form and c'hangc the input fields to other types of fonn controls (e.g., text box chanbed to a date picker or a sinnature control); (2) deFne groups of repeated line items; etc.
[0040] The administration client 42 is adapted to allow an end-user administrator to setup the rights provided to a specific user or device, the groups the user or device belongs to, the content available to the user or device, the domains the user or device is able to access, etc. The administration client 42 is particularly useful in embodiments where a number o.f company's content and forms are located on the same policy-based mobile content engine 22. The end-user administrator can theta use the administration client 42 to allow access to the company's content only to, for example, company erxtployees. The administration client 42 transmits access rights to the policy-based mobile content engine 22 that then can limit the access to the content based ora th;e user or device information of the user device trying to access the various content.
[0041 ( Typically, when a mobile fon~ application is developed utilizing the mobile-forms application designer 34, the user information, groups, and access rights are generated as well.
However, as the access rights change over time, tine end-user administrator can utilize tb.e administration client 42 to adjust the access rights, users, or groups accordingly. This allows the end-user's IT depatrtmcnt to manage their content and resources in a secure, desirable, and efficient manner.
(0042] One or more enterprise content sotuces 46 are in communication with the policy-based mobile content engine 22. The one or more enterprise content sources 46 may also communicate with the rt~obile-forms application designer 34 or the mobile-farms application client 18. 'The one or more enterprise content sources 46 are integrated directly with the policy-based ~xzobile content engine 22, the mobile-forms applicatiozz designer 34, and the mobile-forms application client 18 via a plurality of connectors.
[0043] 'fhe policy-based mobile content engine 22 can access the content and information stored on the one or more entezprise content sources 46 and transmit it to the various user devicES based on the policies def7zaed by the mobile-forms application-definition files 14. The mobile-forms application client 18 can utilize the one or more enterprise content sources 46 for pushing or receiving forms as XIvIL files. Additionally, ttze mobile-forms application designer 34 can utilize the content contained with the one or more entezprise content sources 4G as a starting paint for designin? the nrzobile-forms application definition files 14.
[0044] Referring also to FIG_ 2, a mobile-forms based content management network GO is illustrated, according to one embodiment of the presexzt invention. The content rz~.anaacment network 60 allows the communication of the mobil~forms application client 18 with the policy-based mobile content engine 22 to transpozrt the mobile-fom~s application-definition ~fles 14 and all form data instances to and from a mobile device G4. The mobile-forrras application client I $
is primarily eoz'n.prised of a forms rendering enbine that can present a user interface G8 as defined by in the mobile-forms application-definition files 14. The mobile-fours application-definition tiles 14 describe the user interface{s) G8 using the mobile extensible forms markup lan;uage that the forxxzs rendering engines) intezprcts when displayin5 the user interface 6$_ [0045] The mobile-forms application client I$ is available on a wide variEty of OS-enabled mobile devices both as a native application 72 ("Thick Client") and as browser-enabled application 76 ("Thin Client"). It should be noted that even the browser-enabled applications are optimized to address the constraints of the devices they are operating on_ T7~e mobile-forms application client 18 communicates with the policy-based mobile content enbine 22 via a client Application Progt'amming Interface (AFI) to transport the mobile-forms application-definition files 1.4 and all form data instances 80 (associated XML data and eorztent) to and from the mobile device.
[0046] As illustrated in FIG. 2, the policy-based mobile content engine 22, via the transpozrt engine 26, delivers and receives the form data instances that are viewed and updated in the mobile-.forms application client 18 (via the forms rendering engine) on a variety of devices 64, 72. Botla "flick-client" 72 and "thin-client" 76 versions of the mobile-forms application client 18 leverage the transport engine 26 tv communicate with the policy-based mobile content server 22 over intenziittently connected networks 84 (sometimes onli.u,e, sotxtetimes of~ine). The connnurwication coTasists mainly of delivering an instance of mobile form data, as well as mabile-fonns application~definition tiles 14 to the mobile-forms application client 18 that determine how the mobile form data should be presented to the user. When the user updates the mobile form data instances 8U, using the mobile-forms application client 18, they are communicated back to the policy-based mobile content engine 22 via the transport engine 26.
,A,ny changes to any instances are first persisted to a file prior to transporting them to the policy-base mobile content engine 22. This is done to ensure the user can safely keep workizzg even if they are currently disconnected, to keep historical data on the device (if specified in the mobilE forms application definition), and to provide a backup capability in case of device failure including but not lizrited to power failure such as no more battery power left.
[0047] Referring also to FTG_ 3, the integration of the BPEP 22a with the policy-based mobile content engine 22 is further illustmtEd, according to one embodiment-A, business process workflow is defined in one or more mobile-forms application-definition files 14 that are processed in the policy-based mobile content engine 22 via the BPEP 22a, according to one embodiment. The BP1;P 22a is a component of the policy-based mobile content engine 22 that processes mobile forms applications and forms definitions. The mobile-forms application-defnition files 14 used by the BPEP 22a can be defined by th.e non-technical form author using the mobile-forms application designer 34. When utilizing the mobile-forms application designer 34 the form author defines the states, workflow, and composition of the fortxi data instance, the conditions that define.the next state to process (e.g., if the technician requires t.~ew parts then bo to state 'X'), axzd the actions to be processed on a given state in the form's data instance life cycle.
[0048] 1~or exazxtplc, the followinb sample actions are supported by the mobile-forms application designer 34 and are capable of being interpreted by the BPEP 22a and enforced by the policy-based mobile content engine 22. eoz~tcnt publication (e.g., add/move/eopy/dElete docum.exxt or form data) to an existing/new network folder or other services (This action takes into accouztt the user's access pern~issions to the document or form data on the tar;eted destination prior to publishing the content.); content auditing (auditing of user, device, and content it~forrraation updated via the policy-based mobile content engine 22);
eor~tez~t distribution via email, fax, SMS, print and content push via the policy-based mobile content engine 22;
content notification via email, fax, SMS, SNMP, SMPP, print, and/or other external web services; content teansfotmation that may contain any other previously deF~ned actions (lt is possible to transform the data prior to distributing it via email (e.g., make it a viewable HTML
document)); content validation (Some targeted devices might not support local validation against an XML schema. Therefore, the validation can be deed as an action and cause the document to be rerouted 'to the sender.); and network management (This action can require the sender to publish associated attachments to the data instance on a speci f c network type (e.g., EDGE/GPRS, UMTS, CI~MA I x, W-CDMA, WiFi, 802.13 aib/g, Bluetooth, LAN, cradle, etc.).).
f 0049] Aeeorditta to one embodiment, the communication protocol of the content management system 1(3 utilizes HTTP(S) as the preferred protocol to transport all farm data instance and attachments to the Policy-based Mobile Conteztt )vn~ne. The content management system 10 may utilize, as the preferred protocol to distribute and notify other internal or external resources (e.g., users, other machines, ere.), HTTP/HT'TPS, SyncML, ActiveSyne, SOAP, SMTP, FTP, SMS, SNMP, SMPP, RMI, IIOP, etc. Other communication protocols can be utilized without nullifying th;e key attributes of the above-described implementation. For example, web extensions such as SOAP and .NET can also be utilized, as well as proprietary corxizxtunication protocols. The policy-based mobile content engine 22 may also act as an authorizing proxy 'for each of these protocols that allows the mobile-fozms application client 18 to communicate in real time with one or more enterprise content sources 46 hosted behind the enterprise tircwall. For example, a drop down list in a mobile form could be dynamically generated by a SOAP request to an etaterprise content source 46- 'The policy-based mobile content engine 22 would apply appropriate policies both before and after routing the SOAP
request ti'om the mobile-forms application client 18 onto the enterprise content source 46_ [0050] The coxttezzt management system 10 may utilize Secure Socket Layer (SSL) to encrypt all communication between the clients, othez internal and external resources, and the policy based mobile content engine 22_ Other encryption techniques can be utilized without nullifying the key attributes of the invention_ For example, a VPN tunnel could be used to secure the conra~ction between the mobile-forzos application client 18 and the policy-based mobile content eta.ginc 22. Similarly, an s-mitx3,e technique could also be adopted where the target application is e-mail. Furthermore, the forms designer can specify that the data captured as an XML document on the mobile device may be encrypted using a public or secret-key eryptosystem {e.b., Kerberos, PKI, etc.) to properly secure the content on the tmobilc device if the device was stolEn or lost, or if the policy-based mobile content engine 22 was campraxniscd.
[0051 J The content management system 10 enables existing authentication such as existing hUAP and RADIUS servers (local or remote, outside or behind the firewall with support for "single sign on" schemas) among others, to be used 6y the policy-based mobile content ez~gi.ne 22 to authenticate users of tlZe mobile-forms application client 18, the mobile-application management client 30, and the administration client 42. The policy based mobile content engine 22 can either automatically detect the required authentication or the policy-based mobile content engizte 22 can be told by a system administrator to do so. Authorization providers are used to determine it the client is authorized based on their access permissions deternrzined, but not limited to, the client's role and/or roup access permission on the accessed resource (e.g. updating or creating a forms data instance), [005zJ The mobile-forms application desibner 34 provides the end-user with custom-built fo.rzxt applications available on a thick ox thin client. It also enables the forms designer to define all aspects of floe mobile-forms application-defnition files 14, target mobile devices, associate a test environment where the mobile-forms application-definition files 14 can be tested, associate business workflow, Foz~xt navigation, behavior, data capture and define how the mobile forms applications can be procured and haw they can be distributed, updated, or revoked from privileged users.
(0053) The content management system 10 provides superior end user, network, and client performance in several different ways. First, data coxnpression may be used both in downloadiztg newly dispatched and uploading updated form data instances. Furthermore, the policy-based mobile content engine 22 determines when file attachments associated with the mobile form application data instance should bE delivered using both the type of network and attachment size.
Additionally, the content managEment system 10 supports external model updates (e.g., customer list, price Iist, inventory list, ete.). These types of lists typically consist of a large amount of data that should only be updated at wen times or when netwozk availability permits.
Fox mare time critical updates to the list, byte level differencing and data compressiolt can be used to update the end-users list with the changes rather than the updated list. This can reduce the network data Ig constunption by over 80"~0 dependin ; on the changes made to the list_ Byte level differencing is done by transmitting only the changes between the old list and the new list (byte Level differences) and by applying those changes as an update to the old list on the mobile device to create tl~e new list on the mobile device. It can also be used to update an attacltment to a form data instance.
[0054] 'fhe content management system 10 provides superior availability to mobile workers by enabling offline form fillinj when cantined to areas with restricted network connectivity and by enabling ortline, near real time, updates of form data to the server.
Furthez, the content manabement system 10 helps to ensure that forms application and associated resources (e.g., external lists) are pushed as mandatory items. The content management system 10 controls delivery of captured data instances aa3d foi~ns application on a device based on, but not limited to, network connectivity, tithe, etc_ Near real time or scheduled updates to a mobile-forms application-definition file is enabled by, for example, using byte level differencing and data coznprcssion to reduce the size of tlxe markup transported to the mobile device. The content management system 10 further enables automatic calculations, comparisons, enforced fields, data input limitations, mandatory fields, contextual form behavior, read-only and pre-filling of form data, thus assisting in speeding up data capture and business process completion.
[0055] As discussLd above, the content management system for mobile forms applications 10 utilizes the mobile forms application markup language. The mobile forms application markup land abe can be utili?ed to define a number of enhanced fornZ controls_ For example, the mobile forms application markup lanb gage can defne controls for: viewing the defnition of a mobile-forms application-definition file 14 to better group controls and maximize display area of nnobile devices with limited viewing area; providing new appearances for repeat line item cozatrols;
providing controls to view attachments; providing attributes to determine how an attachment is attached to the data instance (e.g_, as a base 64 encoded, binary, ox as a URI); providing support to display images; providing support to display links allowing form-view navigation or web page launch; providing a trigger with a background image; providing a toolbar with menu items used as a trigger yr a submit XForrns eletxtent; providing a header definition that allows the grouping of repeated controls used on di Fferent views; providing a footer definition that allows the gouping of repeated controls used on different views; and providing toolbar, header', and footer references used in a form-view definition to maximize limited resources on given devices (e.g., PPC). These controls can also be bound to dynamic real-time requests that are routed to enterprise content sources 46, via the policy-based mobile content engine 22.
[OOSG] Twwing now to FTGr. 4, a process for creating a mobile forms application, traz~sznitting floe mobile fortes application, and receiving data via the mobile forms application is illustrated, according to one embodiment of the present invention. By utilizinb the mobile-forms application designer 34 (FIG. t), a non-technical user can define a mobile-forms application-definition file 14 (FXG. 1 ) at step I I U. The mobile-forms application-def nition file 14 defines tlxe data model, form navi ;anon, form validation, behavior, look and feel for the form application, and the various processing states that a fornn. document will transition through. A
mobile policy is also defizted wb.ich specifies the roles and policies about routing, distribution, notif canon / alerts, devices, authorization, etc. All of these are created using a wizard-based, point-and-click interface, which requires no coding, seriptinb or programming on the part of the designer. There are also special tools for defining form based user interfaces that end-users can used to interact with application data, as well as spECial tools for defining format translations to import and export application data from XML into other formats (HTML, plaF, SQL, CSV, ASCII, etc.) including sending to a printer or fax_ And there is a tool for importing, exporting, creating and editing XML sche~nas that define the structurE of the data supported by the mobile-forms application-definition client 18. The mobile-fogs application-definition file 14 is them stored to a hard disk.
(0057( The application data model, process states, folder structure, user groups, mobile policies, format translations, and user interfaces are all defined in XML-based mobile-forms application-definition files 14 that axe Generated onto the policy-based mobile content engine 22 at step 12U~ Th.e policy-based mobile content engine 22 serves as a gateway between mobile forms applications and existing business processes, enterprise content sources, and applications.
[0058] The policy-based mobile content engine 22 automatically or manually can be used to create and set up folder structures at step 120a and to create user groups at step l2Ub_ At stEp 120c, the mobile-forms application-definition file 14 its actually transferred to the policy-based mobile content engine 22. Infbrmation contained ixA the mobile-forms application-definition frle I4 is used to define a folder structure in the policy-based mobile content engine 22, which will store the content associated with each application, and to define the user groups in the poliey-z0 based mobile content engine 22, that will be allowed to access application data and content during the various processing states of an. application instance.
[0059] The policy-based mobile content engine 22 generates a plurality of searcla and trackin5 fields at step 120d that allow a forms nrtartager to look for and monitor the mobile foams applications that have been provided (and deployed) by the policy-based content management engine 22. At step 120e, the policy-based content trxanaaemEnt engine 22 generates client installation packages for. installinD the mobile form application onto the user devices. Routing and deployment policies are determined at step 120f by the policy-based content management engine 22 for the mobile form application based on the mobile-forms application-definition fIe 14. The policy-based content management engine 22 then generates a user's extensible-markup-langua~e file at step 1200.
[0060] The mobile forrms application created by the mobile-forms application designer 34, is deployed to the user devices at step 130 by die policy-based mobile content engine 22 (F1G. 1 ) and its associated transport enbine 26 (FIG. 1)_ The deployment activates the mobile forms application such that the application and associated files, user lists, etc.
will be pushed down to the user's mobile devices 64 (FIG. 2). Alternatively, the deploymexxt tnay be accomplished by generating a media card (e.g., a SD card, mini-SD, etc.) along with user configuration files. The media card may then be utilized to automatically and intelligently install the mobile forms application and configuration files onto an OS-enabled user device. The deployment process manages both forms application upgrades as well as data zr~i~-ation that may be required for existing form instances persistent on the policy-based mobile content engine 22 and mobile devices_ [0061] The mobile-fornas application client 18 (FIG. 1) is available on a wide variety of user devices (PC, Laptop, Tablet, PDA, Blackberry, Smartphone, Browser-based thin-client, etc.) that allows end-users to interact with application data and content. The wobile-application management client 30 (FIG_ 1 ) is also available which allows managers to create, assign, and monitor application instances. Document translators 3$ (FIG. 1) are used to view and print application data content, as well as transform it for use by other systerrzs_ [0062] The policies of the mobile contextt engine are applied in response to any content management event (including, but not limited to reconcile requests from clients, new or updated files, ales assi~ed to users, etc.). Policies are able to leverage whatever information is available to the content management engine tizxze in deciding what actions should occur (type of network, content or state of the files being transferred, users involved etc.). In particular, when a relevant state change is detected by the mobile application client 18 on a znobilE
device 64 (FIG. 2), the policy-based mobile content engine 22 is notified, and the policies for the particular mobile-forms application-defitzit.ion ale 14 are enforced at step 140_ The state change may be, fox example, the creation or modification of a form data instance $0 (FIG. 2) on the mobile device 64. The mobile-application z~anabement client 30 can be utilised at step 150 to create new Form data instances and assign them to users (both actions will result in content management events that txi~er the appropriate policies for the mobile forms application).
Further, at step 150, the mobile-application management client 30 cazz be utilized to track the status of all data instances (e.b., what state they are in, w.ho they are assigned to) using the search and tracking fields generated at step ] 20d.
[0063] Based on. the policies relevant to the state change, the new or rnodired data instance can be transferred between the policy-based mobile content engine 22 and the user devices at step 160. This information can further be transferred between. the policy-based mobile content en;ine 22 and tl~e other user devices within the particular user group_ The user or other users are then capable of interacting with the application data arzd content at step 170 once that information has been pushed to their user device by the policy-based mobile content engine 22.
[0064] This scenario is much more effective compared to other solutions that use data replication to synchronize databases on mobile devices with a central server database_ First, such databases quickly become too big in practice given the limited capabilities of mobile devices.
Second, a lot of. unnecessary information is moved back and forth. Policy-driven mobile forms applications are designed to minimi?e the exchange of data wirelessly (use right network at the right time, compression, byte-level differencin ;, check-point restart, caching and queuing of requests, autoxnatie and manual client/server interactions, ete.)_ [OU65] While the present invention has been described with reference to one or more particular embodiments, those skilled in the art will recognise that many changes may be zxzade thereto without departing from the spirit and scope of th.e present invention.
Each of these embodiments and obvious variations thereof is contemplated as falling within the scope of the claimed invention, which is set forth in the following claims.
Claims (34)
1. A system for capturing data via an extensible markup language form, comprising.
a policy-based mobile content engine adapted to process a plurality of mobile-forms application definitions from one or more mobile-forms application definition files, the policy-based mobile content engine being adapted to translate the plurality of mobile forms application definitions into policies and actions, the policy-based mobile content engine being adapted to enforce the policies and actions that have been translated;
a mobile-forms application client having a plurality of rendering engines targeted for one or more mobile user device, the rendering engines utilizing a forms application definition markup language to render form controls and to process the forms-based application, the mobile-forms application client being operable on the one or more mobile user device and being adapted to capture the data, as one or more form data instances, both online or offline as an extensible-markup-language document;
and a transport engine adapted to transport mobile-forms applications, definition files, and the captured data through a transport layer between the policy-based mobile content engine and the mobile-forms application client.
a policy-based mobile content engine adapted to process a plurality of mobile-forms application definitions from one or more mobile-forms application definition files, the policy-based mobile content engine being adapted to translate the plurality of mobile forms application definitions into policies and actions, the policy-based mobile content engine being adapted to enforce the policies and actions that have been translated;
a mobile-forms application client having a plurality of rendering engines targeted for one or more mobile user device, the rendering engines utilizing a forms application definition markup language to render form controls and to process the forms-based application, the mobile-forms application client being operable on the one or more mobile user device and being adapted to capture the data, as one or more form data instances, both online or offline as an extensible-markup-language document;
and a transport engine adapted to transport mobile-forms applications, definition files, and the captured data through a transport layer between the policy-based mobile content engine and the mobile-forms application client.
2. The system of claim 1, wherein the mobile-forms application client is further adapted to capture and attach a wide variety of multi-media content to the captured data.
3. The system of claim 1, wherein the plurality of rendering engines of the mobile-forms application client is adapted to encode the captured data as an extensible-markup-language form data instance.
4. The system of claim 1, wherein the plurality of rendering engines of the mobile-forms application client is adapted to reference the inputted data to an opaque object.
5. The system of claim 1, wherein the management and distribution of the captured data is controlled by one or more policy translated from the plurality of mobile-forms application definitions.
6. The system of claim 1, wherein the rendered form controls are linked to and interact with one or more input devices provided on the mobile user device, the one or more input devices allowing for data capture and assisting with navigation of the forms-based application.
7. The system, of claim 1, wherein the policy-based mobile content engine routes the one or more mobile-forms application-definition files to the mobile-forms application client via the transport engine.
8. The system of claim 1, wherein the policy-based mobile content engine sends notifications as one or more data field within the mobile-forms application definition files is updated.
9. The system of claim 1, wherein the policy-based mobile content engine supports multiple security domains in a hosted environment that enables mobile forms applications, folder structures, user groups, user authentication, policies, and form data instances to be partitioned and kept wholly separate by security domain.
10. The system of claim 1, wherein the transport engine utilizes data compression to transmit the mobile-forms application definition files and the captured data through the transport layer between the policy-based mobile content engine and the mobile-forms application client.
11. The system of claim 1, wherein the transport engine utilizes byte-level differencing when retransmitting or updating large files that are part of the mobile-forms application through the transport layer between the policy-based mobile content engine and the mobile-forms application client.
12. The system of claim 1, wherein the transport engine utilizes check-point restarting when transmit the mobile-forms application definition files and the captured data through the transport layer between the policy-based mobile content engine and the mobile-forms application client.
13. The system of claim 1, wherein the transport engine uses caching and queuing of requests for transmitting the mobile-forms application definition files and the captured data through the transport layer between the policy-based mobile content engine and the mobile-forms application client.
14. The system of claim 1, wherein the transport engine is able to support communication between the mobile-forms application client and the policy-based mobile content engine both inside and outside of a corporate firewall.
15. The system of claim 1, wherein the transport engine is able to maintain a secure and robust user session between the mobile-forms application client and the policy-based mobile content engine over an intermittently connected network, via file caching, partial file transmission support, and a robust synchronization protocol.
16. The system of claim 1, wherein the rendered form controls are linked to and interact with one or more enterprise content sources in real-time, a request to the one or more enterprise content sources being communicated either directly or via the policy-based mobile content engine.
17. A method for defining and enforcing routing rules to define a business process workflow, comprising:
defining, via a mobile-forms application designer, a mobile-forms application-definition file that defines a mobile forms application by providing, (i) a mobile forms application definition markup language, (ii) an extensible-markup-language-based policy model that applies to one or more data instances that are to be captured, (iii) routing information specifying one or more targeted mobile user devices to deploy the mobile-forms application-definition file to, and (iv) a means of distribution of the forms-based application to targeted mobile users devices;
determining the routing rules for the business process workflow by reading, via a business process engine proxy, the mobile-forms application-definition file for the specified routing information and associated extensible-markup-language-based policy model; and enforcing, via a policy-based content management engine, the routing rules determined based on the defined and read mobile-forms application-definition file, wherein the deployment, form interaction, routing, and management of the mobile forms application is automatically supported by reading, deploying, and enforcing the mobile-forms application-definition file.
defining, via a mobile-forms application designer, a mobile-forms application-definition file that defines a mobile forms application by providing, (i) a mobile forms application definition markup language, (ii) an extensible-markup-language-based policy model that applies to one or more data instances that are to be captured, (iii) routing information specifying one or more targeted mobile user devices to deploy the mobile-forms application-definition file to, and (iv) a means of distribution of the forms-based application to targeted mobile users devices;
determining the routing rules for the business process workflow by reading, via a business process engine proxy, the mobile-forms application-definition file for the specified routing information and associated extensible-markup-language-based policy model; and enforcing, via a policy-based content management engine, the routing rules determined based on the defined and read mobile-forms application-definition file, wherein the deployment, form interaction, routing, and management of the mobile forms application is automatically supported by reading, deploying, and enforcing the mobile-forms application-definition file.
18. The method of claim 17, wherein the extensible-markup-language-based policy model specifies a business process workflow including, (i) definition of state attributes in terms of information contained in a mobile-forms application instance or information available at run time in the policy-based mobile content engine, (ii) events triggered by a change to a state of the mobile fortes application or requests to the policy-based mobile content engine, (iii) conditional evaluation and responses to events, and (iv) actions that can be processed either directly or via the policy-based mobile content engine, the actions including changing the state of the mobile-forms application client.
19. The method of claim 17 further comprising, allowing a manager to track the progress of a work request relative to the business process workflow by utilizing a mobile application manager client, the business process engine proxy, and the policy-based content management engine.
20. The method of claim 17 further comprising, sending dynamic alerts and notifications associated with a tracked business process workflow arid other events.
21. The method of claim 17, wherein the mobile forms application designer is adapted to modify the mobile-forms application-definition file.
22. The method of claim 17, wherein the mobile forms application designer is adapted to modify the extensible-markup-language-based policy model.
23. The method of claim 17, wherein the mobile forms application designer is adapted to test and package a mobile-forms application-definition file and the mobile-forms application-definition file's dependencies.
24. The method of claim 17, wherein the routing information specifying one or more targeted mobile user devices specifies one or more groups of users.
25. The method of claim 17, wherein the nobble-forms application-definition file is a self-extractable packaged file.
26. The method of claim 17 further comprising, updating the mobile-forms application-definition file and providing the updated mobile-forms application-definition file to the mobile user device, via the policy-based content management engine and an associated transport engine.
27. The method of claim 26, wherein the updated mobile-forms application-definition file is provided to the mobile user device utilizing wireless network connectivity.
28. The method of claim 26, wherein a form instance data definition modification can trigger data migration of existing form data instances persistent on the policy-based content management engine and the mobile user devices to validate against a new forms instance data definition via the business process workflow.
29. The method of claim 17 further comprising, mapping, via one or more translator, the mobile forms application from the extensible forms language into a format preferred by a user.
30. The method of claim 17 further comprising, mapping, via one or more translator, the mobile forms application from the extensible forms language into a format appropriate for the mobile user device the mobile forms application is deployed on.
3I. A method for recognizing data superimposed on a paper form comprising.
scanning a paper based form to create a paper-based form template;
capturing the location of a form data instance element overlaid on the paper-based form template;
capturing the size of a form data instance element overlaid on the paper-based form template;
creating an input field based on the location and size of the form data instance element;
linking the paper-based form, template to an application data model; and populating the paper-based form template with mobile-forms application data for a specific data instance in the input field.
scanning a paper based form to create a paper-based form template;
capturing the location of a form data instance element overlaid on the paper-based form template;
capturing the size of a form data instance element overlaid on the paper-based form template;
creating an input field based on the location and size of the form data instance element;
linking the paper-based form, template to an application data model; and populating the paper-based form template with mobile-forms application data for a specific data instance in the input field.
32. The method of claim 31, wherein the input field.
33. The method of claim 32, wherein the form controlled field is a date picker.
34. The method of claim 32, wherein the form controlled field is a signature control.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US64519905P | 2005-01-19 | 2005-01-19 | |
US60/645,199 | 2005-01-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2533318A1 true CA2533318A1 (en) | 2006-07-19 |
Family
ID=34956751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002533318A Abandoned CA2533318A1 (en) | 2005-01-19 | 2006-01-19 | Policy-driven mobile forms applications |
Country Status (4)
Country | Link |
---|---|
US (1) | US7774504B2 (en) |
EP (1) | EP1842140A4 (en) |
CA (1) | CA2533318A1 (en) |
WO (1) | WO2006077481A1 (en) |
Families Citing this family (190)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1540446A2 (en) | 2002-08-27 | 2005-06-15 | TD Security, Inc., dba Trust Digital, LLC | Enterprise-wide security system for computer devices |
WO2005064498A1 (en) * | 2003-12-23 | 2005-07-14 | Trust Digital, Llc | System and method for enforcing a security policy on mobile devices using dynamically generated security profiles |
EP2492808A1 (en) * | 2004-06-30 | 2012-08-29 | Jumpstart Wireless Corporation | System and method for extending business systems to a mobile workforce |
US7581169B2 (en) * | 2005-01-14 | 2009-08-25 | Nicholas James Thomson | Method and apparatus for form automatic layout |
US20100115581A1 (en) * | 2008-11-06 | 2010-05-06 | Trust Digital | System method and device for mediating connections between policy source servers, corporate respositories, and mobile devices |
US8495700B2 (en) | 2005-02-28 | 2013-07-23 | Mcafee, Inc. | Mobile data security system and methods |
US9769354B2 (en) | 2005-03-24 | 2017-09-19 | Kofax, Inc. | Systems and methods of processing scanned data |
US9137417B2 (en) | 2005-03-24 | 2015-09-15 | Kofax, Inc. | Systems and methods for processing video data |
GB0506508D0 (en) * | 2005-03-31 | 2005-05-04 | Ibm | Method, system and software tool for processing an electronic form |
US7941744B2 (en) * | 2005-04-25 | 2011-05-10 | Adp, Inc. | System and method for electronic document generation and delivery |
CA2611160A1 (en) * | 2005-06-06 | 2006-12-14 | Mobidia, Inc. | System and method of controlling a mobile device using a network policy |
US7747894B2 (en) * | 2005-06-06 | 2010-06-29 | Microsoft Corporation | Transport-neutral in-order delivery in a distributed system |
US7793333B2 (en) * | 2005-06-13 | 2010-09-07 | International Business Machines Corporation | Mobile authorization using policy based access control |
JP4719543B2 (en) * | 2005-09-26 | 2011-07-06 | 株式会社リコー | Workflow system, server device, processing method of workflow system, and workflow program |
US20070115916A1 (en) * | 2005-11-07 | 2007-05-24 | Samsung Electronics Co., Ltd. | Method and system for optimizing a network based on a performance knowledge base |
ATE468556T1 (en) * | 2006-04-13 | 2010-06-15 | Microsoft Corp | VIRTUAL EXECUTION SYSTEM FOR RESOURCE LIMITED DEVICES |
US20070245227A1 (en) * | 2006-04-13 | 2007-10-18 | Workflow.Com, Llc | Business Transaction Documentation System and Method |
US20070271085A1 (en) * | 2006-05-19 | 2007-11-22 | Louenas Hamdi | Emulation of an interactive electronic form |
US20070285779A1 (en) * | 2006-06-13 | 2007-12-13 | Walker Christopher B | Optical films comprising high refractive index and antireflective coatings |
US9781071B2 (en) * | 2006-06-28 | 2017-10-03 | Nokia Technologies Oy | Method, apparatus and computer program product for providing automatic delivery of information to a terminal |
US20080016504A1 (en) * | 2006-07-14 | 2008-01-17 | Wesley Homer Cheng | Dynamically programmable electronic data collection system combining declarative programming and native coding |
CA2660879A1 (en) * | 2006-08-18 | 2008-02-28 | Lehman Brothers Inc. | Email forms engine for portable devices |
US10452756B2 (en) * | 2006-09-29 | 2019-10-22 | Oath Inc. | Platform for rendering content for a remote device |
US8259568B2 (en) | 2006-10-23 | 2012-09-04 | Mcafee, Inc. | System and method for controlling mobile device access to a network |
US8069408B2 (en) * | 2006-11-16 | 2011-11-29 | Novell, Inc. | Representing extensible markup language (XML) as an executable having conditional authentication or policy logic |
US8646095B2 (en) | 2006-11-30 | 2014-02-04 | Microsoft Corporation | Personal site privacy policy |
CA2578466A1 (en) * | 2007-01-12 | 2008-07-12 | Truecontext Corporation | Method and system for customizing a mobile application using a web-based interface |
CA2578515A1 (en) * | 2007-01-12 | 2008-07-12 | Truecontext Corporation | Method and system for real time records from aggregated mobile data |
CA2578472C (en) * | 2007-01-12 | 2013-01-15 | Truecontext Corporation | Methods and system for orchestrating services and data sharing on mobile devices |
CA2578390A1 (en) | 2007-01-12 | 2008-07-12 | Truecontext Corporation | Method and system for managing mobile applications |
US8464211B2 (en) * | 2007-03-01 | 2013-06-11 | Formotus, Inc. | Forms conversion and deployment system for mobile devices |
WO2008106783A1 (en) * | 2007-03-07 | 2008-09-12 | Spoton Systems Inc. | A generic, customizable navigation, layout and reporting system for mobile forms data capture |
US20100205196A1 (en) * | 2007-03-09 | 2010-08-12 | Ghost, Inc. | Virtual File System for the Web |
US8914434B2 (en) | 2007-04-11 | 2014-12-16 | International Business Machines Corporation | Method and apparatus for syndicating interactions between a client and a web service |
CN101296109B (en) * | 2007-04-27 | 2011-04-06 | 华为技术有限公司 | Method, device and system for policy decision entity interaction under multi-policy execution point |
US8561148B2 (en) * | 2008-06-26 | 2013-10-15 | Citrix Systems, Inc. | Methods and systems for interactive evaluation using dynamically generated, interactive resultant sets of policies |
US20090007021A1 (en) * | 2007-06-28 | 2009-01-01 | Richard Hayton | Methods and systems for dynamic generation of filters using a graphical user interface |
US8775944B2 (en) * | 2008-06-26 | 2014-07-08 | Citrix Systems, Inc. | Methods and systems for interactive evaluation of policies |
US20090006618A1 (en) * | 2007-06-28 | 2009-01-01 | Richard Hayton | Methods and systems for access routing and resource mapping using filters |
WO2009021200A1 (en) * | 2007-08-08 | 2009-02-12 | Innopath Software, Inc. | Managing and enforcing policies on mobile devices |
US20090172715A1 (en) | 2007-09-28 | 2009-07-02 | Xcerion Ab | Network operating system |
US9304983B2 (en) * | 2007-10-16 | 2016-04-05 | International Business Machines Corporation | Method and system for Xform generation and processing application integration framework |
EP2223198A1 (en) * | 2007-12-11 | 2010-09-01 | Granhed, Magnus | A system for activating and deactivating a function |
US8156205B1 (en) * | 2008-01-22 | 2012-04-10 | Salesforce.Com, Inc. | System, method and computer program product for creating mobile custom views for tenants of an on-demand database service |
US20090204881A1 (en) * | 2008-02-08 | 2009-08-13 | M/S. Scmooth (India) Private Limited | Method and system for knowledge-based filling and verification of complex forms |
US8402111B2 (en) | 2009-01-28 | 2013-03-19 | Headwater Partners I, Llc | Device assisted services install |
US8391834B2 (en) | 2009-01-28 | 2013-03-05 | Headwater Partners I Llc | Security techniques for device assisted services |
US8725123B2 (en) | 2008-06-05 | 2014-05-13 | Headwater Partners I Llc | Communications device with secure data path processing agents |
US8548428B2 (en) | 2009-01-28 | 2013-10-01 | Headwater Partners I Llc | Device group partitions and settlement platform |
US8924469B2 (en) | 2008-06-05 | 2014-12-30 | Headwater Partners I Llc | Enterprise access control and accounting allocation for access networks |
US8626115B2 (en) | 2009-01-28 | 2014-01-07 | Headwater Partners I Llc | Wireless network service interfaces |
US8589541B2 (en) | 2009-01-28 | 2013-11-19 | Headwater Partners I Llc | Device-assisted services for protecting network capacity |
US8924543B2 (en) | 2009-01-28 | 2014-12-30 | Headwater Partners I Llc | Service design center for device assisted services |
US8340634B2 (en) | 2009-01-28 | 2012-12-25 | Headwater Partners I, Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
US8832777B2 (en) | 2009-03-02 | 2014-09-09 | Headwater Partners I Llc | Adapting network policies based on device service processor configuration |
US8406748B2 (en) | 2009-01-28 | 2013-03-26 | Headwater Partners I Llc | Adaptive ambient services |
US8635335B2 (en) | 2009-01-28 | 2014-01-21 | Headwater Partners I Llc | System and method for wireless network offloading |
US8346225B2 (en) | 2009-01-28 | 2013-01-01 | Headwater Partners I, Llc | Quality of service for device assisted services |
US8250207B2 (en) | 2009-01-28 | 2012-08-21 | Headwater Partners I, Llc | Network based ambient services |
US8275830B2 (en) | 2009-01-28 | 2012-09-25 | Headwater Partners I Llc | Device assisted CDR creation, aggregation, mediation and billing |
US8898293B2 (en) | 2009-01-28 | 2014-11-25 | Headwater Partners I Llc | Service offer set publishing to device agent with on-device service selection |
CA2729867A1 (en) * | 2008-07-01 | 2010-01-07 | Talisma Corporation Private Ltd. | A method to provide an option to the customer relationship management (crm) user to select from a list of short message service (sms) gateways from the graphical user interface (gui) before sending out an sms message |
US8356274B2 (en) * | 2008-07-07 | 2013-01-15 | International Business Machines Corporation | System and methods to create a multi-tenancy software as a service application |
US8275740B1 (en) | 2008-07-17 | 2012-09-25 | Mardon E.D.P. Consultants, Inc. | Electronic form data linkage |
US9047479B1 (en) | 2008-09-12 | 2015-06-02 | Salesforce.Com, Inc. | System, method and computer program product for providing a team object in association with an object |
DE102008059197A1 (en) * | 2008-11-27 | 2010-06-02 | Bayerische Motoren Werke Aktiengesellschaft | Method and device for the distributed configuration of telematics services in motor vehicle systems |
US11218854B2 (en) | 2009-01-28 | 2022-01-04 | Headwater Research Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US10264138B2 (en) | 2009-01-28 | 2019-04-16 | Headwater Research Llc | Mobile device and service management |
US10492102B2 (en) | 2009-01-28 | 2019-11-26 | Headwater Research Llc | Intermediate networking devices |
US10237757B2 (en) | 2009-01-28 | 2019-03-19 | Headwater Research Llc | System and method for wireless network offloading |
US9955332B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Method for child wireless device activation to subscriber account of a master wireless device |
US9571559B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners I Llc | Enhanced curfew and protection associated with a device group |
US9954975B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
US8606911B2 (en) | 2009-03-02 | 2013-12-10 | Headwater Partners I Llc | Flow tagging for service policy implementation |
US9858559B2 (en) | 2009-01-28 | 2018-01-02 | Headwater Research Llc | Network service plan design |
US9755842B2 (en) | 2009-01-28 | 2017-09-05 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
US8893009B2 (en) | 2009-01-28 | 2014-11-18 | Headwater Partners I Llc | End user device that secures an association of application to service policy with an application certificate check |
US10057775B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Virtualized policy and charging system |
US10248996B2 (en) | 2009-01-28 | 2019-04-02 | Headwater Research Llc | Method for operating a wireless end-user device mobile payment agent |
US9351193B2 (en) | 2009-01-28 | 2016-05-24 | Headwater Partners I Llc | Intermediate networking devices |
US10779177B2 (en) | 2009-01-28 | 2020-09-15 | Headwater Research Llc | Device group partitions and settlement platform |
US9253663B2 (en) | 2009-01-28 | 2016-02-02 | Headwater Partners I Llc | Controlling mobile device communications on a roaming network based on device state |
US9565707B2 (en) | 2009-01-28 | 2017-02-07 | Headwater Partners I Llc | Wireless end-user device with wireless data attribution to multiple personas |
US10200541B2 (en) | 2009-01-28 | 2019-02-05 | Headwater Research Llc | Wireless end-user device with divided user space/kernel space traffic policy system |
US9980146B2 (en) | 2009-01-28 | 2018-05-22 | Headwater Research Llc | Communications device with secure data path processing agents |
US10783581B2 (en) | 2009-01-28 | 2020-09-22 | Headwater Research Llc | Wireless end-user device providing ambient or sponsored services |
US9392462B2 (en) | 2009-01-28 | 2016-07-12 | Headwater Partners I Llc | Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy |
US8793758B2 (en) | 2009-01-28 | 2014-07-29 | Headwater Partners I Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US9706061B2 (en) | 2009-01-28 | 2017-07-11 | Headwater Partners I Llc | Service design center for device assisted services |
US9572019B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners LLC | Service selection set published to device agent with on-device service selection |
US10064055B2 (en) | 2009-01-28 | 2018-08-28 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US9578182B2 (en) | 2009-01-28 | 2017-02-21 | Headwater Partners I Llc | Mobile device and service management |
US10798252B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | System and method for providing user notifications |
US8745191B2 (en) | 2009-01-28 | 2014-06-03 | Headwater Partners I Llc | System and method for providing user notifications |
US10715342B2 (en) | 2009-01-28 | 2020-07-14 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
US10484858B2 (en) | 2009-01-28 | 2019-11-19 | Headwater Research Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
US9270559B2 (en) | 2009-01-28 | 2016-02-23 | Headwater Partners I Llc | Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow |
US10841839B2 (en) | 2009-01-28 | 2020-11-17 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10326800B2 (en) | 2009-01-28 | 2019-06-18 | Headwater Research Llc | Wireless network service interfaces |
US9647918B2 (en) | 2009-01-28 | 2017-05-09 | Headwater Research Llc | Mobile device and method attributing media services network usage to requesting application |
US8351898B2 (en) | 2009-01-28 | 2013-01-08 | Headwater Partners I Llc | Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account |
US9557889B2 (en) | 2009-01-28 | 2017-01-31 | Headwater Partners I Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US20100195910A1 (en) * | 2009-02-03 | 2010-08-05 | Penpower Technology Ltd | Method and electronic device for attaching handwritten information to an electronic document |
US9767354B2 (en) | 2009-02-10 | 2017-09-19 | Kofax, Inc. | Global geographic information retrieval, validation, and normalization |
US9349046B2 (en) | 2009-02-10 | 2016-05-24 | Kofax, Inc. | Smart optical input/output (I/O) extension for context-dependent workflows |
US8958605B2 (en) | 2009-02-10 | 2015-02-17 | Kofax, Inc. | Systems, methods and computer program products for determining document validity |
US8774516B2 (en) | 2009-02-10 | 2014-07-08 | Kofax, Inc. | Systems, methods and computer program products for determining document validity |
US9576272B2 (en) | 2009-02-10 | 2017-02-21 | Kofax, Inc. | Systems, methods and computer program products for determining document validity |
US9846690B2 (en) * | 2009-03-02 | 2017-12-19 | International Business Machines Corporation | Automating interrogative population of electronic forms using a real-time communication platform |
US20100228829A1 (en) * | 2009-03-06 | 2010-09-09 | Meir Niv | Mobile database network |
WO2011019365A2 (en) | 2009-08-14 | 2011-02-17 | Payfone, Inc. | System and method for paying a merchant using a cellular telephone account |
US20110126113A1 (en) * | 2009-11-23 | 2011-05-26 | c/o Microsoft Corporation | Displaying content on multiple web pages |
US8271031B2 (en) * | 2009-12-30 | 2012-09-18 | Sap Ag | Communication between integrated device and mobile application client on mobile personal communication device |
US8499088B1 (en) * | 2010-01-15 | 2013-07-30 | Sprint Communications Company L.P. | Parallel multiple format downloads |
US20110270711A1 (en) * | 2010-04-28 | 2011-11-03 | Sap Ag | Managing application interactions with enterprise systems |
US8935384B2 (en) | 2010-05-06 | 2015-01-13 | Mcafee Inc. | Distributed data revocation using data commands |
US9356991B2 (en) * | 2010-05-10 | 2016-05-31 | Litera Technology Llc | Systems and methods for a bidirectional multi-function communication module |
US9172680B2 (en) * | 2010-06-07 | 2015-10-27 | Protected Mobility, Llc | Systems and methods for enabling secure messaging, command, and control of remote devices, communicated via a short message service or other message oriented communications mediums |
US8700723B2 (en) * | 2010-06-15 | 2014-04-15 | Netzyn, Inc. | Hierarchical display-server system and method |
US8620305B2 (en) * | 2010-06-23 | 2013-12-31 | Salesforce.Com, Inc. | Methods and systems for a mobile device testing framework |
US20120030577A1 (en) | 2010-07-30 | 2012-02-02 | International Business Machines Corporation | System and method for data-driven web page navigation control |
US8392573B2 (en) * | 2010-07-30 | 2013-03-05 | Sap Ag | Transport of customer flexibility changes in a multi-tenant environment |
US9753702B2 (en) * | 2010-10-22 | 2017-09-05 | Paul Hershenson | Systems and methods for creating integrated applications for electronic devices |
GB2483318B (en) * | 2011-01-24 | 2013-06-26 | Realvnc Ltd | Software activation systems |
US9196028B2 (en) | 2011-09-23 | 2015-11-24 | Digimarc Corporation | Context-based smartphone sensor logic |
US9154826B2 (en) | 2011-04-06 | 2015-10-06 | Headwater Partners Ii Llc | Distributing content and service launch objects to mobile devices |
US8612541B2 (en) * | 2011-04-29 | 2013-12-17 | Blue Coat Systems, Inc. | Method and apparatus for multi-tenant policy management in a network device |
US9262766B2 (en) | 2011-08-31 | 2016-02-16 | Vibrant Media, Inc. | Systems and methods for contextualizing services for inline mobile banner advertising |
US20130054672A1 (en) * | 2011-08-31 | 2013-02-28 | Roy Peter John Stilling | Systems and methods for contextualizing a toolbar |
WO2013033445A2 (en) * | 2011-08-31 | 2013-03-07 | Vibrant Media Inc. | Systems and methods for contextualizing a toolbar, an image and inline mobile banner advertising |
US20130073600A1 (en) * | 2011-09-21 | 2013-03-21 | Jonathan A. Jenkins | Remote process execution management |
US9177132B2 (en) * | 2011-10-12 | 2015-11-03 | International Business Machines Corporation | Capturing data parameters in templates in a networked computing environment |
US9384012B2 (en) * | 2011-12-16 | 2016-07-05 | Sap Se | Standalone data entry for backend system |
US9058580B1 (en) | 2012-01-12 | 2015-06-16 | Kofax, Inc. | Systems and methods for identification document processing and business workflow integration |
US8855375B2 (en) | 2012-01-12 | 2014-10-07 | Kofax, Inc. | Systems and methods for mobile image capture and processing |
US10146795B2 (en) | 2012-01-12 | 2018-12-04 | Kofax, Inc. | Systems and methods for mobile image capture and processing |
US9483794B2 (en) | 2012-01-12 | 2016-11-01 | Kofax, Inc. | Systems and methods for identification document processing and business workflow integration |
US9058515B1 (en) | 2012-01-12 | 2015-06-16 | Kofax, Inc. | Systems and methods for identification document processing and business workflow integration |
US9165332B2 (en) * | 2012-01-27 | 2015-10-20 | Microsoft Technology Licensing, Llc | Application licensing using multiple forms of licensing |
US9847969B1 (en) * | 2012-02-23 | 2017-12-19 | Nintex Pty Limited | Apparatus and method for collecting form data across open and closed domains |
EP2856346A1 (en) * | 2012-05-30 | 2015-04-08 | Thomson Licensing | Method and apparatus for mass updates of digital media |
US20140052487A1 (en) * | 2012-08-15 | 2014-02-20 | Adriana Neagu | Deploying dispatch form with implied workflows to mobile devices |
JP6011349B2 (en) * | 2013-01-11 | 2016-10-19 | 富士通株式会社 | Storage apparatus and data compression method |
WO2014115199A1 (en) * | 2013-01-22 | 2014-07-31 | Necソリューションイノベータ株式会社 | Input support system, input support method and input support program |
US9176726B2 (en) * | 2013-01-28 | 2015-11-03 | Paptap Ltd | Method and apparatus for developing, distributing and executing applications |
US9678745B2 (en) * | 2013-01-28 | 2017-06-13 | Paptap Ltd | Automatic submission of applications to applications stores |
US10296562B2 (en) | 2013-02-12 | 2019-05-21 | Oath Inc. | Dynamic generation of mobile web experience |
US9342806B2 (en) * | 2013-02-28 | 2016-05-17 | P800X, Llc | Method and system for automated project management |
US10496942B2 (en) | 2013-02-28 | 2019-12-03 | P800X, Llc | Method and system for automated project management of excavation requests |
US9652562B2 (en) * | 2013-03-07 | 2017-05-16 | Ricoh Company, Ltd. | Proximal equipment data capture |
US9355312B2 (en) | 2013-03-13 | 2016-05-31 | Kofax, Inc. | Systems and methods for classifying objects in digital images captured using mobile devices |
US9208536B2 (en) | 2013-09-27 | 2015-12-08 | Kofax, Inc. | Systems and methods for three dimensional geometric reconstruction of captured image data |
WO2014160426A1 (en) | 2013-03-13 | 2014-10-02 | Kofax, Inc. | Classifying objects in digital images captured using mobile devices |
WO2014159862A1 (en) | 2013-03-14 | 2014-10-02 | Headwater Partners I Llc | Automated credential porting for mobile devices |
US9690783B2 (en) * | 2013-03-29 | 2017-06-27 | Rakuten, Inc. | Image conversion and method for converting text in an image into a targeted language |
US9037537B2 (en) * | 2013-04-18 | 2015-05-19 | Xerox Corporation | Automatic redaction of content for alternate reviewers in document workflow solutions |
US20140316841A1 (en) * | 2013-04-23 | 2014-10-23 | Kofax, Inc. | Location-based workflows and services |
DE202014011407U1 (en) | 2013-05-03 | 2020-04-20 | Kofax, Inc. | Systems for recognizing and classifying objects in videos captured by mobile devices |
US9400965B2 (en) * | 2013-05-21 | 2016-07-26 | Sap Se | Platform for modeling and embedding business scenarios in bar codes |
US9271142B1 (en) * | 2013-07-29 | 2016-02-23 | Mobile Iron, Inc. | Rule based mobile device management delegation |
US10769362B2 (en) | 2013-08-02 | 2020-09-08 | Symbol Technologies, Llc | Method and apparatus for capturing and extracting content from documents on a mobile device |
US10140257B2 (en) | 2013-08-02 | 2018-11-27 | Symbol Technologies, Llc | Method and apparatus for capturing and processing content from context sensitive documents on a mobile device |
US20150128110A1 (en) * | 2013-11-05 | 2015-05-07 | Alexander Falk | Mobile application development and deployment |
JP2016538783A (en) | 2013-11-15 | 2016-12-08 | コファックス, インコーポレイテッド | System and method for generating a composite image of a long document using mobile video data |
US20160306933A1 (en) * | 2013-12-19 | 2016-10-20 | Agfa Healthcare | Mobile medical documentation in a hospital information system |
US9311639B2 (en) | 2014-02-11 | 2016-04-12 | Digimarc Corporation | Methods, apparatus and arrangements for device to device communication |
US9906954B2 (en) | 2014-10-20 | 2018-02-27 | Payfone, Inc. | Identity authentication |
US9760788B2 (en) | 2014-10-30 | 2017-09-12 | Kofax, Inc. | Mobile document detection and orientation based on reference object characteristics |
US10304042B2 (en) | 2014-11-06 | 2019-05-28 | Early Warning Services, Llc | Location-based authentication of transactions conducted using mobile devices |
JP2016105271A (en) * | 2014-11-19 | 2016-06-09 | 株式会社ウェブサービス・ディベロップメント | Web application execution system, smart device, web application execution method, and program |
US10223344B2 (en) * | 2015-01-26 | 2019-03-05 | Adobe Inc. | Recognition and population of form fields in an electronic document |
US20160335239A1 (en) * | 2015-05-13 | 2016-11-17 | Union Pacific Railroad Company | Intelligent system and method of completing a form using a device |
US10176516B2 (en) * | 2015-05-29 | 2019-01-08 | Amazon Technologies, Inc. | Offline creation of marketplace listings |
US10242285B2 (en) | 2015-07-20 | 2019-03-26 | Kofax, Inc. | Iterative recognition-guided thresholding and data extraction |
US10740547B2 (en) * | 2015-10-27 | 2020-08-11 | Allscripts Software, Llc | Managing data relationships of customizable forms |
US10375071B1 (en) * | 2015-12-16 | 2019-08-06 | Jpmorgan Chase Bank, N.A. | Access control system and method |
US10447828B2 (en) * | 2016-03-01 | 2019-10-15 | Microsoft Technology Licensing, Llc | Cross-application service-driven contextual messages |
US10380513B2 (en) | 2016-03-11 | 2019-08-13 | Sap Se | Framework for classifying forms and processing form data |
US9779296B1 (en) | 2016-04-01 | 2017-10-03 | Kofax, Inc. | Content-based detection and three dimensional geometric reconstruction of objects in image and video data |
US11176231B2 (en) | 2016-05-19 | 2021-11-16 | Payfone, Inc. | Identifying and authenticating users based on passive factors determined from sensor data |
US10198404B2 (en) | 2016-06-10 | 2019-02-05 | ProntoForms Inc. | Flexible online form display |
US10803350B2 (en) | 2017-11-30 | 2020-10-13 | Kofax, Inc. | Object detection and image cropping using a multi-detector approach |
US10841342B2 (en) | 2018-01-09 | 2020-11-17 | Vmware, Inc. | Data driven user interfaces for device management |
US20190215380A1 (en) * | 2018-01-09 | 2019-07-11 | Vmware, Inc. | Data driven user interfaces for device management |
US11195530B1 (en) * | 2018-02-19 | 2021-12-07 | State Farm Mutual Automobile Insurance Company | Voice analysis systems and methods for processing digital sound data over a communications network |
IT201800006105A1 (en) * | 2018-06-07 | 2019-12-07 | METHOD OF OBTAINING PERMITS AND CERTIFICATION OF CONFORMITY FOR THE CONSTRUCTION OF PALIFIED AIR NETWORKS | |
US10783323B1 (en) * | 2019-03-14 | 2020-09-22 | Michael Garnet Hawkes | Analysis system |
AU2020285704A1 (en) * | 2019-05-30 | 2022-01-20 | Wix.Com Ltd. | System and method for the generation and interactive editing of living documents |
US11423210B2 (en) | 2020-04-28 | 2022-08-23 | Mirata Software, LLC | System and method for dynamically defining digital forms |
CN112465620B (en) * | 2020-12-30 | 2023-12-19 | 广东金赋科技股份有限公司 | Terminal form filling service linkage method and device based on dynamic form and rule engine |
Family Cites Families (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6006277A (en) * | 1987-11-06 | 1999-12-21 | Bea Systems, Inc. | Virtual software machine for enabling CICS application software to run on UNIX based computer systems |
US5513332A (en) * | 1988-05-31 | 1996-04-30 | Extended Systems, Inc. | Database management coprocessor for on-the-fly providing data from disk media to all without first storing data in memory therebetween |
US5054095A (en) * | 1988-08-23 | 1991-10-01 | U.S. Philips Corp. | Method of recognizing a pattern in a field having a multi-valent amplitude, and device for performing such a method |
US5054096A (en) * | 1988-10-24 | 1991-10-01 | Empire Blue Cross/Blue Shield | Method and apparatus for converting documents into electronic data for transaction processing |
US5748891A (en) * | 1994-07-22 | 1998-05-05 | Aether Wire & Location | Spread spectrum localizers |
US5680548A (en) * | 1994-12-02 | 1997-10-21 | Xcellenet, Inc. | Systems and methods for work assignment and distribution from a server to remote/mobile nodes |
US5664207A (en) * | 1994-12-16 | 1997-09-02 | Xcellenet, Inc. | Systems and methods for automatically sharing information among remote/mobile nodes |
US5675743A (en) * | 1995-02-22 | 1997-10-07 | Callisto Media Systems Inc. | Multi-media server |
US5809415A (en) * | 1995-12-11 | 1998-09-15 | Unwired Planet, Inc. | Method and architecture for an interactive two-way data communication network |
US6216151B1 (en) * | 1995-12-13 | 2001-04-10 | Bea Systems, Inc. | Saving connection time by obtaining result of request at later reconnection with server supplied associated key |
US5801689A (en) * | 1996-01-22 | 1998-09-01 | Extended Systems, Inc. | Hypertext based remote graphic user interface control system |
AU3000897A (en) | 1996-05-13 | 1997-12-05 | Corporation For National Research Initiatives | Identifying, managing, accessing, and tracking digital objects and associated rights and payments |
US6115744A (en) * | 1996-07-30 | 2000-09-05 | Bea Systems, Inc. | Client object API and gateway to enable OLTP via the internet |
US6006229A (en) * | 1996-08-19 | 1999-12-21 | Extended Systems, Inc. | Xbase transaction processing system |
US5812857A (en) * | 1996-08-28 | 1998-09-22 | Extended Systems, Inc. | Field configurable embedded computer system |
US6181935B1 (en) * | 1996-09-27 | 2001-01-30 | Software.Com, Inc. | Mobility extended telephone application programming interface and method of use |
US6301474B1 (en) * | 1996-09-27 | 2001-10-09 | Openwave Technologies Inc. | Mobility extended telephone application programming interface and method of use |
US6330568B1 (en) * | 1996-11-13 | 2001-12-11 | Pumatech, Inc. | Synchronization of databases |
US6070199A (en) * | 1996-11-13 | 2000-05-30 | Extended Systems, Inc. | Apparatus to connect a client computer to a computer data network |
US6119167A (en) * | 1997-07-11 | 2000-09-12 | Phone.Com, Inc. | Pushing and pulling data in networks |
US6253257B1 (en) * | 1997-07-31 | 2001-06-26 | Bea Systems, Inc. | Software Interface for dynamic API mapping |
US5884317A (en) * | 1997-08-20 | 1999-03-16 | Bea Systems, Inc. | Service interface repository |
US5926637A (en) * | 1997-08-20 | 1999-07-20 | Bea Systems, Inc. | Service interface repository code generation data |
US5960421A (en) * | 1997-08-20 | 1999-09-28 | Bea Systems, Inc. | Service interface repository internationalization |
US6360279B1 (en) * | 1997-10-14 | 2002-03-19 | Bea Systems, Inc. | True parallel client server system and method |
US6065120A (en) * | 1997-12-09 | 2000-05-16 | Phone.Com, Inc. | Method and system for self-provisioning a rendezvous to ensure secure access to information in a database from multiple devices |
US6282294B1 (en) * | 1998-01-07 | 2001-08-28 | Microsoft Corporation | System for broadcasting to, and programming, a motor device in a protocol, device, and network independent fashion |
US6128742A (en) * | 1998-02-17 | 2000-10-03 | Bea Systems, Inc. | Method of authentication based on intersection of password sets |
US6304881B1 (en) * | 1998-03-03 | 2001-10-16 | Pumatech, Inc. | Remote data access and synchronization |
US6247048B1 (en) * | 1998-04-30 | 2001-06-12 | Openwave Systems Inc | Method and apparatus for transcoding character sets between internet hosts and thin client devices over data networks |
US6314108B1 (en) * | 1998-04-30 | 2001-11-06 | Openwave Systems Inc. | Method and apparatus for providing network access over different wireless networks |
US6353839B1 (en) * | 1998-04-30 | 2002-03-05 | Openwave Systems Inc. | Method for inline variables management in a hypermedia display language |
US6292657B1 (en) * | 1998-07-13 | 2001-09-18 | Openwave Systems Inc. | Method and architecture for managing a fleet of mobile stations over wireless data networks |
US6304753B1 (en) * | 1998-07-16 | 2001-10-16 | Openwave Technologies Inc. | Integration of voice and data services provided to a mobile wireless device |
US6292833B1 (en) * | 1998-07-17 | 2001-09-18 | Openwave Systems Inc. | Method and apparatus for providing access control to local services of mobile devices |
US6356964B1 (en) * | 1998-08-31 | 2002-03-12 | International Business Machines Corporation | Method and apparatus for enabling location-independent and location-transparent interaction between a program and a user |
US6289212B1 (en) * | 1998-09-16 | 2001-09-11 | Openwave Systems Inc. | Method and apparatus for providing electronic mail services during network unavailability |
US6317831B1 (en) * | 1998-09-21 | 2001-11-13 | Openwave Systems Inc. | Method and apparatus for establishing a secure connection over a one-way data path |
US6370518B1 (en) * | 1998-10-05 | 2002-04-09 | Openwave Systems Inc. | Method and apparatus for displaying a record from a structured database with minimum keystrokes |
US6230190B1 (en) * | 1998-10-09 | 2001-05-08 | Openwave Systems Inc. | Shared-everything file storage for clustered system |
US6397345B1 (en) * | 1998-10-09 | 2002-05-28 | Openwave Systems Inc. | Fault tolerant bus for clustered system |
US6393269B1 (en) * | 1998-10-14 | 2002-05-21 | Openwave Systems Inc. | Signaling system and method for network-based pre-paid wireless telephone service |
US6301471B1 (en) * | 1998-11-02 | 2001-10-09 | Openwave System Inc. | Online churn reduction and loyalty system |
US6385643B1 (en) * | 1998-11-05 | 2002-05-07 | Bea Systems, Inc. | Clustered enterprise Java™ having a message passing kernel in a distributed processing system |
US6236999B1 (en) * | 1998-11-05 | 2001-05-22 | Bea Systems, Inc. | Duplicated naming service in a distributed processing system |
US6341270B1 (en) * | 1998-11-10 | 2002-01-22 | Aether Systems, Inc. | Method for providing vendor notification marketing in an electronic commerce network environment |
US6288718B1 (en) * | 1998-11-13 | 2001-09-11 | Openwave Systems Inc. | Scrolling method and apparatus for zoom display |
US6304746B1 (en) * | 1998-11-17 | 2001-10-16 | Aether Systems, Inc. | Method and system for providing formatted information via a two-way communications system |
US6243676B1 (en) * | 1998-12-23 | 2001-06-05 | Openwave Systems Inc. | Searching and retrieving multimedia information |
US6377922B2 (en) * | 1998-12-29 | 2002-04-23 | At&T Corp. | Distributed recognition system having multiple prompt-specific and response-specific speech recognizers |
US6363419B1 (en) * | 1999-04-05 | 2002-03-26 | Openwave Systems Inc. | Method and apparatus for generating idle loop screen displays on mobile wireless computing devices |
US20020052781A1 (en) * | 1999-09-10 | 2002-05-02 | Avantgo, Inc. | Interactive advertisement mechanism on a mobile device |
US6421717B1 (en) * | 1999-09-10 | 2002-07-16 | Avantgo, Inc. | System, method, and computer program product for customizing channels, content, and data for mobile devices |
US7392308B2 (en) * | 1999-09-10 | 2008-06-24 | Ianywhere Solutions, Inc. | System, method, and computer program product for placement of channels on a mobile device |
US6360252B1 (en) * | 1999-09-20 | 2002-03-19 | Fusionone, Inc. | Managing the transfer of e-mail attachments to rendering devices other than an original e-mail recipient |
US6347095B1 (en) * | 1999-11-15 | 2002-02-12 | Pango Networks, Inc. | System, devices and methods for use in proximity-based networking |
US6779120B1 (en) | 2000-01-07 | 2004-08-17 | Securify, Inc. | Declarative language for specifying a security policy |
US20020035605A1 (en) * | 2000-01-26 | 2002-03-21 | Mcdowell Mark | Use of presence and location information concerning wireless subscribers for instant messaging and mobile commerce |
US20020046299A1 (en) * | 2000-02-09 | 2002-04-18 | Internet2Anywhere, Ltd. | Method and system for location independent and platform independent network signaling and action initiating |
US7203663B1 (en) * | 2000-02-15 | 2007-04-10 | Jpmorgan Chase Bank, N.A. | System and method for converting information on paper forms to electronic data |
US20020032750A1 (en) * | 2000-05-16 | 2002-03-14 | Kanefsky Steven T. | Methods and systems for searching and managing information on wireless data devices |
WO2002009458A2 (en) * | 2000-07-24 | 2002-01-31 | Bluesocket, Inc. | Method and system for enabling seamless roaming in a wireless network |
US8751248B2 (en) * | 2000-07-28 | 2014-06-10 | Visual Telecommunications Network, Inc. | Method, apparatus, and medium using a master control file for computer software interoperability between disparate operating systems |
US20020052207A1 (en) * | 2000-08-07 | 2002-05-02 | Hunzinger Jason F. | Context tags for context-aware computer programs |
US20020040388A1 (en) * | 2000-08-15 | 2002-04-04 | Lockheed Martin Corporation | Method and apparatus for delivering services in a constrained environment |
US20020042831A1 (en) * | 2000-08-16 | 2002-04-11 | Jeffrey Capone | System and method for building applications that adapt for multiple device and protocol standards |
CA2420215A1 (en) * | 2000-08-23 | 2002-06-27 | Neurogen Corporation | High affinity small molecule c5a receptor modulators |
US7143181B2 (en) * | 2000-08-31 | 2006-11-28 | Yohoo! Inc. | System and method of sending chunks of data over wireless devices |
WO2002023330A2 (en) * | 2000-09-11 | 2002-03-21 | Avantgo, Inc. | Method, system, and computer program product for synchronization of similar data objects with event information |
US20020069263A1 (en) * | 2000-10-13 | 2002-06-06 | Mark Sears | Wireless java technology |
GB0026052D0 (en) * | 2000-10-24 | 2000-12-13 | Pace Micro Tech Plc | Mobile telephone control |
US20020073196A1 (en) * | 2000-12-07 | 2002-06-13 | Westervelt John P. | Integrated communication and geographic positioning system and method of using same |
US20020073163A1 (en) * | 2000-12-12 | 2002-06-13 | Fuji Xerox Co., Ltd. | Systems and methods for supporting document centered discussion across heterogeneous devices and displays |
US7616971B2 (en) * | 2000-12-29 | 2009-11-10 | International Business Machines Corporation | System and method for providing access to forms for displaying information on a wireless access device |
WO2002065329A1 (en) * | 2001-02-14 | 2002-08-22 | The Escher Group, Ltd. | Peer-to peer enterprise storage |
CA2354372A1 (en) * | 2001-02-23 | 2002-08-23 | Efunds Corporation | Electronic payment and authentication system with debit and identification data verification and electronic check capabilities |
WO2002076077A1 (en) * | 2001-03-16 | 2002-09-26 | Leap Wireless International, Inc. | Method and system for distributing content over a wireless communications system |
CA2344074A1 (en) * | 2001-04-17 | 2002-10-17 | George Wesley Bradley | Method and system for cross-platform form creation and deployment |
US6697839B2 (en) * | 2001-11-19 | 2004-02-24 | Oracle International Corporation | End-to-end mobile commerce modules |
US20030220879A1 (en) * | 2001-11-21 | 2003-11-27 | Gaughan Breen P. | System and method for electronic document processing |
US7088995B2 (en) * | 2001-12-13 | 2006-08-08 | Far Eastone Telecommunications Co., Ltd. | Common service platform and software |
EP1333636A1 (en) * | 2002-01-30 | 2003-08-06 | Koninklijke KPN N.V. | Mobile terminal and data providers for filling in electronic forms |
US20030229846A1 (en) * | 2002-06-07 | 2003-12-11 | Anil Sethi | System and method for capturing digital data directly from an electronic device and processing the data into XML form on a computer chip |
US20040003341A1 (en) * | 2002-06-20 | 2004-01-01 | Koninklijke Philips Electronics N.V. | Method and apparatus for processing electronic forms for use with resource constrained devices |
JP2004094735A (en) * | 2002-09-02 | 2004-03-25 | Toshiba Corp | Optical character recognizing device and method for retaining image data of image buffer in same |
US7522675B2 (en) * | 2002-12-30 | 2009-04-21 | Motorola, Inc. | Digital content preview generation and distribution among peer devices |
US20040128342A1 (en) | 2002-12-31 | 2004-07-01 | International Business Machines Corporation | System and method for providing multi-modal interactive streaming media applications |
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 |
US20050198212A1 (en) * | 2003-12-16 | 2005-09-08 | Alex Zilberfayn | Interactive forms processing system and method |
US8023145B2 (en) * | 2004-02-27 | 2011-09-20 | Seiko Epson Corporation | Image processing system and image processing method |
US20050254440A1 (en) * | 2004-05-05 | 2005-11-17 | Sorrell John D | Private multimedia network |
JP2007087021A (en) * | 2005-09-21 | 2007-04-05 | Fujitsu Ltd | Electronic documentation device for paper document, electronic documentation method for paper document, and electronic documentation program for paper document |
KR100825736B1 (en) * | 2005-12-07 | 2008-04-29 | 한국전자통신연구원 | Apparatus for providing XML signnature in mobile environment and method thereof |
-
2006
- 2006-01-18 WO PCT/IB2006/000076 patent/WO2006077481A1/en active Application Filing
- 2006-01-18 EP EP06701663A patent/EP1842140A4/en not_active Ceased
- 2006-01-19 CA CA002533318A patent/CA2533318A1/en not_active Abandoned
- 2006-01-19 US US11/335,898 patent/US7774504B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US7774504B2 (en) | 2010-08-10 |
EP1842140A4 (en) | 2012-01-04 |
WO2006077481A1 (en) | 2006-07-27 |
US20060161646A1 (en) | 2006-07-20 |
EP1842140A1 (en) | 2007-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2533318A1 (en) | Policy-driven mobile forms applications | |
US11886808B2 (en) | Method and system for customizing a mobile application using a web-based interface | |
US11010715B2 (en) | Method and system for real time records from aggregated mobile data | |
CA2578472C (en) | Methods and system for orchestrating services and data sharing on mobile devices | |
US11087082B1 (en) | System and method for content sharing in enterprise content management | |
US20070162537A1 (en) | Common application services framework | |
US11042258B2 (en) | Online wizard for facilitating methodology implementation | |
EP3025281B1 (en) | Automatic configuration of a computer system based on process modeling of an implemented process | |
US10831851B2 (en) | System and method for co-browsing | |
US20140346222A1 (en) | System and method for management of collected field samples | |
US20210081375A1 (en) | Computerized systems and methods for bi-directional file sharing and synchronization on and over a network | |
AU2012202500B2 (en) | Systems and methods for managing hospitality facilites | |
CN104769579A (en) | List management in a document management system | |
US20220292607A1 (en) | Distributed ledger system for asset management and corresponding insurance applications | |
Forero Velasco | Microservices for a carrying hailing service system: management of cargo transports in real-time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Discontinued |
Effective date: 20150120 |