IP Library Granted Patent US 10,764,401
Granted Patent B2
US 10,764,401 · App. 15/886,345 · Granted Sep 1, 2020

Dynamic presentation

Inventor: Sanjib Sahoo (Naperville, IL)
Assignee: E*TRADE Financial Corporation
H04L67/42G06F9/505G06F9/5072G06F11/1458G06F2209/509H04L43/0876H04L67/1091
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,764,401
App. No.
15/886,345
Granted
Sep 1, 2020
Kind
B2
Abstract

The disclosed embodiments relate to provisioning of a service, such as a financial service, to a device, such as a mobile device operative to access the service wirelessly or otherwise, in a manner which efficiently provides a consistent user experience which meets a user's expectations as to the functionality and quality of the service, including the user interface therefore and service delivery, which leverages the available capacities of the devices through which the service is provided so as to maximize the functionality and quality of the provided service without diminishing the experience, i.e. without substantially reducing the quality or functionality.

Claims (68)

1. A computer implemented method of dynamically provisioning a set of functions to a device to facilitate access to a service by a user thereof, the method comprising:

storing, by a processor, a set of user interface components in a memory coupled with the processor, subsets thereof being operative to implement at least one of the set of functions to facilitate access to at least a portion of the service, each of the set of user interface components being characterized by at least one requisite capability of the device necessary for optimal execution thereof by the device;

receiving, by the processor, a request from the device to access the service, the device being characterized by at least one capability and a currently available portion thereof;

identifying, by the processor based on the received request, the at least one capability of the device and the currently available portion thereof;

determining, by the processor based on the identified capability and the currently available portion thereof, a subset of user interface components of the set of user interface components, each characterized by the at least one requisite capability of the device satisfied by the currently available portion of the capability of the device;

assembling, by the processor, a user interface to facilitate access to the service based on the determined subset of user interface components;

providing, by the processor, the assembled user interface to the device such that the device may facilitate use of the functions implemented thereby by the user of the device to access at least a portion of the service enabled thereby;

receiving, by the processor, another subsequent request from the device to access the service, the device being characterized by at least one capability and a currently available portion thereof different from the previous available portion;

identifying, by the processor based on the received subsequent request, the at least one capability of the device and the currently available portion thereof;

determining, by the processor based on the identified capability and the currently available portion thereof, another subset of user interface components of the set of user interface components, each characterized by the at least one requisite capability of the device satisfied by the currently available portion of the capability of the device;

assembling, by the processor, another user interface to facilitate access to the service based on the determined other subset of user interface components; and

providing, by the processor, the assembled other user interface to the device such that the device may facilitate use of the functions implemented thereby by the user of the device to access at least a portion of the service enabled thereby; and

reevaluating, by the processor, the available portion of the at least one capability and repeating the determining, assembling and providing based thereon.

2. The computer implemented method of claim 1 further comprising indicating, by the processor, to the user one or more of the set of user interface components not included in the subset.

3. A computer implemented method of dynamically provisioning a set of functions to a device to facilitate access to a service by a user thereof, the method comprising:

storing, by a processor, a set of user interface components in a memory coupled with the processor, subsets thereof being operative to implement at least one of the set of functions to facilitate access to at least a portion of the service, each of the set of user interface components being characterized by at least one requisite capability of the device necessary for optimal execution thereof by the device, wherein at least two of the user interface components of the set of user interface components facilitate access to at least the same portion of the service, each of the at least two user interface components being characterized by at least one requisite capability of the device different from the other of the at least two user interface components;

receiving, by the processor, a request from the device to access the service, the device being characterized by at least one capability and a currently available portion thereof;

identifying, by the processor based on the received request, the at least one capability of the device and the currently available portion thereof;

determining, by the processor based on the identified capability and the currently available portion thereof, a subset of user interface components of the set of user interface components, each characterized by the at least one requisite capability of the device satisfied by the currently available portion of the capability of the device;

