WO2012037564A1 - Method and apparatus for binding mobile device functionality to an application definition - Google Patents

Method and apparatus for binding mobile device functionality to an application definition Download PDF

Info

Publication number
WO2012037564A1
WO2012037564A1 PCT/US2011/052179 US2011052179W WO2012037564A1 WO 2012037564 A1 WO2012037564 A1 WO 2012037564A1 US 2011052179 W US2011052179 W US 2011052179W WO 2012037564 A1 WO2012037564 A1 WO 2012037564A1
Authority
WO
WIPO (PCT)
Prior art keywords
mobile device
data
page
command
server
Prior art date
Application number
PCT/US2011/052179
Other languages
French (fr)
Inventor
Wayne Carter
Shridhar Tadepalli
Rahim Yaseen
Original Assignee
Oracle International Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oracle International Corporation filed Critical Oracle International Corporation
Priority to EP11788933.7A priority Critical patent/EP2616970A1/en
Priority to CN201180044437.XA priority patent/CN103119589B/en
Publication of WO2012037564A1 publication Critical patent/WO2012037564A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Definitions

  • Enterprise applications are integral parts of many businesses and provide valuable services to its users.
  • enterprise applications provide customer relationship management (CRM), resource planning, human resource management, etc.
  • CRM customer relationship management
  • the present invention will be described with reference to a CRM that provides sales and marketing services to its users, it being understood that the present invention should not be limited thereto.
  • CRM is a widely implemented strategy for managing a company's interaction with customers, clients, and sales prospects.
  • CRM involves technology to organize, automate, and synchronize business processes-principally sales activities, but also those for marketing, customer service, and technical support.
  • the overall goals of CRM are to find, attract, and win new clients, nurture and retain those the company already has, etc.
  • CRM services can be accessed by employees of a company via a desktop computer system that is coupled via a network to a data processing system.
  • CRM services can also be accessed through mobile devices (e.g., smart phones or tablet computers).
  • mobile devices e.g., smart phones or tablet computers.
  • a mobile device renders a page on a screen thereof in response to the mobile device receiving a serialized page definition via a wireless communication link from a server implementing a CRM.
  • the serialized page definition comprises first data and a first command that is bound to the first data.
  • the mobile device is configured to implement a first function when the first command is invoked by a user.
  • the mobile device implements the first function in response to user invocation of the first command, wherein the first function is implemented using the first data.
  • FIG. 1 graphically illustrates relevant components of an example system that employs a CRM.
  • FIG. 2 graphically illustrates an example of the server in Fig 1.
  • FIG. 3 graphically illustrates external components of an example mobile device employed in Fig 1.
  • FIG. 4 graphically illustrates external components of an example mobile device employed in Fig 1.
  • Fig. 5 graphically illustrates internal components of an example mobile device employed in Fig 1.
  • Fig. 6 graphically illustrates internal components of an example mobile device employed in Fig 1.
  • Fig. 7 illustrates example action entries of a page definition corresponding to the page displayed by the mobile device of Fig 3 or Fig. 4.
  • FIG. 8 illustrates relevant aspects a process implemented by the system shown in Fig. 1.
  • Fig. 9 is a block diagram of an example computer system that may be employed in the system of Fig. 1 or 4.
  • FIG. 1 illustrates in block diagram form, relevant components of an example system 100 that provides mobile CRM.
  • System 100 includes mobile devices (e.g., smart phones) 102 and 104 in wireless communication with a CRM executing on server 106. Services provided by the CRM can be accessed via user interfaces (hereinafter also referred to as pages) sent by server 106 and displayed by mobile devices 102 or 104.
  • the CRM operates with mobile devices 102 and 104, which are substantially different in design and operation. In other words, the CRM is designed to be mobile device independent.
  • the CRM implements a model-view-controller architecture.
  • the CRM includes a single, metadata driven application that contains multiple page definitions.
  • the CRM merges a selected page definition with data of a logical data model, the result of which is serialized and sent to the mobile device 102 or 104 as a reply to its request.
  • Mobile device 102 or 104 receives the reply and displays a corresponding page that includes visual representations of the merged data.
  • the page can be displayed with a look and feel that is native to the mobile device 102 or 104.
  • the CRM executing on server 106 is in data communication with a storage system 1 12 that includes one or more relational databases 1 16, which in turn store data of business objects of a logical data model.
  • a business object may represent a logical entity that stores a set of instance variables or properties, also known as attributes, and associations with other business objects, thereby weaving a map of objects representing business relationships.
  • a business object may represent a data entity that may contain related data held in many tables of the relational database 1 16.
  • a business object may be made of business components that map to these tables.
  • a business object is an object type that glues related business components together.
  • a business component is said to provide a layer of wrapping over the tables. Opportunities, accounts, and contacts are examples of business objects.
  • FIG. 2 illustrates an example of server 106 from Figure 1 with relevant components shown in block diagram form.
  • Memory 202 stores a single, metadata driven application definition for the CRM.
  • the application includes page definitions, some of which are visually represented along with navigation flow relationships therebetween.
  • Page definitions (also known as "views") define pages that are displayed by mobile devices 102 or 104.
  • the application definition including page definitions, can be built using Java Server Faces (JSF) technology, it being understood the present invention should not be limited thereto.
  • JSF Java Server Faces
  • JSF defines a standard framework of components for building components, including page definitions. JSF can also be used to define page navigation within the application definition, map page components to a data model, etc.
  • page definitions run on server 106, they are displayed on mobile devices 102 or 104 after serialization and subsequent transmission.
  • Example page definitions are visually represented in memory 202.
  • the "springboard" page definition can be used to render a page with icons arranged in a two-dimensional pattern. Each icon may represent a mini-application or high level business object within the logical data model.
  • the "accounts,” “opportunities,” and “contacts” page definitions can be used to render pages with names or other information of accounts, opportunities, and contacts, respectively, in a list pattern. The "account,”
  • “opportunity,” and “contact” page definitions can be used to render pages with data from an account, opportunity, and contact, respectively, in a form pattern.
  • the "account form,” “opportunity form,” and “contact form” page definitions can be used to render pages with data from an account, opportunity, and contact, respectively, in a user editable form pattern.
  • Other page definitions in memory 202 are contemplated.
  • server 106 includes a logical data model 204.
  • Page definitions can be used to render logical data model 204 into a form suitable for interaction by a user via mobile device 102 or 104. Multiple page definitions can exist for a single logical data model 204 for different purposes.
  • Logical data model 204 manages the data of the application definition, responds to requests for information about its state (usually from a page definition), and responds to instructions to change state from control logic 206. In one sense, logical data model 204 provides access to business objects such as contacts, opportunities, analytics, etc., or other information such as identities of business objects.
  • the logical data model 204 is both the data and the business/domain logic needed to manipulate the data of the application definition.
  • Control logic 206 which may take form in instructions executing on a processor, is in data communication with the application definition contained within memory 202 in addition to being in data communication with interface 210 and serialization system 212. Control logic 206 accepts data input from a user via mobile device 102 or 104 and instructs the logical data model 204 to perform actions (e.g., updating an opportunity) based on that data input. In response to receiving a page request from mobile device 102 or 104 via interface 210, control logic 206 may access the application definition in memory 202 to identify and retrieve a copy of the page definition, or relevant components thereof, which is needed to form the requested page.
  • the page definition retrieved from memory 210 may contain metadata that binds the page definition to the logical data model 212 for data needed in the requested page.
  • Control logic 206 can make calls on business objects of logical data model 204 to retrieve the data of interest.
  • the page definition is merged with data from model 204, the result of which is serialized by serialization system 212 and subsequently transmitted to the requesting mobile device in a reply.
  • the requesting mobile device receives the reply, deserializers its content, and displays a corresponding page on a screen.
  • Figures 3 and 4 illustrate example pages that are displayed by mobile devices 102 and 104, respectively.
  • users can invoke functions of the mobile devices such as cell phone, email, mapping, etc., via displayed pages such as those shown in Figures 3 and 4.
  • Mobile device functionality e.g., cell phone, email, etc.
  • Mobile devices 102 and 104 are distinct in design and operation.
  • Mobile device 102 includes a hard or physical keyboard, while mobile device 104 includes a soft keyboard (not shown).
  • Mobile device 104 may include soft buttons displayed on a touch sensitive display screen.
  • Mobile device 102 lacks a touch sensitive screen. Rather, mobile device 102 includes a track ball and physical buttons.
  • mobile devices 102 and 104 are sized so that they can fit in the front or back pocket of a normal pair of adult sized pants, it being understood that the present invention can find application with respect to larger devices such as tablet computers.
  • mobile device 102 as shown in Figure 3 includes a screen 302 that displays an "Opportunity" page 300.
  • mobile device 102 includes physical buttons 310 - 316, a trackball 318, and a physical keyboard 320.
  • a trackball is a pointing device consisting of a ball held by a socket containing sensors to detect a rotation of the ball about two axes— like an upside-down mouse with an exposed protruding ball.
  • mobile device 104 lacks multiple physical buttons and a physical keyboard.
  • Mobile device 104 has one physical button 402 and a touch sensitive display screen 402.
  • mobile device 104 displays an "Opportunity" page 400 that corresponds to the Opportunity page 300 shown in Figure 3.
  • Page 300 includes several soft buttons 406 - 412.
  • a user can activate any of soft buttons 406-412 simply by touching it.
  • a soft keyboard is displayed on screen 404 when the user, for example, activates edit button 408.
  • a user can activate a button simply by touching it. This action in turn may implement a command to invoke a mobile device function.
  • a user can invoke cell phone or email functions of mobile device 102 by activating the Call and Email buttons 410 and 412, respectively.
  • FIGS 5 and 6 illustrate relevant internal components of the mobile devices 102 and 104, respectively, in block diagram form.
  • mobile device 102 of Figure 5 includes a memory controller 502 coupled to a processor 504 and a peripherals interface 506.
  • the various components of mobile device 102 may be coupled by one or more communication buses or signal lines 508.
  • the peripherals interface 506 is coupled to radio frequency (RF) circuit 510, audio circuit 512, and global positioning system (GPS) circuit 513.
  • RF radio frequency
  • GPS global positioning system
  • the GPS circuit 513 supports a location determining capability and can provide the longitude and latitude of mobile device 102 upon request.
  • the peripherals interface 502 is coupled to an I/O subsystem 514 that contains various controllers that interact with other components of mobile device 102.
  • I/O subsystem 514 includes a keyboard controller coupled to receive input from the physical keyboard 320.
  • the track ball controller is coupled to receive input from the trackball 318.
  • dedicated buttons controllers receive respective inputs from dedicated buttons 310 - 316.
  • Memory controller 502 is coupled to memory 518, which may take form in one or more types of computer readable medium.
  • Memory 518 stores several software components or modules including a communication module that provides communication procedures, which enable communication between mobile device 102 and server 106 via a wireless communication link.
  • Memory 518 may also include a software development kit (SDK) 522, an operating system 524, and a set of applications including CRM client 526 as shown.
  • SDK software development kit
  • Other components in memory 518 may support email, texting, mapping, etc.
  • the CRM client 526 operates in conjunction with other modules (e.g., operating system 524, etc.) shown within Figure 5 to render a page provided by server 106, create a request for a subsequent page, issue instructions to initiate functions such as email, cell phone, etc.
  • modules e.g., operating system 524, etc.
  • mobile device 104 of Figure 6 includes a memory controller 602 coupled to a processor 604 and a peripherals interface 606. Like mobile device 102, the various components of mobile device 104 may be coupled by one or more communication buses or signal lines 608.
  • the peripherals interface 606 is coupled to RF circuit 610, audio circuit 612, and global positioning system (GPS) circuit 613, which supports location determining capabilities.
  • GPS global positioning system
  • the peripherals interface 602 is coupled to an I/O subsystem 614 that contains various controllers that interact with other components of mobile device 104.
  • I/O subsystem 614 includes a touch screen controller that is coupled to the touch sensitive display screen 404 shown in Figure 4.
  • the touch screen controller may detect contact and any movement or break thereof.
  • Memory controller 602 is coupled to memory 618, which may take form in one or more types of computer readable medium.
  • Memory 618 stores several software components or modules including a communication module that provides communication procedures, which enable communication between mobile device 104 and server 106 via a wireless communication link.
  • Memory 618 may also include an SDK 622, an operating system 624, and a set of applications including CRM client 626 as shown.
  • Other components in memory 618 may support email service, texting, etc.
  • the CRM client 626 operates in conjunction with modules shown within Figure 6 to display a page provided by server 106, create a request for a subsequent page, issue instructions to initiate functions such as email, cell phone, mapping, etc.
  • CRM client 626 of mobile device 104 is substantially different than the CRM client 526 of mobile device 102.
  • the differences enable pages requested from the CRM to be displayed with a look and feel that is native to mobile devices 102 and 104, respectively, and similar to the look and feel of pages displayed by other applications in memory 518 and 618, respectively.
  • Look and feel is a term used to describe aspects of page design, including elements such as colors, shapes, layout, and typefaces (the "look”), as well as the behavior of dynamic elements such as buttons, boxes, and menus (the "feel").
  • CRM clients 526 and 626 may include expression language (EL) engines (not shown) that can generate distinct sequences of instructions for SDKs 522 and 622, respectively, in response to implementing commands that are bound to components such as buttons of a displayed page.
  • CRM clients 526 and 626 implement the command and issue the instructions in response to user activation of bound buttons.
  • EL instructions when executed invoke a mobile device function such as email, cell phone, etc.
  • the EL engine of CRM client 526 will generate a sequence of instructions when the user of mobile device 102 activates the Email button of page 300, or the EL engine of CRM client 626 will generate a different sequence of instructions when the user of mobile device 104 activates the email button 412 of page 400.
  • mobile devices 102 and 104 display pages on their respective screens in accordance with serialized page definitions that are received from the CRM of server 106.
  • the page definitions do not take into account the look and feel aspects of mobile devices including mobile devices 102 and 104. In other words, the page definitions are independent of the look and feel of mobile devices 102 and 104.
  • corresponding pages e.g., pages 300 and 400 displayed on mobile devices 102 and 104 are not identical, even though they are created from the same page definition. Many of the differences in corresponding pages may account for differences in the native look and feel of mobile devices 102 and 104.
  • page 400 contains soft "Back" and "Edit” buttons 406 and 408, respectively.
  • Mobile device 104 redisplays an immediately prior page when the Back button is activated. Mobile device 104 displays another page that enables the user to modify data of the current display when the Modify button is activated. Users of mobile device 104 should be more familiar with the Back and Edit buttons and their function if they have previously used other applications that employ the same Back and Edit buttons. Mobile device 102 can implement the same back and edit functions, but these functions are activated in a substantially different way when compared to mobile device 104. Instead of a soft "Back" button, mobile device 102 has a physical "Back" button 314. Mobile device 102 can also implement the function of modifying data, but the modify function is implemented when the user selects an appropriate menu option after a menu is displayed by mobile device 102 in response to the user depressing trackball 318.
  • computer system 1 14 is in data communication with page definition editor 214, which in turn is in data communication with page configurations stored within memory 202.
  • An administrator can create and/or modify the pattern definitions stored within memory 202 using page definition editor interfaces displayed on computer system 1 14.
  • a page definition can be provided for business objects (e.g., accounts, opportunities, leads, etc.) of logical data model 204. The initial page definitions can be subsequently modified using the page definition editor 204.
  • the application for the CRM can be designed so that users can invoke mobile device functionality (e.g., email, cell phone, etc.) from pages such as the Opportunity pages 300 and 400 shown in Figures 3 and 4.
  • developers should have a way to define page definition access to mobile device functionality so that at runtime the definitions are executed.
  • a developer can define page definition access to mobile device functionality by binding metadata of page definition entries to mobile device functionality.
  • a developer using an interface displayed on computer system 1 14 can reference a mobile device interface (MDI) within memory 216 in order to bind metadata of entries to mobile device functionality. At run time, these bindings can be interpreted using the MDI.
  • serialization system 212 can interpret a binding for CRM clients (e.g., CRM clients 516 and 616). This approach allows page definitions to drive mobile device functionality.
  • a page definition can instruct the mobile device to include its device data (e.g., longitude and latitude) in subsequent requests to server 106.
  • Page definitions when first designed or subsequently modified, can include references to the MDI. Specifically, page definitions can include-entries with metadata bindings that reference entries in the MDI.
  • Figure 7 illustrates or shows binding entries of an example page definition corresponding to pages 300 and 400 of Figures 3 and 4.
  • a binding entry in 702 binds the "email" metadata with an email entry of the MDI.
  • a binding entry 704 binds the "call" metadata with the call entry of the MDI.
  • serialization system 212 analyses bindings to determine if they are for functionality of the mobile device.
  • Figure 8 illustrates a flow chart showing this process in greater detail. More particularly, as shown, when serialization system 212 identifies an binding entry in a page definition, the serialization system determines whether the binding entry is mapped in MDI. If it is not, the binding is presumed to be for functionality that is to be implemented on server 106, such as the creation of a new opportunity or the modification of an existing opportunity. If the serialization system 212 determines that the binding entry is mapped to an entry in MDI, then the binding is for functionality that is implemented on the mobile device. In this situation the binding is translated using the MDI into client commands.
  • serialization system 212 analyzes binding-entries in 702 and 706 and determines the they are mapped in the MDI and should be translated into actionable commands for the CRM clients 526 and 626.
  • Figure 7 illustrates the serialized "device" commands 706 and 708 that result from the translations of binding entries of 702 and 706, respectively.
  • Command 706 or 708 include data (e.g., JDoe@pinnacle.com, and 214-867-5309) from the logical data model, that is passed to the SDK when the command is implemented on the mobile device.
  • the commands (e.g., device. email. compose.
  • CRM mobile 526 When a user, for example, activates the Call button shown within Figure 3, CRM mobile 526 generates a sequence of EL instructions to implement the cell phone function of mobile device 102. Moreover, this set of instructions should forward the data (e.g., 214-867-5309) bound to the command.
  • Mobile device 102 requires certain instructions to invoke the cell phone function through use of its SDK, and mobile device 104 would require a different set of instructions to invoke the cell phone function through use of its SDK.
  • FIG. 9 depicts a block diagram of a computer system 910 suitable for implementing the present disclosure.
  • Computer system 910 may be illustrative of various computer systems (e.g., servers or clients) shown in Figure 1 and 2.
  • Computer system 910 includes a bus 912 which interconnects major subsystems of computer system 910, such as a central processor 914, a system memory 917 (typically RAM, but which may also include ROM, flash RAM, or the like), an input/output controller 918, an external audio device, such as a speaker system 920 via an audio output interface 922, an external device, such as a display screen 924 via display adapter 926, serial ports 928 and 930, a keyboard 932 (interfaced with a keyboard controller 933), a storage interface 934, a floppy disk drive 937 operative to receive a floppy disk 938, a host bus adapter (HBA) interface card 935 A operative to connect with a Fibre Channel network 990, a host
  • mouse 946 or other point-and-click device, coupled to bus 912 via serial port 928
  • modem 947 coupled to bus 912 via serial port 930
  • network interface 948 coupled directly to bus 912.
  • Bus 912 allows data communication between central processor 914 and system memory 917, which may include read-only memory (ROM) or flash memory (neither shown), and random access memory (RAM) (not shown), as previously noted.
  • ROM read-only memory
  • RAM random access memory
  • the RAM is generally the main memory into which the operating system and application programs are loaded.
  • the ROM or flash memory can contain, among other code, the Basic Input-Output system (BIOS) which controls basic hardware operation such as the interaction with peripheral components.
  • BIOS Basic Input-Output system
  • Applications resident with computer system 910 are generally stored on and accessed via a computer readable medium, such as a hard disk drive (e.g., fixed disk 944), an optical drive (e.g., optical drive 940), a floppy disk unit 937, or other storage medium. Additionally, applications can be in the form of electronic signals modulated in accordance with the application and data communication technology when accessed via network modem 947 or interface 948.
  • a computer readable medium such as a hard disk drive (e.g., fixed disk 944), an optical drive (e.g., optical drive 940), a floppy disk unit 937, or other storage medium.
  • applications can be in the form of electronic signals modulated in accordance with the application and data communication technology when accessed via network modem 947 or interface 948.
  • Storage interface 934 can connect to a standard computer readable medium for storage and/or retrieval of information, such as a fixed disk drive 944.
  • Fixed disk drive 944 may be a part of computer system 910 or may be separate and accessed through other interface systems.
  • Modem 947 may provide a direct connection to a remote server via a telephone link or to the Internet via an internet service provider (ISP).
  • ISP internet service provider
  • Network interface 948 may provide a direct connection to a remote server via a direct network link to the Internet via a POP (point of presence).
  • Network interface 948 may provide such connection using wireless techniques, including digital cellular telephone connection, Cellular Digital Packet Data (CDPD) connection, digital satellite data connection or the like.
  • CDPD Cellular Digital Packet Data
  • Code for implementing a CRM can be stored in computer-readable storage media such as one or more of system memory 917, fixed disk 944, optical disk 942, or floppy disk 938.
  • Memory 920 is also used for storing temporary variables or other intermediate information during the execution of instructions by the processor 910.
  • the operating system provided on computer system 910 may be MS-DOS®, MS- WINDOWS®, OS/2®, UNIX®, Linux®, or another known operating system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)

Abstract

n one embodiment, a mobile device renders a page on a screen thereof in response to the mobile device receiving a serialized page definition via a wireless communication link from a server implementing a CRM. The serialized page definition comprises first data and a first command that is bound to the first data. The mobile device is configured to implement a first function when the first command is invoked by a user. The mobile device implements the first function in response to user invocation of the first command, wherein the first function is implemented using the first data.

Description

UNITED STATES PATENT APPLICATION
METHOD AND APPARATUS FOR BINDING MOBILE DEVICE FUNCTIONALITY
TO AN APPLICATION DEFINITION
INVENTORS:
Wayne Carter
Sridhar Tadepalli
Rahim Yaseen
PREPARED BY:
Eric A. Stephenson
Campbell Stephenson LLP
11401 Century Oaks Terrace
Building H; Suite 250
(512) 439-5093 Direct; (512) 439-5099 Fax
CUSTOMER NUMBER: 60975
ASSIGNEE: ORACLE INTERNATIONAL CORPORATION
500 ORACLE PARKWAY
Mail Stop 50P7
REDWOOD SHORES, CALIFORNIA 94065
Oracle Matter No.: ORA110139-6-PCT
METHOD AND APPARATUS FOR BINDING MOBILE DEVICE FUNCTIONALITY
TO AN APPLICATION DEFINITION
INVENTORS:
Wayne Carter
Sridhar Tadepalli
Rahim Yaseen
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to Provisional Application Number 61/384,150; filed on September 17, 2010, and is incorporated herein in its entirety by reference.
BACKGROUND
[0002] Enterprise applications are integral parts of many businesses and provide valuable services to its users. For example, enterprise applications provide customer relationship management (CRM), resource planning, human resource management, etc. The present invention will be described with reference to a CRM that provides sales and marketing services to its users, it being understood that the present invention should not be limited thereto.
[0003] CRM is a widely implemented strategy for managing a company's interaction with customers, clients, and sales prospects. CRM involves technology to organize, automate, and synchronize business processes-principally sales activities, but also those for marketing, customer service, and technical support. The overall goals of CRM are to find, attract, and win new clients, nurture and retain those the company already has, etc.
[0004] CRM services can be accessed by employees of a company via a desktop computer system that is coupled via a network to a data processing system. CRM services can also be accessed through mobile devices (e.g., smart phones or tablet computers). The present invention will be described with reference to providing CRM related services to users via their mobile devices, it being understood that the present invention should not be limited thereto. SUMMARY
[0005] In one embodiment, a mobile device renders a page on a screen thereof in response to the mobile device receiving a serialized page definition via a wireless communication link from a server implementing a CRM. The serialized page definition comprises first data and a first command that is bound to the first data. The mobile device is configured to implement a first function when the first command is invoked by a user. The mobile device implements the first function in response to user invocation of the first command, wherein the first function is implemented using the first data.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] The present invention may be better understood, and its numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
[0007] Fig. 1 graphically illustrates relevant components of an example system that employs a CRM.
[0008] Fig. 2 graphically illustrates an example of the server in Fig 1.
[0009] Fig. 3 graphically illustrates external components of an example mobile device employed in Fig 1.
[0010] Fig. 4 graphically illustrates external components of an example mobile device employed in Fig 1.
[0011] Fig. 5 graphically illustrates internal components of an example mobile device employed in Fig 1.
[0012] Fig. 6 graphically illustrates internal components of an example mobile device employed in Fig 1. [0013] Fig. 7 illustrates example action entries of a page definition corresponding to the page displayed by the mobile device of Fig 3 or Fig. 4.
[0014] Fig. 8 illustrates relevant aspects a process implemented by the system shown in Fig. 1.
[0015] Fig. 9 is a block diagram of an example computer system that may be employed in the system of Fig. 1 or 4.
[0016] The use of the same reference symbols in different drawings indicates similar or identical items.
DETAILED DESCRIPTION
[0017] Today's sales and marketing workforce is more mobile than ever. To reduce sales downtime, increase customer face time, and win more deals, many companies now employ mobile CRM to move their business forward while employees are on the road. Mobile CRM enable users to more efficiently use CRM services such accessing, reviewing, and/or updating sales opportunities, contacts, leads, calendar entries, etc.
[0018] Figure 1 illustrates in block diagram form, relevant components of an example system 100 that provides mobile CRM. System 100 includes mobile devices (e.g., smart phones) 102 and 104 in wireless communication with a CRM executing on server 106. Services provided by the CRM can be accessed via user interfaces (hereinafter also referred to as pages) sent by server 106 and displayed by mobile devices 102 or 104. As will be more fully described below, the CRM operates with mobile devices 102 and 104, which are substantially different in design and operation. In other words, the CRM is designed to be mobile device independent.
[0019] The CRM implements a model-view-controller architecture. The CRM includes a single, metadata driven application that contains multiple page definitions. In response to receiving a page request from mobile device 102 or 104, the CRM merges a selected page definition with data of a logical data model, the result of which is serialized and sent to the mobile device 102 or 104 as a reply to its request. Mobile device 102 or 104 receives the reply and displays a corresponding page that includes visual representations of the merged data. The page can be displayed with a look and feel that is native to the mobile device 102 or 104.
[0020] The CRM executing on server 106 is in data communication with a storage system 1 12 that includes one or more relational databases 1 16, which in turn store data of business objects of a logical data model. A business object may represent a logical entity that stores a set of instance variables or properties, also known as attributes, and associations with other business objects, thereby weaving a map of objects representing business relationships. A business object may represent a data entity that may contain related data held in many tables of the relational database 1 16. A business object may be made of business components that map to these tables. A business object is an object type that glues related business components together. A business component is said to provide a layer of wrapping over the tables. Opportunities, accounts, and contacts are examples of business objects.
[0021] Figure 2 illustrates an example of server 106 from Figure 1 with relevant components shown in block diagram form. Memory 202 stores a single, metadata driven application definition for the CRM. The application includes page definitions, some of which are visually represented along with navigation flow relationships therebetween. Page definitions (also known as "views") define pages that are displayed by mobile devices 102 or 104. The application definition, including page definitions, can be built using Java Server Faces (JSF) technology, it being understood the present invention should not be limited thereto. JSF defines a standard framework of components for building components, including page definitions. JSF can also be used to define page navigation within the application definition, map page components to a data model, etc. While page definitions run on server 106, they are displayed on mobile devices 102 or 104 after serialization and subsequent transmission. Example page definitions are visually represented in memory 202. The "springboard" page definition can be used to render a page with icons arranged in a two-dimensional pattern. Each icon may represent a mini-application or high level business object within the logical data model. The "accounts," "opportunities," and "contacts" page definitions can be used to render pages with names or other information of accounts, opportunities, and contacts, respectively, in a list pattern. The "account,"
"opportunity," and "contact" page definitions can be used to render pages with data from an account, opportunity, and contact, respectively, in a form pattern. The "account form," "opportunity form," and "contact form" page definitions can be used to render pages with data from an account, opportunity, and contact, respectively, in a user editable form pattern. Other page definitions in memory 202 are contemplated.
[0022] With continuing reference to Figure 2, server 106 includes a logical data model 204. Page definitions can be used to render logical data model 204 into a form suitable for interaction by a user via mobile device 102 or 104. Multiple page definitions can exist for a single logical data model 204 for different purposes. Logical data model 204 manages the data of the application definition, responds to requests for information about its state (usually from a page definition), and responds to instructions to change state from control logic 206. In one sense, logical data model 204 provides access to business objects such as contacts, opportunities, analytics, etc., or other information such as identities of business objects. The logical data model 204 is both the data and the business/domain logic needed to manipulate the data of the application definition.
[0023] Control logic 206, which may take form in instructions executing on a processor, is in data communication with the application definition contained within memory 202 in addition to being in data communication with interface 210 and serialization system 212. Control logic 206 accepts data input from a user via mobile device 102 or 104 and instructs the logical data model 204 to perform actions (e.g., updating an opportunity) based on that data input. In response to receiving a page request from mobile device 102 or 104 via interface 210, control logic 206 may access the application definition in memory 202 to identify and retrieve a copy of the page definition, or relevant components thereof, which is needed to form the requested page. The page definition retrieved from memory 210 may contain metadata that binds the page definition to the logical data model 212 for data needed in the requested page. Control logic 206 can make calls on business objects of logical data model 204 to retrieve the data of interest. The page definition is merged with data from model 204, the result of which is serialized by serialization system 212 and subsequently transmitted to the requesting mobile device in a reply. Ultimately, the requesting mobile device receives the reply, deserializers its content, and displays a corresponding page on a screen. Figures 3 and 4 illustrate example pages that are displayed by mobile devices 102 and 104, respectively. [0024] As will be more fully described, users can invoke functions of the mobile devices such as cell phone, email, mapping, etc., via displayed pages such as those shown in Figures 3 and 4. Mobile device functionality (e.g., cell phone, email, etc.) is bound to components of the displayed page via commands in the serialized page definition sent to the mobile device.
[0025] In addition to illustrating example pages of the CRM, Figures 3 and 4 illustrate relevant external features of mobile devices 102 and 104. Mobile devices 102 and 104 are distinct in design and operation. Mobile device 102 includes a hard or physical keyboard, while mobile device 104 includes a soft keyboard (not shown). Mobile device 104 may include soft buttons displayed on a touch sensitive display screen. Mobile device 102 lacks a touch sensitive screen. Rather, mobile device 102 includes a track ball and physical buttons. For purposes of explanation only, mobile devices 102 and 104 are sized so that they can fit in the front or back pocket of a normal pair of adult sized pants, it being understood that the present invention can find application with respect to larger devices such as tablet computers.
[0026] With continuing reference to Figure 2, mobile device 102 as shown in Figure 3 includes a screen 302 that displays an "Opportunity" page 300. In addition, mobile device 102 includes physical buttons 310 - 316, a trackball 318, and a physical keyboard 320. A trackball is a pointing device consisting of a ball held by a socket containing sensors to detect a rotation of the ball about two axes— like an upside-down mouse with an exposed protruding ball. The user rolls the ball with the thumb, fingers, or the palm of the hand to move a cursor across screen 302 to reach active buttons like "Call" or "Email." When the curser reaches an active button displayed on the screen 302, the user can activate the button by depressing trackball 318. This action in turn may implement a command to invoke a mobile device function. Thus, a user can invoke cell phone or email functions of mobile device 102 by activating the Call and Email buttons, respectively.
[0027] In contrast, mobile device 104 lacks multiple physical buttons and a physical keyboard. Mobile device 104 has one physical button 402 and a touch sensitive display screen 402. In Figure 4 mobile device 104 displays an "Opportunity" page 400 that corresponds to the Opportunity page 300 shown in Figure 3. Page 300 includes several soft buttons 406 - 412. A user can activate any of soft buttons 406-412 simply by touching it. Although not shown, a soft keyboard is displayed on screen 404 when the user, for example, activates edit button 408. A user can activate a button simply by touching it. This action in turn may implement a command to invoke a mobile device function. Thus, a user can invoke cell phone or email functions of mobile device 102 by activating the Call and Email buttons 410 and 412, respectively.
[0028] Figures 5 and 6 illustrate relevant internal components of the mobile devices 102 and 104, respectively, in block diagram form. With continuing reference to Figure 3, mobile device 102 of Figure 5 includes a memory controller 502 coupled to a processor 504 and a peripherals interface 506. The various components of mobile device 102 may be coupled by one or more communication buses or signal lines 508. The peripherals interface 506 is coupled to radio frequency (RF) circuit 510, audio circuit 512, and global positioning system (GPS) circuit 513. The GPS circuit 513 supports a location determining capability and can provide the longitude and latitude of mobile device 102 upon request.
[0029] The peripherals interface 502 is coupled to an I/O subsystem 514 that contains various controllers that interact with other components of mobile device 102. I/O subsystem 514 includes a keyboard controller coupled to receive input from the physical keyboard 320. The track ball controller is coupled to receive input from the trackball 318. And dedicated buttons controllers receive respective inputs from dedicated buttons 310 - 316.
[0030] Memory controller 502 is coupled to memory 518, which may take form in one or more types of computer readable medium. Memory 518 stores several software components or modules including a communication module that provides communication procedures, which enable communication between mobile device 102 and server 106 via a wireless communication link. Memory 518 may also include a software development kit (SDK) 522, an operating system 524, and a set of applications including CRM client 526 as shown. Other components in memory 518 may support email, texting, mapping, etc. The CRM client 526, as will be more fully described below, operates in conjunction with other modules (e.g., operating system 524, etc.) shown within Figure 5 to render a page provided by server 106, create a request for a subsequent page, issue instructions to initiate functions such as email, cell phone, etc.
[0031] With continuing reference to Figure 4, mobile device 104 of Figure 6 includes a memory controller 602 coupled to a processor 604 and a peripherals interface 606. Like mobile device 102, the various components of mobile device 104 may be coupled by one or more communication buses or signal lines 608. The peripherals interface 606 is coupled to RF circuit 610, audio circuit 612, and global positioning system (GPS) circuit 613, which supports location determining capabilities.
[0032] The peripherals interface 602 is coupled to an I/O subsystem 614 that contains various controllers that interact with other components of mobile device 104. I/O subsystem 614 includes a touch screen controller that is coupled to the touch sensitive display screen 404 shown in Figure 4. The touch screen controller may detect contact and any movement or break thereof.
[0033] Memory controller 602 is coupled to memory 618, which may take form in one or more types of computer readable medium. Memory 618 stores several software components or modules including a communication module that provides communication procedures, which enable communication between mobile device 104 and server 106 via a wireless communication link. Memory 618 may also include an SDK 622, an operating system 624, and a set of applications including CRM client 626 as shown. Other components in memory 618 may support email service, texting, etc. The CRM client 626, as will be more fully described below, operates in conjunction with modules shown within Figure 6 to display a page provided by server 106, create a request for a subsequent page, issue instructions to initiate functions such as email, cell phone, mapping, etc.
[0034] CRM client 626 of mobile device 104 is substantially different than the CRM client 526 of mobile device 102. The differences enable pages requested from the CRM to be displayed with a look and feel that is native to mobile devices 102 and 104, respectively, and similar to the look and feel of pages displayed by other applications in memory 518 and 618, respectively. Look and feel is a term used to describe aspects of page design, including elements such as colors, shapes, layout, and typefaces (the "look"), as well as the behavior of dynamic elements such as buttons, boxes, and menus (the "feel").
[0035] CRM clients 526 and 626 may include expression language (EL) engines (not shown) that can generate distinct sequences of instructions for SDKs 522 and 622, respectively, in response to implementing commands that are bound to components such as buttons of a displayed page. CRM clients 526 and 626 implement the command and issue the instructions in response to user activation of bound buttons. EL instructions when executed invoke a mobile device function such as email, cell phone, etc. Thus, the EL engine of CRM client 526 will generate a sequence of instructions when the user of mobile device 102 activates the Email button of page 300, or the EL engine of CRM client 626 will generate a different sequence of instructions when the user of mobile device 104 activates the email button 412 of page 400.
[0036] With continuing reference to Figure 2, mobile devices 102 and 104 display pages on their respective screens in accordance with serialized page definitions that are received from the CRM of server 106. The page definitions do not take into account the look and feel aspects of mobile devices including mobile devices 102 and 104. In other words, the page definitions are independent of the look and feel of mobile devices 102 and 104. However, corresponding pages (e.g., pages 300 and 400) displayed on mobile devices 102 and 104 are not identical, even though they are created from the same page definition. Many of the differences in corresponding pages may account for differences in the native look and feel of mobile devices 102 and 104. For example, page 400 contains soft "Back" and "Edit" buttons 406 and 408, respectively. Mobile device 104 redisplays an immediately prior page when the Back button is activated. Mobile device 104 displays another page that enables the user to modify data of the current display when the Modify button is activated. Users of mobile device 104 should be more familiar with the Back and Edit buttons and their function if they have previously used other applications that employ the same Back and Edit buttons. Mobile device 102 can implement the same back and edit functions, but these functions are activated in a substantially different way when compared to mobile device 104. Instead of a soft "Back" button, mobile device 102 has a physical "Back" button 314. Mobile device 102 can also implement the function of modifying data, but the modify function is implemented when the user selects an appropriate menu option after a menu is displayed by mobile device 102 in response to the user depressing trackball 318.
[0037] Returning to In Figure 2, computer system 1 14 is in data communication with page definition editor 214, which in turn is in data communication with page configurations stored within memory 202. An administrator can create and/or modify the pattern definitions stored within memory 202 using page definition editor interfaces displayed on computer system 1 14. A page definition can be provided for business objects (e.g., accounts, opportunities, leads, etc.) of logical data model 204. The initial page definitions can be subsequently modified using the page definition editor 204.
The application for the CRM can be designed so that users can invoke mobile device functionality (e.g., email, cell phone, etc.) from pages such as the Opportunity pages 300 and 400 shown in Figures 3 and 4. During design, developers should have a way to define page definition access to mobile device functionality so that at runtime the definitions are executed. In one embodiment, a developer can define page definition access to mobile device functionality by binding metadata of page definition entries to mobile device functionality. For example, a developer using an interface displayed on computer system 1 14 can reference a mobile device interface (MDI) within memory 216 in order to bind metadata of entries to mobile device functionality. At run time, these bindings can be interpreted using the MDI. More particularly, during serialization of a page definition, serialization system 212 can interpret a binding for CRM clients (e.g., CRM clients 516 and 616). This approach allows page definitions to drive mobile device functionality.
Additionally, this approach allows page definition access to device data such as the longitude and latitude calculated by GPS circuit 513 or 613. A page definition can instruct the mobile device to include its device data (e.g., longitude and latitude) in subsequent requests to server 106. Device data can used to drive page rendering, can be displayed in a page, etc. If a command such as (e.g., <command ... action="#{device.phone.call.execute()}"
enabled="#{device.phone.call. enabled} "/> ) is sent to the mobile device the command will not be enabled on the mobile device if certain device data indicates the mobile does not support making phone calls, which can happen when the mobile device does not contain a phone or when the phone feature has been selectively disabled by the user. Where the command <inputText ... label- 'Label" value="#{device.settings['aroundme.radius']"/> is sent to the mobile device, the configured AroundMe radius will be displayed, and if the value is changed, the display will be updated on the mobile device. The page definitions can bind actions to the mobile device; have the mobile device send device data to the CRM; have the mobile device use its device data during a page rendering process; have the device display device data, etc.
[0038] Page definitions, when first designed or subsequently modified, can include references to the MDI. Specifically, page definitions can include-entries with metadata bindings that reference entries in the MDI. Figure 7 illustrates or shows binding entries of an example page definition corresponding to pages 300 and 400 of Figures 3 and 4. A binding entry in 702 binds the "email" metadata with an email entry of the MDI. A binding entry 704 binds the "call" metadata with the call entry of the MDI.
[0039] During serialization of a page definition, serialization system 212 analyses bindings to determine if they are for functionality of the mobile device. Figure 8 illustrates a flow chart showing this process in greater detail. More particularly, as shown, when serialization system 212 identifies an binding entry in a page definition, the serialization system determines whether the binding entry is mapped in MDI. If it is not, the binding is presumed to be for functionality that is to be implemented on server 106, such as the creation of a new opportunity or the modification of an existing opportunity. If the serialization system 212 determines that the binding entry is mapped to an entry in MDI, then the binding is for functionality that is implemented on the mobile device. In this situation the binding is translated using the MDI into client commands. For example, in the serialization of the example action entries 702 and 704, serialization system 212 analyzes binding-entries in 702 and 706 and determines the they are mapped in the MDI and should be translated into actionable commands for the CRM clients 526 and 626. Figure 7 illustrates the serialized "device" commands 706 and 708 that result from the translations of binding entries of 702 and 706, respectively. Command 706 or 708 include data (e.g., JDoe@pinnacle.com, and 214-867-5309) from the logical data model, that is passed to the SDK when the command is implemented on the mobile device. The commands (e.g., device. email. compose. execute ('JDoe@pinnacle.com')) can be implemented by CRM client 526 or 626 when the user activates the corresponding Email or Call buttons of pages 300 and 400 of Figures 3 and 4. The device command bound to the data, when invoked by the user, can be interpreted by the EL engine executing on the CRM client. In Figures 3 and 4, the opportunity pages 300 and 400 were displayed in response to mobile devices 102 and 104, respectively, receiving and deserializing the translated action entries. Specifically, the "Call" and "Email" components are visual representations of the functionality that can be invoked in accordance with the translations shown in Figure 7. When a user, for example, activates the Call button shown within Figure 3, CRM mobile 526 generates a sequence of EL instructions to implement the cell phone function of mobile device 102. Moreover, this set of instructions should forward the data (e.g., 214-867-5309) bound to the command. Mobile device 102 requires certain instructions to invoke the cell phone function through use of its SDK, and mobile device 104 would require a different set of instructions to invoke the cell phone function through use of its SDK.
[0040] Figure 9 depicts a block diagram of a computer system 910 suitable for implementing the present disclosure. Computer system 910 may be illustrative of various computer systems (e.g., servers or clients) shown in Figure 1 and 2. Computer system 910 includes a bus 912 which interconnects major subsystems of computer system 910, such as a central processor 914, a system memory 917 (typically RAM, but which may also include ROM, flash RAM, or the like), an input/output controller 918, an external audio device, such as a speaker system 920 via an audio output interface 922, an external device, such as a display screen 924 via display adapter 926, serial ports 928 and 930, a keyboard 932 (interfaced with a keyboard controller 933), a storage interface 934, a floppy disk drive 937 operative to receive a floppy disk 938, a host bus adapter (HBA) interface card 935 A operative to connect with a Fibre Channel network 990, a host bus adapter (HBA) interface card 935B operative to connect to a SCSI bus 939, and an optical disk drive 940 operative to receive an optical disk 942. Also included are a mouse 946 (or other point-and-click device, coupled to bus 912 via serial port 928), a modem 947 (coupled to bus 912 via serial port 930), and a network interface 948 (coupled directly to bus 912).
[0041] Bus 912 allows data communication between central processor 914 and system memory 917, which may include read-only memory (ROM) or flash memory (neither shown), and random access memory (RAM) (not shown), as previously noted. The RAM is generally the main memory into which the operating system and application programs are loaded. The ROM or flash memory can contain, among other code, the Basic Input-Output system (BIOS) which controls basic hardware operation such as the interaction with peripheral components.
Applications resident with computer system 910 are generally stored on and accessed via a computer readable medium, such as a hard disk drive (e.g., fixed disk 944), an optical drive (e.g., optical drive 940), a floppy disk unit 937, or other storage medium. Additionally, applications can be in the form of electronic signals modulated in accordance with the application and data communication technology when accessed via network modem 947 or interface 948.
[0042] Storage interface 934, as with the other storage interfaces of computer system 910, can connect to a standard computer readable medium for storage and/or retrieval of information, such as a fixed disk drive 944. Fixed disk drive 944 may be a part of computer system 910 or may be separate and accessed through other interface systems. Modem 947 may provide a direct connection to a remote server via a telephone link or to the Internet via an internet service provider (ISP). Network interface 948 may provide a direct connection to a remote server via a direct network link to the Internet via a POP (point of presence). Network interface 948 may provide such connection using wireless techniques, including digital cellular telephone connection, Cellular Digital Packet Data (CDPD) connection, digital satellite data connection or the like.
[0043] The operation of a computer system such as that shown in Figure 9 is readily known in the art and is not discussed in detail in this application. Code for implementing a CRM can be stored in computer-readable storage media such as one or more of system memory 917, fixed disk 944, optical disk 942, or floppy disk 938. Memory 920 is also used for storing temporary variables or other intermediate information during the execution of instructions by the processor 910. The operating system provided on computer system 910 may be MS-DOS®, MS- WINDOWS®, OS/2®, UNIX®, Linux®, or another known operating system.
[0044] Although the invention has been described in connection with several embodiments, the invention is not intended to be limited to the specific forms set forth herein. On the contrary, it is intended to cover such alternatives, modifications, and equivalents as can be reasonably included within the scope of the invention as defined by the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A method comprising:
a mobile device rendering a page for display on a screen thereof in response to the mobile device receiving a serialized page definition via a wireless communication link, wherein the serialized page definition comprises first data and a first command that is bound to the first data, wherein the mobile device is configured to implement a first function when the first command is invoked by a user;
the mobile device implementing the first function in response to user invocation of the first command, wherein the first function is implemented using the first data.
2. The method of claim 1 further comprising:
a server serializing the page definition in response to the server receiving a request for the page from the mobile device via the wireless communication link, wherein the serializing comprises binding the first command to the first data; the server sending the serialized page to the mobile device via the wireless
communication link.
3. The method of claim 2 wherein the serializing comprises an act of reading the first data from a database in data communication with the server.
4. The method of claim 3 wherein the page definition comprises first metadata bound to a first instruction, wherein the first metadata corresponds to the first data, and the first instruction corresponds to the first command.
5. The method of claim 4 wherein serializing the page definition comprises an act of translating the first instruction into the first command.
6. The method of claim 1 wherein the page comprises a visual representation of the first data.
7. The method of claim 1 wherein the first data comprises an email address, and the first function comprises the mobile device sending an email to the email address.
8. The method of claim 1 wherein the first data comprises a telephone number and the first function comprises the mobile device initiating a telephone call to the telephone number.
9. A computer readable medium comprising executable instructions, wherein a mobile device implements a method in response to executing the instructions, the method comprising:
the mobile device rendering a page for display on a screen thereof in response to the
mobile device receiving a serialized page definition via a wireless communication link, wherein the serialized page definition comprises first data and a first command that is bound to the first data, wherein the mobile device is configured to implement a first function when the first command is invoked by a user;
the mobile device implementing the first function in response to user invocation of the first command, wherein the first function is implemented using the first data.
10. The computer readable medium of claim 9 wherein the first data comprises an email address and the first function comprises the mobile device sending an email to the email address.
1 1. The computer readable medium of claim 9 wherein the first data comprises a telephone number and the first function comprises the mobile device initiating a telephone call to the telephone number.
12. A computer readable medium comprising executable instructions, wherein a method is implemented in response to executing the instructions, the method comprising:
a server serializing a page definition in response to the server receiving a request for a page from a mobile device via a wireless communication link, wherein the serializing comprises binding a first command to first data, wherein the serialized page definition comprises first data and the first command that is bound to the first data, wherein the mobile device can implement a first function corresponding toe the first command;
the server sending the serialized page to the mobile device via the wireless
communication link.
13. The computer readable medium of claim 12 wherein the serializing comprises an act of reading the first data from a database in data communication with the server.
14. The computer readable medium of claim 13 wherein the page definition comprises first metadata bound to a first instruction, wherein the first metadata corresponds to the first data, and the first instruction corresponds to the first command.
15. The computer readable medium of claim 14 wherein serializing the page definition comprises an act of translating the first instruction into the first command.
16. A method comprising:
a server serializing a page definition in response to the server receiving a request for a page from a mobile device via a wireless communication link, wherein the serializing comprises binding a first command to first data, wherein the serialized page definition comprises first data and the first command that is bound to the first data, wherein the mobile device can implement a first function corresponding to the first command;
the server sending the serialized page to the mobile device via the wireless
communication link.
17. The computer readable medium of claim 16 wherein the serializing comprises an act of reading the first data from a database in data communication with the server.
18. The computer readable medium of claim 17 wherein the page definition comprises first metadata bound to a first instruction, wherein the first metadata corresponds to the first data, and the first instruction corresponds to the first command.
19. The computer readable medium of claim 18 wherein serializing the page definition comprises an act of translating the first instruction into the first command.
PCT/US2011/052179 2010-09-17 2011-09-19 Method and apparatus for binding mobile device functionality to an application definition WO2012037564A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP11788933.7A EP2616970A1 (en) 2010-09-17 2011-09-19 Method and apparatus for binding mobile device functionality to an application definition
CN201180044437.XA CN103119589B (en) 2010-09-17 2011-09-19 Method and apparatus for mobile device functionality to be tied to application definition

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US38415010P 2010-09-17 2010-09-17
US61/384,150 2010-09-17
US13/236,216 US20120071155A1 (en) 2010-09-17 2011-09-19 Method and Apparatus for Binding Mobile Device Functionality to an Application Definition
US13/236,216 2011-09-19

