IP Library Patent Application 14269888
Patent Application
App. No. 14/269,888

DATA VIEW EXPOSURE MECHANISMS

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 None
App. No.
14/269,888
Abstract

The use of a data view component to expose data to a user interface element display logic component. The data exposed by the data view component is from a data set within the data cache. The data view component is able to expose that data due to a binding with the data set. The data view component may improve the user experience by exposing a default data set (such as a null data set) until the requested data set is available, expose only the latest requested data set when there are multiple requests, quickly switch bindings from one data set to another, and/or safely release the binding once the user interface element display logic component ceases to exist.

Claims (82)

1 .- 20 . (canceled)

21 . A computer-implemented method performed by one or more processors of a computing system which includes a memory containing computer-executable instructions which cause the one or more processors to perform the computer-implemented method, and wherein the computer-implemented method is used to control display of requested data to user in a manner that improves the user experience, the computer-implemented method comprising:

storing within a computing system a data cache comprised of a plurality of data sets;

the one or more processors initiating within the computing system a user interface (UI) control, a display logic component and a data view component;

receiving at the data view component a request to access the stored data cache for a particular data set; and

the data view component performing at least one of the following actions:

while waiting to bind to the requested particular data set from the data cache, causing a default data set to be exposed at the UI control until the requested particular data set is ready to bind and is then available from the data cache after binding;

while waiting to bind to the requested particular data set from the data cache, causing a second data set that is requested after the requested particular data set to be exposed at the UI control before the requested particular data set;

switching bindings from the requested particular data set to a different requested data set; and

releasing a binding to the requested particular data set once the display logic component is no longer running due to closing a UI element in the UI control.

22 . The computer-implemented method as defined in claim 21 , wherein, while waiting to bind the requested particular data set from the data cache, the view component performs the action of causing a default data set to be exposed at the UI control until the requested particular data set is ready to bind and is then available from the data cache after binding, and wherein causing the default data set to be exposed at the UI control comprises:

the data view component inputting to the display logic component a null data set which serves as the default data set;

the display logic component inputting the null data set to the UI control for display;

receiving at the data view component an indication that the requested particular data set is ready to bind; and

the data view component binding the requested particular data set and then exposing the requested particular data set to the display logic component to be formatted, and then input to the UI control for display.

23 . The computer-implemented method as defined in claim 22 , further comprising causing the default data set to no longer be exposed to the UI control once the requested particular data set is ready to be exposed to the UI control.

24 . The computer-implemented method as defined in claim 21 , wherein the default data set is of the same type as the requested particular data set.

25 . The computer-implemented method as defined in claim 21 , wherein the display logic component is a view model.

26 . The computer-implemented method as defined in claim 21 , wherein, while waiting to bind the requested particular data set from the data cache, the view component performs the action of causing a second data set that is requested after the requested particular data set to be exposed at the UI control before the requested particular data set, and wherein causing the second data set to be exposed comprises:

issuing from the data view component to the data cache a first request to bind to the requested particular data set;

while the data view component has not yet been bound to the requested particular data set, the data view component receiving the request to access the second data set;

issuing from the data view component to the data cache a second request to bind to the second data set; and

after issuing the second request to bind to the second data set, the data view component refraining from honoring responses to the first request to bind to the requested particular data set and instead binding to the second data set.

27 . The computer-method as defined in claim 26 , wherein the requested particular data set is not located in the data cache at the time of the first request to bind.

28 . The computer-method as defined in claim 27 , wherein the second data set is located in the data cache at the time of the second request to bind.

29 . The method in accordance with claim 27 , wherein the second data set is not located in the data cache at the time of the second request to bind.

30 . The computer-implemented method as defined in claim 21 , wherein the view component performs the action of switching bindings from the requested particular data set to a different requested data set, and wherein switching bindings is performed by:

the data view component constructing a reference which points to the requested particular data set;

the data view component using the constructed reference to bind the requested particular data set;

after the data view component binds to the requested particular data set, receiving at the data view component a second request to access a second data set;

the data view component thereafter switching the constructed reference so that the constructed reference refers to the second data set; and

the data view component thereafter using the constructed reference to bind to the second data set.

31 . The computer-implemented method as defined in claim 30 , wherein references for any of the plurality of data sets within the data cache are monitored at the data cache.

32 . The computer-implemented method as defined in claim 31 , the data cache maintains a reference count for each of the data sets.

33 . The computer-implemented method as defined in claim 32 , wherein the reference count is used to determine when a data set is to be evicted from the data cache.

34 . The computer-implemented method as defined in claim 21 , wherein the view component performs the action of releasing a binding to the requested particular data set once the display logic component is no longer running due to closing a UI element in the UI control, and wherein releasing the binding comprises:

receiving at the data view component a lifetime reference object from the display logic component, the lifetime reference object being passed to the data view component as a parameter in the request for the particular data set;