assembling, by the processor, a user interface to facilitate access to the service based on the determined subset of user interface components;

providing, by the processor, the assembled user interface to the device such that the device may facilitate use of the functions implemented thereby by the user of the device to access at least a portion of the service enabled thereby;

receiving, by the processor, a request from another device to access the service, the other device being characterized by at least one capability and a currently available portion thereof different from the device;

identifying, by the processor based on the received request from the other device, the at least one capability of the other device and the currently available portion thereof;

determining, by the processor based on the identified capability and the currently available portion thereof of the other device, another subset of user interface components of the set of user interface components, each characterized by the at least one requisite capability of the device satisfied by the currently available portion of the capability of the device;

assembling, by the processor, another user interface to facilitate access to the service based on the determined other subset of user interface components; and

providing, by the processor, the assembled other user interface to the other device such that the other device may facilitate use of the functions implemented thereby by the user of the other device to access at least a portion of the service enabled thereby.

4. The computer implemented method of claim 3 wherein the device from which the request is received comprises a mobile device operative to access the service wirelessly.

5. The computer implemented method of claim 3 wherein at least one of the subset of user interface components is operative to provide the service to which access is facilitated.

6. The computer implemented method of claim 3 wherein the service to which access is facilitated is provided remotely from the device from which the request is received.

7. The computer implemented method of claim 3 wherein each of the user interface components of the set of user interface components comprises a computer program executable by the device.

8. The computer implemented method of claim 3 wherein the at least one capability of the device comprises display size, display resolution, available output devices, available input devices, available geo-locating device, communications capability, power capacity, processing capacity, operating memory capacity, storage capacity, or combinations thereof.

9. The computer implemented method of claim 3 wherein the identifying further comprises defining a plurality of device classifications each characterized by a unique combination of device capabilities and further determining to which of the plurality of classifications the device, from which the request was received, belongs, the determined classification defining the at least one capability.

10. The computer implemented method of claim 3 further comprising receiving, by the processor from the user of the device from which the request was received, a specification of a portion of the at least one capability which may be utilized to facilitate access to the service, the determining further comprising determining, by the processor based on the identified capability and the user specified portion thereof, a subset of user interface components of the set of user interface components, each characterized by the at least one requisite capability of the device satisfied by the user specified portion of the capability of the device.

11. A system for dynamically provisioning a set of functions to a device to facilitate access to a service by a user thereof, the system comprising a non-transitory memory and a processor coupled therewith, the system further comprising:

a set of user interface components stored in the non-transitory memory, subsets thereof being operative to implement at least one of the set of functions to facilitate access to at least a portion of the service, each of the set of user interface components being characterized by at least one requisite capability of the device necessary for optimal execution thereof by the device, wherein at least two of the user interface components of the set of user interface components facilitate access to at least the same portion of the service, each of the at least two user interface components being characterized by at least one requisite capability of the device different from the other of the at least two user interface components;

first logic stored in the non-transitory memory and executable by the processor to cause the processor to receive a request from the device to access the service, the device being characterized by at least one capability and a currently available portion thereof;

second logic stored in the non-transitory memory and executable by the processor to cause the processor to identify, based on the received request, the at least one capability of the device and the currently available portion thereof;

third logic stored in the non-transitory memory and executable by the processor to cause the processor to determine, based on the identified capability and the currently available portion thereof, a subset of user interface components of the set of user interface components, each characterized by the at least one requisite capability of the device satisfied by the currently available portion of the capability of the device;

fourth logic stored in the non-transitory memory and executable by the processor to cause the processor to assemble a user interface to facilitate access to the service based on the determined subset of user interface components; and

fifth logic stored in the non-transitory memory and executable by the processor to cause the processor to provide the assembled user interface to the device such that the device may facilitate use of the functions implemented thereby by the user of the device to access at least a portion of the service enabled thereby; and wherein