Publications (1)

Publication Number Publication Date
WO2012037564A1 true WO2012037564A1 (en) 2012-03-22

Family

ID=45818192

Family Applications (3)

Application Number Title Priority Date Filing Date
PCT/US2011/052129 WO2012037548A2 (en) 2010-09-17 2011-09-19 Method and apparatus for polymorphic serialization
PCT/US2011/052179 WO2012037564A1 (en) 2010-09-17 2011-09-19 Method and apparatus for binding mobile device functionality to an application definition
PCT/US2011/052148 WO2012037554A2 (en) 2010-09-17 2011-09-19 Method and apparatus for pre-rendering expected system response

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/US2011/052129 WO2012037548A2 (en) 2010-09-17 2011-09-19 Method and apparatus for polymorphic serialization

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/US2011/052148 WO2012037554A2 (en) 2010-09-17 2011-09-19 Method and apparatus for pre-rendering expected system response

Country Status (4)

Country Link
US (4) US9122767B2 (en)
EP (3) EP2616970A1 (en)
CN (3) CN103119586B (en)
WO (3) WO2012037548A2 (en)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9275165B2 (en) 2010-09-17 2016-03-01 Oracle International Corporation Method and apparatus for defining an application to allow polymorphic serialization
EP2616970A1 (en) 2010-09-17 2013-07-24 Oracle International Corporation Method and apparatus for binding mobile device functionality to an application definition
WO2012037572A1 (en) 2010-09-17 2012-03-22 Oracle International Corporation Recursive navigation in mobile customer relations management
CN103582873B (en) 2011-06-05 2017-07-14 苹果公司 System and method for showing the notice received from multiple applications
US8849829B2 (en) * 2011-12-06 2014-09-30 Google Inc. Trending search magazines
US9137690B2 (en) * 2012-09-18 2015-09-15 Tektronix, Inc. Multiple protocol session record mapper
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
US20150350146A1 (en) 2014-05-29 2015-12-03 Apple Inc. Coordination of message alert presentations across devices based on device modes
US10482461B2 (en) 2014-05-29 2019-11-19 Apple Inc. User interface for payments
EP3195098B1 (en) 2014-07-21 2024-10-23 Apple Inc. Remote user interface
US10339293B2 (en) 2014-08-15 2019-07-02 Apple Inc. Authenticated device used to unlock another device
WO2016036603A1 (en) 2014-09-02 2016-03-10 Apple Inc. Reduced size configuration interface
US10353912B2 (en) * 2014-10-10 2019-07-16 Salesforce.Com, Inc. Navigation of a data extraction graph of data and metadata from a data repository
US10216351B2 (en) 2015-03-08 2019-02-26 Apple Inc. Device configuration user interface
US20160358133A1 (en) 2015-06-05 2016-12-08 Apple Inc. User interface for loyalty accounts and private label accounts for a wearable device
US10459609B2 (en) * 2018-04-03 2019-10-29 Palantir Technologies Inc. Multi-stage data page rendering
CN108717437B (en) * 2018-05-16 2021-09-24 腾讯科技(深圳)有限公司 Search result display method and device and storage medium
US10887193B2 (en) 2018-06-03 2021-01-05 Apple Inc. User interfaces for updating network connection settings of external devices
US10681165B2 (en) 2018-09-11 2020-06-09 Palantir Technologies Inc. System architecture for enabling efficient inter-application communications
WO2020184739A1 (en) * 2019-03-08 2020-09-17 엘지전자 주식회사 Robot
AU2020239670B2 (en) 2019-05-06 2021-07-15 Apple Inc. Restricted operation of an electronic device
DK201970533A1 (en) 2019-05-31 2021-02-15 Apple Inc Methods and user interfaces for sharing audio
US11477609B2 (en) 2019-06-01 2022-10-18 Apple Inc. User interfaces for location-related communications
US11481094B2 (en) 2019-06-01 2022-10-25 Apple Inc. User interfaces for location-related communications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040204116A1 (en) * 2000-12-11 2004-10-14 Amir Ben-Efraim Playing of audio via voice calls initiated from visual navigation
US7139370B1 (en) * 2000-08-31 2006-11-21 Nortel Networks Limited Using hyperlinks to establish call sessions