the data view component binding to the requested particular data set in response to the request;

the data view component receiving notice that the display logic component no longer exists by virtue of the data view component possessing the lifetime reference object; and

the data view component thereafter releasing the binding to the requested particular data set.

35 . A computer program product comprised of one or more storage devices containing computer-executable instructions which, when executed, cause one or more processors of a computing system to perform a computer-implemented method used to control display of requested data to user in a manner that improves the user experience, and wherein the computer-implemented method comprises:

storing within a computing system a data cache comprised of a plurality of data sets;

the one or more processors initiating within the computing system a user interface (UI) control, a display logic component and a data view component;

receiving at the data view component a request to access the stored data cache for a particular data set; and

the data view component performing at least one of the following actions:

while waiting to bind to the requested particular data set from the data cache, causing a default data set to be exposed at the UI control until the requested particular data set is ready to bind and is then available from the data cache after binding;

while waiting to bind to the requested particular data set from the data cache, causing a second data set that is requested after the requested particular data set to be exposed at the UI control before the requested particular data set;

switching bindings from the requested particular data set to a different requested data set; and

releasing a binding to the requested particular data set once the display logic component is no longer running due to closing a UI element in the UI control.

36 . The computer program product as defined in claim 35 , wherein, while waiting to bind the requested particular data set from the data cache, the view component performs the action of causing a default data set to be exposed at the UI control until the requested particular data set is ready to bind and is then available from the data cache after binding, and wherein causing the default data set to be exposed at the UI control comprises:

the data view component inputting to the display logic component a null data set which serves as the default data set;

the display logic component inputting the null data set to the UI control for display;

receiving at the data view component an indication that the requested particular data set is ready to bind; and

the data view component binding the requested particular data set and then exposing the requested particular data set to the display logic component to be formatted, and then input to the UI control for display.

37 . The computer program product as defined in claim 35 , wherein, while waiting to bind the requested particular data set from the data cache, the view component performs the action of causing a second data set that is requested after the requested particular data set to be exposed at the UI control before the requested particular data set, and wherein causing the second data set to be exposed comprises:

issuing from the data view component to the data cache a first request to bind to the requested particular data set;

while the data view component has not yet been bound to the requested particular data set, the data view component receiving the request to access the second data set;

issuing from the data view component to the data cache a second request to bind to the second data set; and

after issuing the second request to bind to the second data set, the data view component refraining from honoring responses to the first request to bind to the requested particular data set and instead binding to the second data set.

38 . The computer program product as defined in claim 35 , wherein the view component performs the action of switching bindings from the requested particular data set to a different requested data set, and wherein switching bindings is performed by:

the data view component constructing a reference which points to the requested particular data set;

the data view component using the constructed reference to bind the requested particular data set;

after the data view component binds to the requested particular data set, receiving at the data view component a second request to access a second data set;

the data view component thereafter switching the constructed reference so that the constructed reference refers to the second data set; and

the data view component thereafter using the constructed reference to bind to the second data set.

39 . The computer program product as defined in claim 35 , wherein the view component performs the action of releasing a binding to the requested particular data set once the display logic component is no longer running due to closing a UI element in the UI control, and wherein releasing the binding comprises:

receiving at the data view component a lifetime reference object from the display logic component, the lifetime reference object being passed to the data view component as a parameter in the request for the particular data set;

the data view component binding to the requested particular data set in response to the request;

the data view component receiving notice that the display logic component no longer exists by virtue of the data view component possessing the lifetime reference object; and

the data view component thereafter releasing the binding to the requested particular data set.

40 . A computer system comprising:

one or more processors;

a display;

system memory containing computer-executable instructions which, when executed, cause the one or more processors to perform a computer-implemented method used to control display of requested data to user in a manner that improves the user experience, and wherein the computer-implemented method comprises:

storing within a computing system a data cache comprised of a plurality of data sets;

the one or more processors initiating within the computing system a user interface (UI) control, a display logic component and a data view component;

receiving at the data view component a request to access the stored data cache for a particular data set; and

the data view component performing at least one of the following actions:

while waiting to bind to the requested particular data set from the data cache, causing a default data set to be exposed at the UI control until the requested particular data set is ready to bind and is then available from the data cache after binding;

while waiting to bind to the requested particular data set from the data cache, causing a second data set that is requested after the requested particular data set to be exposed at the UI control before the requested particular data set;

switching bindings from the requested particular data set to a different requested data set; and

releasing a binding to the requested particular data set once the display logic component is no longer running due to closing a UI element in the UI control.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2014
From: OLENICK, BRAD; BECKWITH, JUSTIN; KANCLERZ, MARCIN; SANDERSON, STEVEN
To: MICROSOFT CORPORATION
Reel/Frame 032824/0074 →