the first logic is further executable by the processor to cause the processor to receive another subsequent request from the device to access the service, the device being characterized by at least one capability and a currently available portion thereof different from the previous available portion;

the second logic is further executable by the processor to cause the processor to identify, based on the received subsequent request, the at least one capability of the device and the currently available portion thereof;

the third logic is further executable by the processor to cause the processor to determine, based on the identified capability and the currently available portion thereof, another subset of user interface components of the set of user interface components, each characterized by the at least one requisite capability of the device satisfied by the currently available portion of the capability of the device;

the fourth logic is further executable by the processor to cause the processor to assemble another user interface to facilitate access to the service based on the determined other subset of user interface components; and

the fifth logic is further executable by the processor to cause the processor to provide the assembled other user interface to the device such that the device may facilitate use of the functions implemented thereby by the user of the device to access at least a portion of the service enabled thereby.

12. A system for dynamically provisioning a set of functions to a device to facilitate access to a service by a user thereof, the system comprising a non-transitory memory and a processor coupled therewith, the system further comprising:

a set of user interface components stored in the non-transitory memory, subsets thereof being operative to implement at least one of the set of functions to facilitate access to at least a portion of the service, each of the set of user interface components being characterized by at least one requisite capability of the device necessary for optimal execution thereof by the device;

first logic stored in the non-transitory memory and executable by the processor to cause the processor to receive a request from the device to access the service, the device being characterized by at least one capability and a currently available portion thereof;

second logic stored in the non-transitory memory and executable by the processor to cause the processor to identify, based on the received request, the at least one capability of the device and the currently available portion thereof;

third logic stored in the non-transitory memory and executable by the processor to cause the processor to determine, based on the identified capability and the currently available portion thereof, a subset of user interface components of the set of user interface components, each characterized by the at least one requisite capability of the device satisfied by the currently available portion of the capability of the device;

fourth logic stored in the non-transitory memory and executable by the processor to cause the processor to assemble a user interface to facilitate access to the service based on the determined subset of user interface components; and

fifth logic stored in the non-transitory memory and executable by the processor to cause the processor to provide the assembled user interface to the device such that the device may facilitate use of the functions implemented thereby by the user of the device to access at least a portion of the service enabled thereby; and

wherein the first logic is further executable by the processor to cause the processor to receive a request from another device to access the service, the other device being characterized by at least one capability and a currently available portion thereof different from the device;

the second logic is further executable by the processor to cause the processor to identify, based on the received request from the other device, the at least one capability of the other device and the currently available portion thereof;

the third logic is further executable by the processor to cause the processor to determine, based on the identified capability and the currently available portion thereof of the other device, another subset of user interface components of the set of user interface components, each characterized by the at least one requisite capability of the device satisfied by the currently available portion of the capability of the other device;

the fourth logic is further executable by the processor to cause the processor to assemble another user interface to facilitate access to the service based on the determined other subset of user interface components;

the fifth logic is further executable by the processor to cause the processor to provide the assembled other user interface to the other device such that the other device may facilitate use of the functions implemented thereby by the user of the other device to access at least a portion of the service enabled thereby; and

the second logic is further executable by the processor to cause the processor to reevaluate the available portion of the at least one capability and cause the third, fourth, fifth and sixth logic to be reexecuted by the processor based thereon.

13. The system of claim 12 wherein the device from which the request is received comprises a mobile device operative to access the service wirelessly.

14. The system of claim 12 wherein at least one of the subset of user interface components is operative to provide the service to which access is facilitated.

15. The system of claim 12 wherein the service to which access is facilitated is provided remotely from the device from which the request is received.

16. The system of claim 12 wherein at least two of the user interface components of the set of user interface components facilitate access to at least the same portion of the service, each of the at least two user interface components being characterized by at least one requisite capability of the device different from the other of the at least two user interface components.

17. The system of claim 12 wherein each of the user interface components of the set of user interface components comprises a computer program executable by the device.