Family Cites Families (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US6128621A (en) 1997-10-31 2000-10-03 Oracle Corporation Apparatus and method for pickling data
US6268856B1 (en) * 1998-09-08 2001-07-31 Webtv Networks, Inc. System and method for controlling delivery of content over a communications network
US6748569B1 (en) 1999-09-20 2004-06-08 David M. Brooke XML server pages language
US6763343B1 (en) 1999-09-20 2004-07-13 David M. Brooke Preventing duplication of the data in reference resource for XML page generation
US7007275B1 (en) 1999-10-21 2006-02-28 Unisys Corporation Method and apparatus for automatic execution of concatenated methods across multiple heterogeneous data sources
US7421432B1 (en) * 1999-12-15 2008-09-02 Google Inc. Hypertext browser assistant
US20030191685A1 (en) 2000-01-31 2003-10-09 Reese Jeffrey M. Method and system for event-centric user profiling and targeting
US6871346B1 (en) 2000-02-11 2005-03-22 Microsoft Corp. Back-end decoupled management model and management system utilizing same
US20060173873A1 (en) * 2000-03-03 2006-08-03 Michel Prompt System and method for providing access to databases via directories and other hierarchical structures and interfaces
US6925646B1 (en) 2000-04-20 2005-08-02 E★Trade Inheritance of object's properties and out of different application contexts in properties file objects
US7702995B2 (en) 2000-04-24 2010-04-20 TVWorks, LLC. Method and system for transforming content for execution on multiple platforms
US7747782B2 (en) 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
US6327628B1 (en) 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
CA2310943A1 (en) 2000-06-02 2001-12-02 Michael J. Sikorsky Methods, techniques, software and systems for providing context independent, protocol independent portable or reusable development tools
US7210099B2 (en) 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
US20020046240A1 (en) 2000-08-31 2002-04-18 Scott Graham Web server framework
US6501956B1 (en) 2000-10-17 2002-12-31 Intervoice Limited Partnership Providing blended interface for wireless information services
US6859820B1 (en) 2000-11-01 2005-02-22 Microsoft Corporation System and method for providing language localization for server-based applications
US7574486B1 (en) 2000-11-06 2009-08-11 Telecommunication Systems, Inc. Web page content translator
US7113935B2 (en) 2000-12-06 2006-09-26 Epicrealm Operating Inc. Method and system for adaptive prefetching
US20020078165A1 (en) 2000-12-14 2002-06-20 International Business Machines Corporation System and method for prefetching portions of a web page based on learned preferences
EP2267619A1 (en) 2000-12-22 2010-12-29 Research in Motion Limited Information browser system and method for a wireless communication device
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
US6964014B1 (en) 2001-02-15 2005-11-08 Networks Associates Technology, Inc. Method and system for localizing Web pages
US7174514B2 (en) * 2001-03-28 2007-02-06 Siebel Systems, Inc. Engine to present a user interface based on a logical structure, such as one for a customer relationship management system, across a web site
US7120639B1 (en) * 2001-06-27 2006-10-10 Microsoft Corporation Pluggable formatters
US7165239B2 (en) 2001-07-10 2007-01-16 Microsoft Corporation Application program interface for network software platform
US7546602B2 (en) 2001-07-10 2009-06-09 Microsoft Corporation Application program interface for network software platform
US7117504B2 (en) 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
AU2002334721B2 (en) 2001-09-28 2008-10-23 Oracle International Corporation An index structure to access hierarchical data in a relational database system
US20040110490A1 (en) * 2001-12-20 2004-06-10 Steele Jay D. Method and apparatus for providing content to media devices
WO2003073345A1 (en) 2002-02-21 2003-09-04 Blue Martini Software, Inc. Methods and systems for providing targeted marketing
US20100174717A1 (en) 2002-02-28 2010-07-08 Olivier Fambon Interative serialisation procedure for structured software objects
JP4047041B2 (en) 2002-03-19 2008-02-13 キヤノン株式会社 Information processing system, information processing apparatus, information processing method, and program for realizing the same
US7627534B2 (en) 2002-03-19 2009-12-01 Gomed Llc System and method for storing information for a wireless device
US8516114B2 (en) 2002-03-29 2013-08-20 International Business Machines Corporation Method and apparatus for content pre-fetching and preparation
US20060149624A1 (en) * 2004-12-30 2006-07-06 Shumeet Baluja Generating and/or serving local area advertisements, such as advertisements for devices with call functionality
US7490167B2 (en) 2002-05-22 2009-02-10 Sony Corporation System and method for platform and language-independent development and delivery of page-based content
US6987987B1 (en) 2002-07-03 2006-01-17 Sprint Spectrum L.P. Method and system for providing advanced notice of cost to access web content
US20070174330A1 (en) 2002-11-25 2007-07-26 Zdk Interactive Inc. Mobile report generation for multiple device platforms
US20040181467A1 (en) 2003-03-14 2004-09-16 Samir Raiyani Multi-modal warehouse applications
US7051042B2 (en) * 2003-05-01 2006-05-23 Oracle International Corporation Techniques for transferring a serialized image of XML data
US20050003810A1 (en) 2003-05-28 2005-01-06 Sun Microsystems, Inc. Method and system for optimizing software program start-up time
US7331038B1 (en) * 2003-07-02 2008-02-12 Amazon.Com, Inc. Predictive prefetching to improve parallelization of document generation subtasks
US7296022B2 (en) * 2003-07-14 2007-11-13 Microsoft Corporation Method and system for accessing a network database as a web service
US7506070B2 (en) 2003-07-16 2009-03-17 Sun Microsytems, Inc. Method and system for storing and retrieving extensible multi-dimensional display property configurations
US7831693B2 (en) 2003-08-18 2010-11-09 Oracle America, Inc. Structured methodology and design patterns for web services
US7236982B2 (en) 2003-09-15 2007-06-26 Pic Web Services, Inc. Computer systems and methods for platform independent presentation design
JP4348151B2 (en) 2003-09-19 2009-10-21 株式会社リコー Information processing apparatus and information processing method
US20050091272A1 (en) * 2003-10-23 2005-04-28 Smith Walter R. Contact management
US7483941B2 (en) 2004-01-13 2009-01-27 International Business Machines Corporation System and method for dynamically inserting prefetch tags by the web server
US7480894B2 (en) 2004-02-20 2009-01-20 International Business Machines Corporation Method and system for retaining formal data model descriptions between server-side and browser-side javascript objects
US7685155B2 (en) 2004-03-23 2010-03-23 Microsoft Corporation System and method of providing and utilizing an object schema to facilitate mapping between disparate domains
US20050273705A1 (en) 2004-06-08 2005-12-08 Fortellio, Llc Method and system for automatically creating network software applications
US20060059225A1 (en) 2004-09-14 2006-03-16 A9.Com, Inc. Methods and apparatus for automatic generation of recommended links
US7325014B1 (en) 2004-09-23 2008-01-29 Cranberry Technologies, Inc. Direct rendering of a web application from a database to a web browser
US7433887B2 (en) 2004-12-29 2008-10-07 Microsoft Corporation Method and apparatus for metadata driven business logic processing
US8069406B2 (en) 2005-02-11 2011-11-29 Flash Networks, Inc. Method and system for improving user experience while browsing
EP1851714A2 (en) 2005-02-16 2007-11-07 Videonline, Inc. Videonline security network architecture and methods therefor
EP1880316A1 (en) * 2005-05-11 2008-01-23 Nokia Corporation User-defined changing of page representations
US7461075B2 (en) 2005-05-20 2008-12-02 International Business Machines Corporation Method for updating XML schema registry using schema pass by value with message
US20060277271A1 (en) 2005-06-07 2006-12-07 Yahoo! Inc. Prefetching content based on a mobile user profile
KR100627718B1 (en) * 2005-06-15 2006-09-25 에스케이 텔레콤주식회사 Method and mobile communication terminal for providing function of hyperlink telephone number including short message service
US7907966B1 (en) 2005-07-19 2011-03-15 Aol Inc. System and method for cross-platform applications on a wireless phone
US20090100096A1 (en) 2005-08-01 2009-04-16 Phanfare, Inc. Systems, Devices, and Methods for Transferring Digital Information
US20070061779A1 (en) * 2005-09-13 2007-03-15 Bernd Dowedeit Method and System and Computer Program Product For Maintaining High Availability Of A Distributed Application Environment During An Update
US20070150610A1 (en) 2005-12-22 2007-06-28 Konstantin Vassilev Javascript relay
US20070208704A1 (en) 2006-03-06 2007-09-06 Stephen Ives Packaged mobile search results
US7774699B2 (en) 2006-03-10 2010-08-10 Oracle International Corporation Parallel data transformation
US7908611B2 (en) 2006-03-17 2011-03-15 Microsoft Corporation Unmanaged programming language interoperability with managed internet protocol context
US20080172608A1 (en) 2006-06-06 2008-07-17 Bellsouth Intellectual Property Corporation Site builder
US20070287413A1 (en) 2006-06-07 2007-12-13 Kleitsch Andrew H Method and system for mobile billing and content delivery
US20070300237A1 (en) 2006-06-22 2007-12-27 Tim Neil Facilitating access to application data at an application server by a wireless communication device
US20090005122A1 (en) 2006-07-10 2009-01-01 David Elliot Goldfarb Advertisement-based dialing
US9268873B2 (en) 2006-08-04 2016-02-23 Yahoo! Inc. Landing page identification, tagging and host matching for a mobile application
US20080072139A1 (en) 2006-08-20 2008-03-20 Robert Salinas Mobilizing Webpages by Selecting, Arranging, Adapting, Substituting and/or Supplementing Content for Mobile and/or other Electronic Devices; and Optimizing Content for Mobile and/or other Electronic Devices; and Enhancing Usability of Mobile Devices
JPWO2008041357A1 (en) * 2006-09-29 2010-02-04 株式会社Access Document processing apparatus and program
US8521832B1 (en) * 2006-10-04 2013-08-27 Yahoo! Inc. Mobile monetization
US8631041B2 (en) 2006-10-20 2014-01-14 Adobe Systems Incorporated Secondary lazy-accessible serialization of electronic content
US7523223B2 (en) 2006-11-16 2009-04-21 Sap Ag Web control simulators for mobile devices
US20080195936A1 (en) 2007-02-09 2008-08-14 Fortent Limited Presenting content to a browser
US20080201338A1 (en) 2007-02-16 2008-08-21 Microsoft Corporation Rest for entities
CA2578980A1 (en) 2007-02-19 2008-08-19 Cognos Incorporated System and method of report rendering
GB2438475A (en) 2007-03-07 2007-11-28 Cvon Innovations Ltd A method for ranking search results
GB2443582C (en) 2007-05-18 2009-09-03 Cvon Innovations Ltd Characteristic identifying system and method.
US7921187B2 (en) 2007-06-28 2011-04-05 Apple Inc. Newsreader for mobile device
WO2009001137A1 (en) 2007-06-28 2008-12-31 Taptu Ltd Interactive web scraping of online content for search and display on mobile devices
US20090003603A1 (en) 2007-06-29 2009-01-01 Metabeam Corporation Platform Independent Networked Communications
CN101102363A (en) * 2007-07-09 2008-01-09 成都耀邦科技有限责任公司 Method for embedding number in webpage of visual terminal and automatically switching to call status
CN101110819A (en) * 2007-08-03 2008-01-23 中国网络通信集团公司 Method for improving switching speed when browsing pages
WO2009032225A1 (en) * 2007-08-28 2009-03-12 Sugarcrm Inc. Crm system and method having drilldowns, acls, shared folders, a tracker and a module builder
WO2009040574A1 (en) 2007-09-24 2009-04-02 Taptu Ltd Search results with search query suggestions
US7917584B2 (en) * 2007-10-22 2011-03-29 Xcerion Aktiebolag Gesture-based collaboration
US8131875B1 (en) 2007-11-26 2012-03-06 Adobe Systems Incorporated Device profile assignment based on device capabilities
US8326873B2 (en) 2008-01-09 2012-12-04 Credit Suisse Securities (Usa) Llc Enterprise architecture system and method
US20100299438A1 (en) 2008-01-21 2010-11-25 Gottfried Zimmerman Online resource server for allowing device control and access to digital content trhough pluggable user interfaces
US7949780B2 (en) 2008-01-29 2011-05-24 Oracle America, Inc. Adaptive flow control techniques for queuing systems with multiple producers
US8135707B2 (en) * 2008-03-27 2012-03-13 Yahoo! Inc. Using embedded metadata to improve search result presentation
WO2009134927A2 (en) * 2008-04-29 2009-11-05 Sugarcrm, Inc. Business software application system and method
JP4577422B2 (en) 2008-07-14 2010-11-10 ソニー株式会社 Information processing system and information processing method, robot control system and control method, and computer program
US8156419B2 (en) * 2008-07-17 2012-04-10 International Business Machines Corporation Intelligent preloads of views and asynchronous loading of models using the MVC design pattern
JP4733167B2 (en) 2008-08-20 2011-07-27 フェリカネットワークス株式会社 Information processing apparatus, information processing method, information processing program, and information processing system
US8763008B2 (en) 2008-09-30 2014-06-24 Ebay Inc. System and method for processing messages using native data serialization/deserialization in a service-oriented pipeline architecture
CN101727446A (en) * 2008-10-27 2010-06-09 国际商业机器公司 Method and system for accessing mobile Web, corresponding server and mobile equipment
US7952500B2 (en) * 2009-01-27 2011-05-31 Tatu Ylonen Oy Serialization of shared and cyclic data structures using compressed object encodings
US20100235329A1 (en) * 2009-03-10 2010-09-16 Sandisk Il Ltd. System and method of embedding second content in first content
US9311425B2 (en) 2009-03-31 2016-04-12 Qualcomm Incorporated Rendering a page using a previously stored DOM associated with a different page
US20100299588A1 (en) 2009-05-21 2010-11-25 Michael Joseph Dattilo Method and system for providing interaction between a host system and web pages
US8886760B2 (en) 2009-06-30 2014-11-11 Sandisk Technologies Inc. System and method of predictive data acquisition
US8321533B2 (en) 2009-08-03 2012-11-27 Limelight Networks, Inc. Systems and methods thereto for acceleration of web pages access using next page optimization, caching and pre-fetching techniques
US8473688B2 (en) 2010-03-26 2013-06-25 Microsoft Corporation Anticipatory response pre-caching
EP2561451A4 (en) 2010-04-19 2018-02-07 Hewlett Packard Development Company, L.P. Segmenting a web page into coherent functional blocks
US20120047445A1 (en) 2010-08-20 2012-02-23 Salesforce.Com, Inc. Pre-fetching pages and records in an on-demand services environment
US9275165B2 (en) 2010-09-17 2016-03-01 Oracle International Corporation Method and apparatus for defining an application to allow polymorphic serialization
WO2012037572A1 (en) 2010-09-17 2012-03-22 Oracle International Corporation Recursive navigation in mobile customer relations management
EP2616970A1 (en) 2010-09-17 2013-07-24 Oracle International Corporation Method and apparatus for binding mobile device functionality to an application definition
EP2616968A1 (en) 2010-09-17 2013-07-24 Oracle International Corporation Method and apparatus for choosing resources based on context and inheritance
US8386955B1 (en) 2011-10-21 2013-02-26 Google Inc. User-optimized content for web browsing windows

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139370B1 (en) * 2000-08-31 2006-11-21 Nortel Networks Limited Using hyperlinks to establish call sessions
US20040204116A1 (en) * 2000-12-11 2004-10-14 Amir Ben-Efraim Playing of audio via voice calls initiated from visual navigation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JONES, ROBERT: "Creating Web Content for Mobile Phone Browsers, Part 1", 6 February 2004 (2004-02-06), INTERNET, pages 1 - 7, XP002665951, Retrieved from the Internet <URL:http://web.archive.org/web/20040309015955/http://www.oreillynet.com/lpt/a/4598> [retrieved on 20111216] *

Also Published As

Publication number Publication date
EP2616970A1 (en) 2013-07-24
WO2012037554A2 (en) 2012-03-22
CN103119586B (en) 2016-10-19
US20120072498A1 (en) 2012-03-22
EP2616955A2 (en) 2013-07-24
US9026583B2 (en) 2015-05-05
CN103119586A (en) 2013-05-22
US20120071155A1 (en) 2012-03-22
WO2012037548A2 (en) 2012-03-22
CN103119589A (en) 2013-05-22
US8942679B2 (en) 2015-01-27
CN103119588A (en) 2013-05-22
CN103119588B (en) 2017-04-05
US9122767B2 (en) 2015-09-01
WO2012037554A3 (en) 2012-09-20
US20120071146A1 (en) 2012-03-22
EP2616947A2 (en) 2013-07-24
US20120072477A1 (en) 2012-03-22
CN103119589B (en) 2017-10-27
WO2012037548A3 (en) 2012-08-30

Similar Documents

Publication Publication Date Title
US20120071155A1 (en) Method and Apparatus for Binding Mobile Device Functionality to an Application Definition
US11799984B2 (en) Installable web applications
US10528232B2 (en) Automatic lifecycle management for pages on a mobile application
CN115174733B (en) Interface display method, device and equipment
US8788269B2 (en) Satisfying specified intent(s) based on multimodal request(s)
US20120079009A1 (en) Method and apparatus for choosing resources based on context and inheritance
US9275165B2 (en) Method and apparatus for defining an application to allow polymorphic serialization
CN109074278B (en) Validating stateful dynamic links in mobile applications
US20120323950A1 (en) Embedded query formulation service
US20130290851A1 (en) User interface web services
US20130179414A1 (en) Mechanisms for connecting files between applications
US9741060B2 (en) Recursive navigation in mobile CRM
US20240053996A1 (en) Bridging ui elements across multiple operating systems
EP3853725A1 (en) Connected application experience
CN114026540A (en) System and method for supporting and negotiating multiple API versions across multiple products
WO2016209717A1 (en) Integration and synchronization using a virtual data provider
CN118484816A (en) Data access right control method and device
CN116841432A (en) Method for dynamically displaying third party application view list option corner marks and intelligent device

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180044437.X

Country of ref document: CN

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

Ref document number: 11788933

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011788933

Country of ref document: EP