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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72469—User 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data 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
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.
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)
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)
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)
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 |
-
2011
- 2011-09-19 EP EP11788933.7A patent/EP2616970A1/en not_active Ceased
- 2011-09-19 CN CN201180044400.7A patent/CN103119586B/en active Active
- 2011-09-19 CN CN201180044437.XA patent/CN103119589B/en active Active
- 2011-09-19 WO PCT/US2011/052129 patent/WO2012037548A2/en active Application Filing
- 2011-09-19 US US13/235,990 patent/US9122767B2/en active Active
- 2011-09-19 WO PCT/US2011/052179 patent/WO2012037564A1/en active Application Filing
- 2011-09-19 US US13/235,729 patent/US9026583B2/en active Active
- 2011-09-19 EP EP11824321.1A patent/EP2616947A2/en not_active Ceased
- 2011-09-19 US US13/236,216 patent/US20120071155A1/en not_active Abandoned
- 2011-09-19 CN CN201180044423.8A patent/CN103119588B/en active Active
- 2011-09-19 US US13/235,715 patent/US8942679B2/en active Active
- 2011-09-19 EP EP11826076.9A patent/EP2616955A2/en not_active Ceased
- 2011-09-19 WO PCT/US2011/052148 patent/WO2012037554A2/en active Application Filing
Patent Citations (2)
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)
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 |