18. The system of claim 12 wherein the at least one capability of the device comprises display size, display resolution, available output devices, available input devices, available geo-locating device, communications capability, power capacity, processing capacity, operating memory capacity, storage capacity, or combinations thereof.

19. The system of claim 12 wherein the second logic is further executable by the processor to cause the processor to define a plurality of device classifications each characterized by a unique combination of device capabilities and further determining to which of the plurality of classifications the device, from which the request was received, belongs, the determined classification defining the at least one capability.

20. The system of claim 12 wherein the first logic is further executable by the processor to cause the processor to receive, from the user of the device from which the request was received, a specification of a portion of the at least one capability which may be utilized to facilitate access to the service, the third logic being further executable by the processor to cause the processor to determine, based on the identified capability and the user specified portion thereof, a subset of user interface components of the set of user interface components, each characterized by the at least one requisite capability of the device satisfied by the user specified portion of the capability of the device.

21. The system of claim 12 wherein the fifth logic is further executable by the processor to cause the processor to indicate to the user one or more of the set of user interface components not included in the subset.

22. A system for dynamically provisioning a user interface to a device to facilitate access to a service by a user thereof, the system comprising a non-transitory memory having computer executable instructions stored therein and a processor coupled therewith, the computer executable instructions being executable by the processor to cause the processor to receive a request from the device to access the service, identify, based on the request, at least one capability of the device and a currently available portion thereof, determine a set of user interface components, each of which is operative to facilitate access to at least a portion of the service and which is optimally executable by the device within the available portion of the at least one capability of the device, assemble the set of determined user interface components into the user interface, provide the user interface to the device whereby the user may utilize the user interface to access the service, receive another request from another device to access the service, identify, based on the other request, at least one capability of the other device and a currently available portion thereof, determine a set of user interface components, each of which is operative to facilitate access to at least a portion of the service and which is optimally executable by the other device within the available portion of the at least one capability of the other device, assemble the set of determined user interface components into the user interface, provide the user interface to the other device, and indicate to the user one or more of the set of user interface components not included in the set, whereby the user may utilize the user interface to access the service.

Assignments (8)
MERGER Recorded Feb 7, 2022
From: E*TRADE FINANCIAL HOLDINGS, LLC
To: MORGAN STANLEY DOMESTIC HOLDINGS, INC.
Reel/Frame 058962/0362 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2022
From: MORGAN STANLEY DOMESTIC HOLDINGS, INC.
To: MORGAN STANLEY SERVICES GROUP INC.
Reel/Frame 058962/0377 →
MERGER Recorded Feb 3, 2021
From: E*TRADE FINANCIAL, LLC
To: E*TRADE FINANCIAL HOLDINGS, LLC
Reel/Frame 055132/0185 →
MERGER AND CHANGE OF NAME Recorded Feb 3, 2021
From: E*TRADE FINANCIAL CORPORATION; MOON-EAGLE MERGER SUB II, LLC
To: E*TRADE FINANCIAL, LLC
Reel/Frame 055132/0119 →
CHANGE OF ADDRESS Recorded Jun 12, 2020
From: E*TRADE FINANCIAL CORPORATION
To: E*TRADE FINANCIAL CORPORATION
Reel/Frame 052930/0193 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2018
From: SAHOO, SANJIB
To: OPTIONMONSTER HOLDINGS, INC.
Reel/Frame 044803/0137 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2018
From: TRADEMONSTER GROUP, INC.
To: E*TRADE FINANCIAL CORPORATION
Reel/Frame 044803/0236 →
CHANGE OF NAME Recorded Feb 1, 2018
From: OPTIONMONSTER HOLDINGS, INC.
To: TRADEMONSTER GROUP, INC.
Reel/Frame 045227/0701 →
Continuity (2)
Continuation 13725145 · Dec 21, 2012
Related Publication 20180159961A1 · Jun 7, 2018